应用场景的快速切换方法、装置、电子设备和存储介质与流程

文档序号:32434396发布日期:2022-12-06 17:05阅读:42来源:国知局
应用场景的快速切换方法、装置、电子设备和存储介质与流程

1.本公开涉及电子设备技术领域,尤其涉及一种应用场景的快速切换方法、一种应用场景的快速切换装置、一种电子设备和一种非临时性计算机可读存储介质。


背景技术:

2.随着电子设备的不断发展,对于电子设备之间互联互通的要求也越来越高。例如,在家居环境中,用户通过移动终端如手机可以调用其他智能设备的硬件资源,如通过手机调用智能电视机的显示屏进行投屏,或者通过手机调用智能音箱的喇叭进行播放。
3.目前,在相关技术中,用户需要安装投屏的调用app(application,应用程序)才能够调用智能电视的显示屏进行投屏;需要安装播放的调用app才能够调用智能音响的喇叭进行播放。然而,随着智能化要求的不断提高,智能设备之间的交互越来越频繁,用户对应用场景切换的速度也有了新的要求。
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.图1是根据本公开实施例的应用场景的快速切换方法的流程图;
29.图2是根据本公开一个实施例的应用场景-容器-虚拟机的示意图;
30.图3是根据本公开一个具体实施例的显示终端中应用场景布置的示意图;
31.图4是根据本公开另一个具体实施例的显示终端中应用场景布置的示意图;
32.图5是根据本公开一个具体实施例的应用场景的快速切换方法的流程图;
33.图6是根据本公开另一个具体实施例的应用场景的快速切换方法的流程图;
34.图7是根据本公开实施例的应用场景的快速切换装置的方框示意图;
35.图8是根据本公开实施例的电子设备的结构框图。
具体实施方式
36.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
37.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
38.下面参考附图描述本公开实施例的应用场景的快速切换方法、应用场景的快速切换装置、电子设备和非临时性计算机可读存储介质。
39.在本公开的实施例之中,提出了一种异构计算引擎,其中,异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式,常见的计算单元类别包括cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图形处理器)等协处理器、dsp(digital signal processing,数字信号处理)、asic(application specific integrated circuit,专用集成电路)、fpga(field programmable gate array,现场可编程逻辑门阵列)等。异构计算引擎可作为第一操作系统和第二操作系统之间的通信中介,来实现第一操作系统和第二操作系统之间资源的相互调用。该异构计算引擎可以设置在第一操作系统之中,也可以设置在第二操作系统之中,具体这里不再进行限制。
40.例如,该异构计算引擎设置在第一操作系统之中,可以被第一操作系统之中的app(application)所调用,以便直接调用第二操作系统之中的硬件资源或软件资源。即,第一操作系统之中的app可以调用第二操作系统之中的app的硬件资源或软件资源。
41.又例如,移动终端(如手机)中具有ios操作系统的app可以直接调用具有安卓操作系统或linux操作系统的app的硬件资源或软件资源。
42.图1是根据本公开实施例的应用场景的快速切换方法的流程图。
43.在该实施例中,应用场景的快速切换方法的执行主体是移动终端(如手机)之中的app如视频app、外卖app、智能门锁app、地图app、浏览器app、音乐播放app等,其中,该移动终端的操作系统可以为ios系统或安卓系统等,且该移动终端的操作系统之中设置有异构计算引擎,该方法还可以利用除异构计算引擎,能够实现第一操作系统和第二操作系统之间的调用。
44.如图1所示,本公开实施例的应用场景的快速切换方法,包括以下步骤:
45.在步骤s101中,获取多个应用场景所需的硬件资源,并通过各应用场景对应的虚拟机加载对应的硬件资源;其中,多个应用场景分别建立有对应的容器,虚拟机建立在对应应用场景的容器之中。
46.其中,多个应用场景可以为移动终端(如手机)中下载的各个app如视频app、外卖app、智能门锁app、地图app、浏览器app、音乐播放app等调用家用电器的应用场景。例如,视频app调用智能电视机的显示屏投放视频的应用场景(应用场景一);地图app调用智能电视机的显示屏显示地图的应用场景(应用场景二);浏览器app调用智能电视机的显示屏查看浏览内容的应用场景(应用场景三);外卖app调用智能电视机的显示屏显示外卖界面的应用场景(应用场景四);音乐播放app调用智能音响播放音乐的应用场景(应用场景五);智能门锁app调用智能音响播放门铃声的应用场景(应用场景六)等。
47.如图2所示,在该实施例中,可预先为多个应用场景分别建立对应的容器,并在各容器之中分别建立对应的虚拟机。例如,可以为应用场景一建立第一容器(容器一),且在第一容器之中建立对应的第一虚拟机(虚拟机一);为应用场景二建立第二容器(容器二),且在第二容器之中建立对应的第二虚拟机(虚拟机二);为应用场景三建立第三容器(容器三),且在第三容器之中建立对应的第三虚拟机(虚拟机三);为应用场景四建立第四容器(虚拟机四),且在第四容器之中建立对应的第四虚拟机(虚拟机四);为应用场景五建立第五容器(容器五),且在第五容器之中建立对应的第五虚拟机(虚拟机五);为应用场景六建立第六容器(容器六),且在第六容器之中建立对应的第六虚拟机(虚拟机六)。
48.用户在启用某个app后,通过该app对应用场景进行监测,并获取应用场景所需的
硬件资源,以及在获取到硬件资源之后,通过对应的虚拟机加载对应的硬件资源,控制硬件资源工作。例如,视频app在监测到应用场景为调用智能电视机的显示屏播放视频的应用场景时,获取该应用场景所需的硬件资源为智能电视机的显示屏,并通过第一虚拟机加载智能电视的显示屏,控制显示屏播放视频;地图app在监测到应用场景为调用智能电视机的显示屏显示地图的应用场景时,获取该应用场景所需的硬件资源为智能电视机的显示屏,并通过第二虚拟机加载智能电视机的显示屏,控制显示屏显示地图;浏览器app在监测到应用场景为调用智能电视机的显示屏查看浏览器的应用场景时,获取到该应用场景所需的硬件资源为智能电视的显示屏,并通过第三虚拟机加载智能电视的显示屏,使用显示屏查看浏览器;外卖app在监测到应用场景为调用智能电视机的显示屏显示外卖界面的应用场景时,获取该应用场景所需的硬件资源为智能电视的显示屏,并通过第四虚拟机加载智能电视的显示屏,使用显示屏显示外卖界面;音乐播放app在监测到应用场景为调用智能音箱的喇叭播放音乐的应用场景时,获取该应用场景所需的硬件资源为智能音响的喇叭,并通过第五虚拟机加载智能音响的喇叭,控制智能音响的喇叭播放音乐;智能门锁app在监测到应用场景为调用智能音箱的喇叭播放门铃声的应用场景时,获取该应用场景所需的硬件资源为智能音响的喇叭,并通过第六虚拟机加载智能音响的喇叭,控制智能音响的喇叭播放门铃声。
49.在步骤s102中,获取应用场景切换指令。
50.在该实施例中,应用场景切换指令可由用户的语音指令或手势指令生成,或者由网络事件生成,用于通过对应的app将当前应用场景切换至另一应用场景。
51.举例说明,每个app均可根据用户通过对应app的人机交互界面输入的语音信息生成语音指令,例如,用户在通过外卖app的语音输入模块发出“智能电视的显示屏显示外卖界面”语音信息,或通过地图app的语音输入模块发出“智能电视的显示屏显示地图”语音信息时,即可生成应用场景切换指令;视频app、音乐播放app可根据用户通过该app的人机交互界面输入的手势信息生成用户的手势指令,具体手势所代表的指令可由用户预先设置并存储在各自的app中,即可生成应用场景切换指令;外卖app可根据网络事件生成应用场景切换指令,例如,用户在使用智能电视的显示屏看视频时,外卖平台推送了一条外卖到达指定地点的信息,此时该信息发送至外卖app,外卖app根据该网络事件生成相应的应用场景切换指令,又如,用户在使用智能音响播放音乐时,门铃响了,此时门铃将被触发的信息发送至智能门锁app,智能门锁app根据门铃声生成相应的应用场景切换指令。
52.在步骤s103中,根据应用场景切换指令,在多个容器之间切换。
53.在实际应用中,可能会出现多个应用场景共用一些硬件资源,此时硬件资源之间的调用就会出现冲突。例如,应用场景一需要调用智能电视机的显示屏,而此时智能电视机的显示屏由应用场景二在占用,此时就会导致硬件资源调用的冲突。为了解决冲突的问题,在切换时就需要先将应用场景二占用的硬件资源释放,再为应用场景一建立新硬件资源,因此,导致应用场景切换非常缓慢,影响了用户体验。
54.为解决这个问题,app如视频app、外卖app、智能门锁app、地图app、浏览器app、音乐播放app等在获取到用户的应用场景切换指令时,获取目标应用场景所对应的目标容器,并将容器切换至目标应用场景所对应的目标容器,并获取目标应用场景所对应的目标容器所需的硬件资源,并通过目标应用场景所对应的目标容器之中的虚拟机加载目标应用场景所需的硬件资源,控制硬件资源工作。
55.需要说明的是,若切换应用场景前和切换应用场景后,硬件资源均为同一硬件资源如智能电视机的显示屏,则可在这个显示屏内同时显示这两种应用场景,具体应用场景分配显示的区域可根据实际需要进行设置,还可使用切换后应用场景显示的内容直接覆盖切换前应用场景显示的内容,具体这里不进行限制。
56.作为一种可选的实现方式,如图3所示,在将目标容器的输出内容通过显示终端进行显示时,可在显示终端之上开启新的窗口,并将目标容器的输出内容显示在新的窗口之中。也就是说,可在显示终端上同时显示这两种应用场景,如应用场景一和应用场景二,应用场景二覆盖在应用场景一上,具体应用场景分配显示的区域可根据实际需要进行设置。需要说明的是,还可使用该显示终端显示更多的应用场景,如应用场景一、应用场景二、应用场景三。例如,在显示终端显示应用场景一和应用场景二的情况下,如果外卖平台推送了一条外卖到达指定地点的信息,则触发外卖app,外卖app会根据该网络事件生成相应的应用场景切换指令,并在显示终端上同时显示应用场景一、应用场景二、应用场景三,应用场景二、应用场景三覆盖在应用场景一上,还可以适应性进行调整应用场景一、应用场景二、应用场景三的布局。
57.作为另一种可选的实现方式,在将目标容器的输出内容通过显示终端进行显示时,可在显示终端之上不开启新的窗口,并将目标容器的输出内容显示覆盖之前应用场景的内容。
58.作为又一种可选的实现方式,在将目标容器的输出内容通过显示终端进行显示时,可采用时分复用的方式将当前容器输出的内容和目标容器输出的内容同时通过显示终端进行显示,如可各占用显示终端屏幕的50%,如图4所述,应用场景一和应用场景二各占屏幕的一半。
59.综上,本公开实施例的应用场景的快速切换方法,预先为多个应用场景分别建立对应的容器,并在对应应用场景的容器之中建立对应的虚拟机,在获取到多个应用场景所需的硬件资源时,通过各应用场景对应的虚拟机加载对应的硬件资源,并在获取到应用场景切换指令时,根据应用场景切换指令,在多个容器之间切换。由此,相较于在切换应用场景时需要在不同服务器之间调用硬件资源的现有技术,本公开通过在切换应用场景时,通过在多个容器之间切换时,通过应用场景对应的虚拟机加载对应的硬件资源,这样能够实现应用场景的快速切换,提升用户体验。
60.图5是根据本公开一个具体实施例的应用场景的快速切换方法的流程图,如图5所示,在多个容器共用显示终端如智能电视的显示屏,且多个容器之中的一个容器占用显示终端时,本公开实施例的应用场景的快速切换方法,包括以下步骤:
61.在步骤s501中,获取多个应用场景所需的硬件资源,并通过各应用场景对应的虚拟机加载对应的硬件资源;其中,多个应用场景分别建立有对应的容器,虚拟机建立在对应应用场景的容器之中。
62.其中,多个应用场景可以为移动终端(如手机)中下载的各个app如视频app、外卖app、地图app、浏览器app等调用家用电器的应用场景。例如,视频app调用智能电视机的显示屏投放视频的应用场景(应用场景一);地图app调用智能电视机的显示屏显示地图的应用场景(应用场景二);浏览器app调用智能电视机的显示屏查看浏览内容的应用场景(应用场景三);外卖app调用智能电视机的显示屏显示外卖界面的应用场景(应用场景四)。
63.如图2所示,如图2所示,在该实施例中,可预先为多个应用场景分别建立对应的容器,并在各容器之中分别建立对应的虚拟机。例如,可以为应用场景一建立第一容器(容器一),且在第一容器之中建立对应的第一虚拟机(虚拟机一);为应用场景二建立第二容器(容器二),且在第二容器之中建立对应的第二虚拟机(虚拟机二);为应用场景三建立第三容器(容器三),且在第三容器之中建立对应的第三虚拟机(虚拟机三);为应用场景四建立第四容器(虚拟机四),且在第四容器之中建立对应的第四虚拟机(虚拟机四)。
64.用户在启用某个app后,通过该app对应用场景进行监测,并获取应用场景所需的硬件资源,以及在获取到硬件资源之后,通过对应的虚拟机加载对应的硬件资源,控制硬件资源工作。例如,视频app在监测到应用场景为调用智能电视机的显示屏播放视频的应用场景时,获取该应用场景所需的硬件资源为智能电视机的显示屏,并通过第一虚拟机加载智能电视的显示屏,控制显示屏播放视频;地图app在监测到应用场景为调用智能电视机的显示屏显示地图的应用场景时,获取该应用场景所需的硬件资源为智能电视机的显示屏,并通过第二虚拟机加载智能电视机的显示屏,控制显示屏显示地图;浏览器app在监测到应用场景为调用智能电视机的显示屏查看浏览器的应用场景时,获取到该应用场景所需的硬件资源为智能电视的显示屏,并通过第三虚拟机加载智能电视的显示屏,使用显示屏查看浏览器;外卖app在监测到应用场景为调用智能电视机的显示屏显示外卖界面的应用场景时,获取该应用场景所需的硬件资源为智能电视的显示屏,并通过第四虚拟机加载智能电视的显示屏,使用显示屏显示外卖界面。
65.在步骤s502中,获取应用场景切换指令。
66.在该实施例中,应用场景切换指令可由用户的语音指令或手势指令生成,或者由网络事件生成,用于通过对应的app将当前应用场景切换至另一应用场景。
67.举例说明,每个app均可根据用户通过对应app的人机交互界面输入的语音信息生成语音指令,例如,用户在通过外卖app的语音输入模块发出“智能电视的显示屏显示外卖界面”语音信息,或通过地图app的语音输入模块发出“智能电视的显示屏显示地图”语音信息时,即可生成应用场景切换指令;视频app可根据用户通过该app的人机交互界面输入的手势信息生成用户的手势指令,具体手势所代表的指令可由用户预先设置并存储在该app中,即可生成应用场景切换指令;外卖app可根据网络事件生成应用场景切换指令,例如,用户在使用智能电视的显示屏看视频时,外卖平台推送了一条外卖到达指定地点的信息,此时该信息发送至外卖app,外卖app根据该网络事件生成相应的应用场景切换指令。
68.在步骤s503中,获取占用显示终端的当前容器。
69.在步骤s504中,根据应用场景切换指令获取目标容器,并将目标容器的输出内容通过显示终端进行显示。
70.在该实施例中,app如视频app、外卖app、地图app、浏览器app等在获取到用户的应用场景切换指令时,获取占用显示终端的当前容器和目标应用场景所对应的目标容器,并将当前容器切换至目标容器,通过目标容器之中建立的虚拟机将输出的内容通过显示终端进行显示。例如,当应用场景从使用智能电视机的显示屏播放视频切换至使用智能电视机的显示屏显示地图时,地图app获取到应用场景切换指令,此时将第一容器切换为第二容器,并获取使用智能电视机的显示屏显示地图这一应用场景所需的硬件资源为智能电视的显示屏,通过在第二容器之中建立的第二虚拟机加载智能电视的显示屏,控制显示屏显示
地图。
71.作为一种可选的实现方式,如图3所示,在将目标容器的输出内容通过显示终端进行显示时,可在显示终端之上开启新的窗口,并将目标容器的输出内容显示在新的窗口之中。也就是说,可在显示终端上同时显示这两种应用场景,如应用场景一和应用场景二,应用场景二覆盖在应用场景一上,具体应用场景分配显示的区域可根据实际需要进行设置。需要说明的是,还可使用该显示终端显示更多的应用场景,如应用场景一、应用场景二、应用场景三。例如,在显示终端显示应用场景一和应用场景二的情况下,如果外卖平台推送了一条外卖到达指定地点的信息,则触发外卖app,外卖app会根据该网络事件生成相应的应用场景切换指令,并在显示终端上同时显示应用场景一、应用场景二、应用场景三,应用场景二、应用场景三覆盖在应用场景一上,还可以适应性进行调整应用场景一、应用场景二、应用场景三的布局。
72.作为另一种可选的实现方式,在将目标容器的输出内容通过显示终端进行显示时,可在显示终端之上不开启新的窗口,并将目标容器的输出内容显示覆盖之前应用场景的内容。
73.由此,本公开实施例的应用场景的快速切换方法,预先为多个应用场景分别建立对应的容器,并在对应应用场景的容器之中建立对应的虚拟机,在获取到多个应用场景所需的硬件资源时,通过各应用场景对应的虚拟机加载对应的硬件资源,在获取到用户的应用场景切换指令之后,获取占用显示终端的当前容器,根据应用场景切换指令获取目标容器,并将目标容器的输出内容通过显示终端进行显示。由此,相较于在切换应用场景时需要在不同服务器之间调用硬件资源,且同一硬件资源占用冲突的现有技术,本公开通过在切换应用场景时,通过在多个容器之间切换时,通过应用场景对应的虚拟机加载对应的硬件资源,这样能够实现应用场景的快速切换,提升用户体验。
74.图6是根据本公开另一个实施例的应用场景的快速切换方法流程示意图,如图6所示,该应用场景的快速切换方法,包括:
75.在步骤s601中,获取接入的多个智能设备。
76.其中,智能设备可以为智能电视机、智能音响等智能家电。
77.在步骤s602中,向多个智能设备广播硬件上报消息。
78.在步骤s603中,接收多个智能设备上报的硬件资源信息。
79.在步骤s604中,根据多个智能设备上报的硬件信息生成硬件资源库。
80.在本实施例中,app如视频app、外卖app、智能门锁app、地图app、浏览器app、音乐播放app等在移动终端联网后,可与多个智能设备无线连接,并在无线连接成功之后,获取接入的多个智能设备。在获取到接入的多个智能设备之后,向各个智能设备发送硬件上报消息,以便各个智能设备将各自的硬件上报给对应的app。每个app在接收到各个智能设备上报的硬件资源信息之后,针对各个智能设备统计其对应的硬件资源,并生成硬件资源库。
81.举例说明,app如视频app、外卖app、智能门锁app、地图app、浏览器app、音乐播放app等与智能电视机、智能音响无线连接成功之后,向智能电视机、智能音响发送硬件上报消息。其中,智能电视机在接收到硬件上报消息之后,将显示屏分别上报给视频app、外卖app、地图app、浏览器app等;智能音响在接收到硬件上报消息之后,将喇叭上报给智能门锁app、音乐播放app等。各个app在接收到智能电视上报的显示屏、智能音响上报的喇叭之后,
生成硬件资源库。
82.在步骤s605中,获取多个应用场景所需的硬件资源,并通过各应用场景对应的虚拟机加载对应的硬件资源;其中,多个应用场景分别建立有对应的容器,虚拟机建立在对应应用场景的容器之中。
83.其中,多个应用场景可以为移动终端(如手机)中下载的各个app如视频app、外卖app、智能门锁app、地图app、浏览器app、音乐播放app等调用家用电器的应用场景。例如,视频app调用智能电视机的显示屏投放视频的应用场景(应用场景一);地图app调用智能电视机的显示屏显示地图的应用场景(应用场景二);浏览器app调用智能电视机的显示屏查看浏览内容的应用场景(应用场景三);外卖app调用智能电视机的显示屏显示外卖界面的应用场景(应用场景四);音乐播放app调用智能音响播放音乐的应用场景(应用场景五);智能门锁app调用智能音响播放门铃声的应用场景(应用场景六)等。
84.如图2所示,在该实施例中,可预先为多个应用场景分别建立对应的容器,并在各容器之中分别建立对应的虚拟机。例如,可以为应用场景一建立第一容器(容器一),且在第一容器之中建立对应的第一虚拟机(虚拟机一);为应用场景二建立第二容器(容器二),且在第二容器之中建立对应的第二虚拟机(虚拟机二);为应用场景三建立第三容器(容器三),且在第三容器之中建立对应的第三虚拟机(虚拟机三);为应用场景四建立第四容器(虚拟机四),且在第四容器之中建立对应的第四虚拟机(虚拟机四);为应用场景五建立第五容器(容器五),且在第五容器之中建立对应的第五虚拟机(虚拟机五);为应用场景六建立第六容器(容器六),且在第六容器之中建立对应的第六虚拟机(虚拟机六)。
85.用户在启用某个app后,通过该app对应用场景进行监测,并获取应用场景所需的硬件资源,以及在获取到硬件资源之后,通过对应的虚拟机加载对应的硬件资源,控制硬件资源工作。例如,视频app在监测到应用场景为调用智能电视机的显示屏播放视频的应用场景时,获取该应用场景所需的硬件资源为智能电视机的显示屏,并通过第一虚拟机加载智能电视的显示屏,控制显示屏播放视频;地图app在监测到应用场景为调用智能电视机的显示屏显示地图的应用场景时,获取该应用场景所需的硬件资源为智能电视机的显示屏,并通过第二虚拟机加载智能电视机的显示屏,控制显示屏显示地图;浏览器app在监测到应用场景为调用智能电视机的显示屏查看浏览器的应用场景时,获取到该应用场景所需的硬件资源为智能电视的显示屏,并通过第三虚拟机加载智能电视的显示屏,使用显示屏查看浏览器;外卖app在监测到应用场景为调用智能电视机的显示屏显示外卖界面的应用场景时,获取该应用场景所需的硬件资源为智能电视的显示屏,并通过第四虚拟机加载智能电视的显示屏,使用显示屏显示外卖界面。
86.在步骤s606中,根据每个虚拟机所加载的硬件资源生成每个容器所对应的资源描述符,其中,资源描述符用于描述每个虚拟机所加载的硬件资源。
87.例如,视频app在第一虚拟机加载智能电视的显示屏时,生成第一容器所对应的资源描述符为显示屏;地图app在第二虚拟机加载智能电视的显示屏时,生成第二容器所对应的资源描述符为显示屏;浏览器app在第三虚拟机加载智能电视的显示屏时,生成第三容器所对应的资源描述符为显示屏;外卖app在第四虚拟机加载智能电视的显示屏时,生成第四容器所对应的资源描述符为显示屏;音乐播放器app在第五虚拟机加载智能音箱的喇叭时,生成第五容器所对应的资源描述符为喇叭;智能门锁app在第六虚拟机加载智能音箱的喇
叭时,生成第六容器所对应的资源描述符为喇叭。
88.在步骤s607中,获取应用场景切换指令。
89.在该实施例中,应用场景切换指令可由用户的语音指令或手势指令生成,或者由网络事件生成,用于通过对应的app将当前应用场景切换至另一应用场景。
90.举例说明,每个app均可根据用户通过对应app的人机交互界面输入的语音信息生成语音指令,例如,用户在通过外卖app的语音输入模块发出“智能电视的显示屏显示外卖界面”语音信息,或通过地图app的语音输入模块发出“智能电视的显示屏显示地图”语音信息时,即可生成应用场景切换指令;视频app、音乐播放app可根据用户通过该app的人机交互界面输入的手势信息生成用户的手势指令,具体手势所代表的指令可由用户预先设置并存储在各自的app中,即可生成应用场景切换指令;外卖app可根据网络事件生成应用场景切换指令,例如,用户在使用智能电视的显示屏看视频时,外卖平台推送了一条外卖到达指定地点的信息,此时该信息发送至外卖app,外卖app根据该网络事件生成相应的应用场景切换指令,又如,用户在使用智能音响播放音乐时,门铃响了,此时门铃将被触发的信息发送至智能门锁app,智能门锁app根据门铃声生成相应的应用场景切换指令。
91.在步骤s608中,获取源应用场景对应容器的资源描述符,以及目标应用场景对应容器的资源描述符。
92.在步骤s609中,判断源应用场景对应容器的资源描述符与目标应用场景对应容器的资源描述符是否存在硬件资源冲突。
93.在步骤s610中,如果存在硬件资源冲突,则根据预设配置,将冲突的硬件资源切换至目标应用场景对应的容器,或者,按照分时复用的方式将冲突的硬件资源由源应用场景对应的容器和目标应用场景对应的容器共用。
94.其中,预设配置可以为预设亮度、预设字体大小等配置,具体参数可根据不同应用场景进行不同设置。
95.在本实施例中,app如视频app、外卖app、智能门锁app、地图app、浏览器app、音乐播放app等在获取到用户的应用场景切换指令时,获取源应用场景(当前应用场景)对应容器的资源描述符,以及需要切换的应用场景(目标应用场景)对应容器的资源描述符,并判断源应用场景对应容器的资源描述符的硬件资源是否与目标应用场景对应容器的资源描述符的硬件资源一样。其中,在硬件资源一样时,可用覆盖的方式将当前容器切换为目标应用场景对应的容器,并将目标容器的输出内容通过显示终端进行显示,或者,采用时分复用的方式将当前容器输出的内容和目标容器输出的内容同时通过显示终端进行显示,如可各占用显示终端屏幕的50%,如图4所述,应用场景一和应用场景二各占屏幕的一半;在硬件资源不一样时,可直接控制对应的硬件资源工作。
96.由此,本公开实施例的应用场景的快速切换方法,app预先获取接入的多个智能设备,并向多个智能设备广播硬件上报消息,再接收多个智能设备上报的硬件资源信息,根据多个智能设备上报的硬件信息生成硬件资源库,即可完成硬件资源库的建立,并预先为多个应用场景分别建立对应的容器,并在对应应用场景的容器之中建立对应的虚拟机,在获取到多个应用场景所需的硬件资源时,根据每个应用场景所需的硬件资源从硬件资源库之中调用相应的硬件资源并加载至对应的虚拟机,根据每个虚拟机所加载的硬件资源生成每个容器所对应的用于描述每个虚拟机所加载的硬件资源的资源描述符,并在获取到用户的
应用场景切换指令之后,获取源应用场景对应容器的资源描述符,以及目标应用场景对应容器的资源描述符,判断源应用场景对应容器的资源描述符与目标应用场景对应容器的资源描述符是否存在硬件资源冲突,并在存在硬件资源冲突时,根据预设配置,将冲突的硬件资源切换至目标应用场景对应的容器,或者,按照分时复用的方式将冲突的硬件资源由源应用场景对应的容器和目标应用场景对应的容器共用。由此,相较于在切换应用场景时需要在不同服务器之间调用硬件资源,且同一硬件资源占用冲突的现有技术,本公开通过在切换应用场景时,通过在多个容器之间切换时,通过应用场景对应的虚拟机加载对应的硬件资源,这样能够实现应用场景的快速切换,提升用户体验。
97.图7是根据本公开实施例的应用场景的快速切换装置的方框示意图,如图7所示,本公开实施例的应用场景的快速切换装置700,包括:加载模块710、指令获取模块720和切换模块730。
98.其中,加载模块710用于获取多个应用场景所需的硬件资源,并通过各应用场景对应的虚拟机加载对应的硬件资源;其中,多个应用场景分别建立有对应的容器,虚拟机建立在对应应用场景的容器之中。指令获取模块720用于获取应用场景切换指令。切换模块730用于根据应用场景切换指令,在多个容器之间切换。
99.在本公开的一个实施例之中,多个容器共用显示终端,且多个容器之中的一个容器占用显示终端,切换模块730获取占用显示终端的当前容器,并根据应用场景切换指令获取目标容器,将目标容器的输出内容通过显示终端进行显示。
100.在本公开的一个实施例之中,切换模块730在显示终端之上开启新的窗口,并将目标容器的输出内容显示在新的窗口之中。
101.在本公开的一个实施例之中,上述的装置,还包括:获取模块,用于获取接入的多个智能设备;广播模块,用于向多个智能设备广播硬件上报消息;接收模块,用于接收多个智能设备上报的硬件资源信息;第一生成模块,用于根据多个智能设备上报的硬件信息生成硬件资源库。
102.在本公开的一个实施例之中,加载模块710根据每个应用场景所需的硬件资源,从硬件资源库之中调用相应的硬件资源并加载至对应的虚拟机。
103.在本公开的一个实施例之中,上述的装置,还包括:第二生成模块,用于根据每个虚拟机所加载的硬件资源,生成每个容器所对应的资源描述符;其中,资源描述符用于描述每个虚拟机所加载的硬件资源。
104.在本公开的一个实施例之中,切换模块730,包括:获取单元,用于获取源应用场景对应容器的资源描述符,以及目标应用场景对应容器的资源描述符;判断单元,用于判断源应用场景对应容器的资源描述符与目标应用场景对应容器的资源描述符是否存在硬件资源冲突;切换单元,用于当存在硬件资源冲突时,根据预设配置,将冲突的硬件资源切换至目标应用场景对应的容器,或者,按照分时复用的方式将冲突的硬件资源由源应用场景对应的容器和目标应用场景对应的容器共用。
105.在本公开的一个实施例之中,应用场景切换指令由用户的语音指令或手势指令生成,或者由网络事件生成。
106.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
107.根据本公开实施例的应用场景的快速切花装置,预先为多个应用场景分别建立对应的容器,并在对应应用场景的容器之中建立对应的虚拟机,通过加载模块获取多个应用场景所需的硬件资源,并通过各应用场景对应的虚拟机加载对应的硬件资源,通过指令获取模块获取应用场景切换指令,切换模块根据应用场景切换指令,在多个容器之间切换。由此,该装置相较于在切换应用场景时需要在不同服务器之间调用硬件资源的现有技术,本公开通过在切换应用场景时,通过在多个容器之间切换时,通过应用场景对应的虚拟机加载对应的硬件资源,这样能够实现应用场景的快速切换,提升用户体验。
108.为实现上述目的,本公开还提出了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的应用场景的快速切换方法。
109.图8是根据本公开实施例的电子设备的结构框图。
110.如图8所示,该电子设备800包括:存储器810和处理器820,连接不同组件(包括存储器810和处理器820)的总线830。
111.其中,存储器810用于存储处理器820的可执行指令;处理器801被配置为调用并执行存储器802存储的可执行指令,以实现本公开上述实施例提出的机器人之中电子罗盘的标定方法。
112.总线830表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
113.电子设备800典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备800访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
114.存储器810还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)840和/或高速缓存存储器850。电子设备800可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统860可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线830相连。存储器810可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
115.具有一组(至少一个)程序模块870的程序/实用工具880,可以存储在例如存储器810中,这样的程序模块870包括——但不限于——操作系统、一个或者多个功能、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块870通常执行本公开所描述的实施例中的功能和/或方法。
116.电子设备800也可以与一个或多个外部设备890(例如键盘、指向设备、显示器891等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口892进行。并且,电子设备800还可以通
过网络适配器893与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器893通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
117.处理器820通过运行存储在存储器810中的程序,从而执行各种功能应用以及数据处理。
118.需要说明的是,本公开实施例的电子设备的实施过程参见前述对本公开实施例的方法的解释说明,此处不再赘述。
119.为了实现上述目的,本公开还提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的应用场景的快速切换方法。
120.为了实现上述实施例,本公开实施例还提供一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行如上所述的应用场景的快速切换方法。
121.本公开的实施例提供的技术方案至少带来以下有益效果:
122.通过本公开的实施例,预先为多个应用场景分别建立对应的容器,并在对应应用场景的容器之中建立对应的虚拟机,在获取到多个应用场景所需的硬件资源时,通过各应用场景对应的虚拟机加载对应的硬件资源,并在获取到应用场景切换指令时,根据应用场景切换指令,在多个容器之间切换。由此,相较于在切换应用场景时需要在不同服务器之间调用硬件资源的现有技术,本公开通过在切换应用场景时,通过在多个容器之间切换时,通过应用场景对应的虚拟机加载对应的硬件资源,这样能够实现应用场景的快速切换,提升用户体验。
123.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
124.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1