系统切换方法和装置、电子设备、可读存储介质与流程

文档序号:24252348发布日期:2021-03-12 13:31阅读:72来源:国知局
系统切换方法和装置、电子设备、可读存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种系统切换方法和装置、电子设备、可读存储介质。



背景技术:

随着电子设备的功能越来越强大,搭载单一操作系统有时候不能满足人们对电子设备的功能的需求,因此,一些电子设备开始搭载双系统以使用户获得更好的使用体验。

但是,搭载双系统的电子设备在使用蓝牙业务时,随着两个系统的切换,会出现蓝牙业务完全中断的情况。



技术实现要素:

本申请实施例提供了一种系统切换方法和装置、电子设备、可读存储介质,可以在系统切换切换过程中维持蓝牙业务不完全中断。

一种系统切换方法,应用于电子设备,所述电子设备包括第一处理器,第二处理器和蓝牙模块,所述第一处理器能够运行第一操作系统,所述第二处理器能够运行第二操作系统,所述第一处理器与第二处理器能够通信连接,所述蓝牙模块与所述第二处理器能够通信连接,所述方法包括:

所述电子设备运行所述第二操作系统时,由所述第二操作系统支持第一蓝牙业务;

响应于第一指令,所述电子设备运行所述第一操作系统,在所述电子设备运行所述第一操作系统时,由所述第一操作系统和第二操作系统共同支持所述第一蓝牙业务。

一种系统切换装置,应用于电子设备,所述电子设备包括第一处理器,第二处理器和蓝牙模块,所述第一处理器能够运行第一操作系统,所述第二处理器能够运行第二操作系统,所述第一处理器与第二处理器能够通信连接,所述蓝牙模块与所述第二处理器能够通信连接,所述方法包括:

第二操作系统运行模块,用于所述电子设备运行所述第二操作系统时,由所述第二操作系统支持第一蓝牙业务;

系统切换模块,用于响应于第一指令,所述电子设备运行所述第一操作系统,在所述电子设备运行所述第一操作系统时,由所述第一操作系统和第二操作系统共同支持所述第一蓝牙业务。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的蓝牙通信方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的蓝牙通信方法的步骤。

上述系统切换方法和装置、电子设备、计算机可读存储介质,应用于电子设备,电子设备包括第一处理器,第二处理器和蓝牙模块,第一处理器能够运行第一操作系统,第二处理器能够运行第二操作系统,第一处理器与第二处理器能够通信连接,蓝牙模块与第二处理器能够通信连接。该方法包括:电子设备运行第二操作系统时,由第二操作系统支持第一蓝牙业务;响应于第一指令,电子设备运行第一操作系统,在电子设备运行第一操作系统时,由第一操作系统和第二操作系统共同支持第一蓝牙业务。

第一处理器能够运行第一操作系统,第二处理器能够运行第二操作系统。由于蓝牙模块与第二处理器能够通信连接,所以在电子设备运行第二操作系统时,第二操作系统可以独立支持第一蓝牙业务。而第一处理器与第二处理器能够通信连接,即第一处理器只能与蓝牙模块通过第二处理器间接进行通信。所以,在电子设备运行第一操作系统时,第一操作系统需要通过第二操作系统间接与蓝牙模块进行通信。即在电子设备运行第一操作系统时,由第一操作系统和第二操作系统共同支持第一蓝牙业务。因此,在电子设备响应于第一指令,从运行第二操作系统切换至运行第一操作系统的过程中,运行第二操作系统的第二处理器一直与蓝牙模块处于通信连接状态,不会出现通信中断。从而避免在系统切换时出现蓝牙业务完全中断的情况。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中系统切换方法的应用环境图;

图2a为一个实施例中系统切换方法的流程图;

图2b为一个实施例中系统切换方法的流程图;

图3为一个实施例中电子设备中双系统的硬件框架图;

图4为一个实施例中中双系统中蓝牙的架构示意图;

图5为另一个实施例中系统切换方法的流程图;

图6为再一个实施例中系统切换方法的流程图;

图7a为一个具体的实施例中系统切换方法的流程图;

图7b为另一个具体的实施例中系统切换方法的流程图;

图8为又一个实施例中系统切换装置的结构框图;

图9为一个实施例中系统切换装置的结构框图;

图10为一个实施例中电子设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中系统切换方法的应用场景图。如图1所示,该应用环境包括电子设备120,该电子设备120能够同时运行第一操作系统及第二操作系统。其中,第二操作系统可以单独支持第一蓝牙业务,第一操作系统及第二操作系统也可以共同支持第一蓝牙业务。电子设备120通过本申请中的系统切换方法,电子设备运行第二操作系统时,由第二操作系统支持第一蓝牙业务;响应于第一指令,电子设备运行第一操作系统,在电子设备运行第一操作系统时,由第一操作系统和第二操作系统共同支持第一蓝牙业务。这里,电子设备120可以是手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、穿戴式设备(智能手表等)、智能家居等任意终端设备。

传统方法中,搭载双系统的电子设备在使用蓝牙业务时,随着两个系统的切换,会出现蓝牙业务完全中断的情况。具体为,传统方法中蓝牙业务的实现在双系统中是完全分开的,独立运行的。即在第一操作系统上实现的蓝牙业务时,运行第一操作系统的cpu直接与蓝牙芯片进行通信,根本不需要依赖于第二操作系统。相应地,在第二操作系统上实现的蓝牙业务时,运行第二操作系统的cpu也是直接与蓝牙芯片进行通信,根本也不需要依赖于第一操作系统。其中,蓝牙芯片上具有蓝牙模块,用于实现蓝牙通信功能。

由于底层的蓝牙芯片只有一个,所以传统方法在系统切换时,就需要先关闭某一个操作系统的蓝牙业务,再初始化另一个操作系统的蓝牙业务,才能够在系统切换时完成蓝牙业务的切换。然而,在关闭某一个操作系统的蓝牙业务,再初始化另一个操作系统的蓝牙业务的过程中,会出现蓝牙业务的短暂完全中断,无法做到蓝牙业务的无缝切换。

因此,本申请实施例中提出了一种系统切换方法,不再将不同的操作系统的蓝牙业务彻底分开,而是由第一操作系统及第二操作系统共同支持第一蓝牙业务或第二蓝牙业务,由第二操作系统支持第一蓝牙业务。可以理解为,第一蓝牙业务为基础业务,而第二蓝牙业务为依托于第一蓝牙业务的上层业务。即在电子设备上实现第一蓝牙业务时,可以在电子设备的第二操作系统上独立实现第一蓝牙业务,当然,也可以由第一操作系统和第二操作系统共同实现第一蓝牙业务。但是在电子设备上实现第二蓝牙业务时,就需要由第一操作系统和第二操作系统共同支持第二蓝牙业务。

如此,第二操作系统切换至第一操作系统的过程为:若监测到第一操作系统从休眠状态被唤醒,则在第一操作系统中开启第二蓝牙业务中除第一蓝牙业务之外的其他蓝牙业务,并在第二操作系统中继续支持第一蓝牙业务。

第一操作系统切换至第二操作系统的过程为:若监测到第一操作系统进入休眠状态,则在第一操作系统中关闭第二蓝牙业务中除第一蓝牙业务之外的其他蓝牙业务。控制第一操作系统切换至第二操作系统,并在第二操作系统中继续支持第一蓝牙业务。因为不管电子设备是运行在第一操作系统还是第二操作系统下,第二操作系统都可以在后台持续支持第一蓝牙业务,所以,无论系统如何切换,在系统切换过程中都不会出现蓝牙业务完全中断的情况。

图2a为一个实施例中系统切换方法的流程图。本实施例中的系统切换方法,以运行于图1中的电子设备120上为例进行描述。其中,电子设备包括第一处理器,第二处理器和蓝牙模块,第一处理器能够运行第一操作系统,第二处理器能够运行第二操作系统,第一处理器与第二处理器能够通信连接,蓝牙模块与第二处理器能够通信连接。

具体的,如图2a所示,提供了一种系统切换方法,包括:

步骤220,电子设备运行第二操作系统时,由第二操作系统支持第一蓝牙业务;

步骤240,响应于第一指令,电子设备运行第一操作系统,在电子设备运行第一操作系统时,由第一操作系统和第二操作系统共同支持第一蓝牙业务。

可以理解为,第一蓝牙业务为基础业务,而后文中提到的第二蓝牙业务为依托于第一蓝牙业务的上层业务。其中,第一指令可以是由第二操作系统发送至第一操作系统的指令,其携带了唤醒信息,基于唤醒信息可以对第一操作系统进行唤醒。在第一操作系统被唤醒后,电子设备从第二操作系统切换至第一操作系统。且电子设备上运行第二操作系统的界面及应用程序,可以与电子设备上运行第一操作系统的界面及应用程序是不同的。例如,对于蓝牙来说,第二操作系统中运行蓝牙app1(application,应用程序),第一操作系统中运行蓝牙app2。但是,在第二操作系统中运行蓝牙app1时,由第二操作系统可以支持第一蓝牙业务。在第一操作系统中运行蓝牙app2时,需要由第一操作系统和第二操作系统共同支持第一蓝牙业务。

本申请实施例中,第一处理器能够运行第一操作系统,第二处理器能够运行第二操作系统。由于蓝牙模块与第二处理器能够通信连接,所以在电子设备运行第二操作系统时,第二操作系统可以独立支持第一蓝牙业务。而第一处理器与第二处理器能够通信连接,即第一处理器只能与蓝牙模块通过第二处理器间接进行通信。所以,在电子设备运行第一操作系统时,第一操作系统需要通过第二操作系统间接与蓝牙模块进行通信。即在电子设备运行第一操作系统时,由第一操作系统和第二操作系统共同支持第一蓝牙业务。因此,在电子设备响应于第一指令,从运行第二操作系统切换至运行第一操作系统的过程中,运行第二操作系统的第二处理器一直与蓝牙模块处于通信连接状态,不会出现通信中断。从而避免在系统切换时出现蓝牙业务完全中断的情况。

接上一个实施例中,第一操作系统和第二操作系统还可以共同支持第二蓝牙业务。

本申请实施例中,第一操作系统和第二操作系统不仅可以共同支持第一蓝牙业务,还可以共同支持第二蓝牙业务。且在电子设备上支持第二蓝牙业务时,需由第一操作系统和第二操作系统来共同支持。可以理解为,第一蓝牙业务为基础业务,而第二蓝牙业务为依托于第一蓝牙业务的上层业务。即在电子设备上实现第一蓝牙业务时,可以在电子设备的第二操作系统上独立实现第一蓝牙业务,当然,也可以由第一操作系统和第二操作系统共同实现第一蓝牙业务。但是在电子设备上实现第二蓝牙业务时,就需要由第一操作系统和第二操作系统共同支持第二蓝牙业务。

本申请实施例中,不管电子设备此时运行第一操作系统还是第二操作系统,第二操作系统都可以在后台持续支持第一蓝牙业务。所以,无论系统如何切换,在系统切换过程中都不会出现蓝牙业务完全中断的情况。且由第一操作系统和第二操作系统还可以共同支持第二蓝牙业务,以满足用户更高的使用需求。

在一个实施例中,如图2b所示,还提供了一种系统切换方法,包括:

步骤260,若监测到第一操作系统从休眠状态被唤醒,则在第一操作系统中开启第二蓝牙业务。

现在续航能力是电子设备中的一个越来越重要的性能指标。为了解决电子设备的续航问题,电子设备中也越来越多地采用双系统方案来降低功耗。一般情况下,双系统中的其中一个系统(例如rtos系统(real-timeoperatingsystem))在运行时功耗较小,而双系统中的另一个系统(例如安卓系统)在运行时的功耗较大,且双系统之间可以相互切换。因此,可以借助于系统切换来降低电子设备的功耗。在本申请实施例中,第一操作系统运行在第一处理器上,且第一处理器上运行第一操作系统时的功耗较高。第二操作系统运行在第二处理器上,且第二处理器上运行第二操作系统时的功耗相对于第一处理器上运行第一操作系统的功耗较低。其中,第一处理器可以是系统级芯片soc,第二处理器可以是mcu,当然,本申请对此不做限定。

其中,如图3所示,为一个实施例中电子设备中双系统的硬件框架图。电子设备中包括系统级芯片soc(system-on-a-chip)320、微控制单元mcu(microcontrollerunit)340及蓝牙芯片360。其中,双系统中的第一操作系统可运行在系统级芯片soc320上,双系统中的第二操作系统可运行在微控制单元mcu340上,蓝牙芯片360可实现蓝牙模块的功能。其中,蓝牙芯片360可以与微控制单元mcu340通过uart总线进行通信,然后,微控制单元mcu340再与系统级芯片soc320通过uart总线进行通信。例如,第一操作系统可以是安卓系统或ios系统,第二操作系统可以是mcu系统,本申请对此不做限定。系统级芯片soc具有与微控制单元mcu相互独立的处理器,可用于分别处理不同的任务。由图3可知,因为系统级芯片soc320不能直接与蓝牙芯片360进行通信,需要经过微控制单元mcu340间接与所以蓝牙芯片360进行通信,所以,当电子设备在系统级芯片soc上实现某些蓝牙业务的时候,需要依赖于微控制单元mcu来共同支持。

例如,对于蓝牙业务来说,可以分为第一蓝牙业务及第二蓝牙业务,其中。由第一操作系统及第二操作系统共同支持第一蓝牙业务或第二蓝牙业务,由第二操作系统支持第一蓝牙业务。可以理解为,第一蓝牙业务为基础业务,而第二蓝牙业务为依托于第一蓝牙业务的上层业务。即在电子设备上实现第一蓝牙业务时,可以在电子设备的第二操作系统上独立实现第一蓝牙业务,当然,也可以由第一操作系统和第二操作系统共同实现第一蓝牙业务。但是在电子设备上实现第二蓝牙业务时,就需要由第一操作系统和第二操作系统共同支持第二蓝牙业务。

具体的,若电子设备监测到第一操作系统从休眠状态被唤醒,则此时电子设备响应于第一指令,将要从第二操作系统切换至第一操作系统。一般情况下,电子设备在灭屏时或省电模式或无应用运行时,为了降低功耗控制第一操作系统处于休眠状态。而当电子设备当前时刻的待处理业务为高性能业务时,则需要及时唤醒第一操作系统以处理该高性能业务。

那么,此时就需要将在第一操作系统中开启第二蓝牙业务,使得在第一操作系统从休眠状态被唤醒之后,电子设备可以支持第二蓝牙业务。

步骤280,控制第二操作系统切换至第一操作系统,并在第二操作系统中继续支持第一蓝牙业务。

然后,电子设备控制其上运行的系统从第二操作系统切换至第一操作系统,并在第二操作系统中继续支持第一蓝牙业务。如此,系统切换时第二操作系统仍然能够继续支持第一蓝牙业务,使第一蓝牙业务在系统切换时不受影响,从而避免经常出现蓝牙业务完全中断的情况。

本申请实施例中,因为第二蓝牙业务需要第一操作系统及第二操作系统共同支持,而第一蓝牙业务是由第二操作系统单独进行支持,且第二操作系统在系统切换时是一直持续支持第一蓝牙业务。所以,若监测到第一操作系统从休眠状态被唤醒,此时需要将电子设备从第二操作系统切换至第一操作系统,则在第二操作系统中继续支持第一蓝牙业务,并在第一操作系统中开启第二蓝牙业务,从而完成系统切换,使得第一操作系统及第二操作系统可共同支持第二蓝牙业务。因为系统切换时第二操作系统仍然能够继续支持第一蓝牙业务,使第一蓝牙业务在系统切换时不受影响,从而避免了在系统切换时出现蓝牙业务完全中断的情况。

在一个实施例中,支持第一蓝牙业务的协议栈包括运行在第二操作系统上的第二通信协议栈;支持第二蓝牙业务的协议栈包括运行在第一操作系统上的第一通信协议栈及运行在第二操作系统上的第二通信协议栈;;

其中,第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的性能高于第二通信协议栈支持的第一蓝牙业务的性能。

具体的,预先将支持第二蓝牙业务的协议栈划分为第一通信协议栈及第二通信协议栈。其中,协议栈(英语:protocolstack),又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。

如图4所示,为双系统中蓝牙的架构示意图。双系统中蓝牙包括蓝牙协议栈(其中,蓝牙协议栈包括第一通信协议栈422(bluedriordstack)及第二通信协议栈444(btestack))及蓝牙模块426。其中,第一通信协议栈422运行在第一操作系统上,第二通信协议栈424运行在第二操作系统上。第一通信协议栈422、第二通信协议栈424分别通过消息管道或蓝牙管道与蓝牙模块426进行传输数据。其中,蓝牙管道用于传输蓝牙协议栈相关信息,消息管道用于传输蓝牙协议栈之外的其他信息。

当电子设备在实现第二蓝牙业务时,控制第一通信协议栈运行在第一操作系统上,且控制第二通信协议栈运行在第二操作系统上,以通过第一操作系统及第二操作系统共同支持第二蓝牙业务。当电子设备在实现第一蓝牙业务时,仅控制第二通信协议栈运行在第二操作系统上,就可以通过第二操作系统来支持第一蓝牙业务。且第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的性能高于第二通信协议栈支持的第一蓝牙业务的性能。蓝牙业务的性能可以基于蓝牙业务的一些性能指标来进行衡量或评估,本申请不对性能指标做具体限定。

本申请实施例中,预先将支持第二蓝牙业务的协议栈划分为第一通信协议栈及第二通信协议栈。当电子设备在实现第一蓝牙业务时,仅控制第二通信协议栈运行在第二操作系统上。当电子设备在实现第二蓝牙业务时,控制第一通信协议栈运行在第一操作系统上,且控制第二通信协议栈运行在第二操作系统上。通过两个协议栈独立运行于两个系统中,使得当第一操作系统进入休眠状态后,系统切换时第二操作系统仍然能够运行第二通信协议栈以继续支持第一蓝牙业务,使第一蓝牙业务在系统切换时不受影响,从而避免经常出现蓝牙业务完全中断的情况。

在一个实施例中,第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的性能高于第二通信协议栈支持的第一蓝牙业务的性能,包括:

第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的数据量高于第二通信协议栈支持的第一蓝牙业务的数据量。

具体的,蓝牙业务的性能可以基于蓝牙业务的一些性能指标来进行衡量或评估。这些性能指标包括数据量、计算量等,本申请对此不做具体限定。例如,当第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的数据量高于第二通信协议栈支持的第一蓝牙业务的数据量,则认为第二蓝牙业务的性能高于第一蓝牙业务的性能。

本申请实施例中,因为第二蓝牙业务是由第一通信协议栈及第二通信协议栈共同支持,即控制第一通信协议栈运行在第一操作系统上,且控制第二通信协议栈运行在第二操作系统上。第一蓝牙业务是由第二通信协议栈支持,即仅控制第二通信协议栈运行在第二操作系统上即可。由于第二蓝牙业务需要采用两个操作系统来实现,即调用了更多的资源,所以通过两个操作系统共同处理数据量较大的第二蓝牙业务,通过第二操作系统仅处理数据量较小的第一蓝牙业务即可。如此,就实现了资源的均匀配置,进而实现了在降低电子设备功耗的同时,避免经常出现蓝牙业务完全中断的情况。

在一个实施例中,第二蓝牙业务包括蓝牙多媒体业务、蓝牙上网业务中的至少一种;第一蓝牙业务包括通信连接建立业务、生理数据传输业务中的至少一种业务。

第二蓝牙业务的性能高于第一蓝牙业务的性能。例如,第二蓝牙业务的数据量大于第一蓝牙业务的数据量。具体的,第二蓝牙业务可以包括蓝牙多媒体业务、蓝牙上网业务中的至少一种。其中,蓝牙多媒体业务包括蓝牙电话、蓝牙音乐、蓝牙视频等中的至少一种。蓝牙电话可以包括蓝牙语音电话或蓝牙视频电话等。蓝牙上网业务指的是电子设备通过蓝牙连接间接与互联网建立通信连接,以便电子设备可以访问互联网的业务。

由于第一蓝牙业务包括通信连接建立业务、生理数据传输业务中的至少一种业务。其中,通信连接建立业务为第二操作系统与蓝牙模块之间建立通信连接的业务。所以,在智能手表开机后第一操作系统运行,同时第二操作系统在后台低能耗运行。然后,先在第二操作系统中运行第一蓝牙业务中的通信连接建立业务,与智能手机之间建立蓝牙通信。然后当智能手表在第一操作系统运行时,智能手表就可以通过该蓝牙通信连接进行第二蓝牙业务。而当智能手表的第一操作系统进入休眠状态之后,关闭运行在第一操作系统中的第一通信协议栈。控制第一操作系统切换至第二操作系统,此时第二操作系统正常运行,并在第二操作系统中继续运行第二通信协议栈,此时,智能手表就可以继续支持第一蓝牙业务。

其中,生理数据传输业务包括对心跳数据、心率数据、血氧饱和度数据、运动数据中的至少一种数据进行传输的业务。其中,心跳数据、心率数据、血氧饱和度数据、运动数据的数据量相对于上述蓝牙多媒体业务、蓝牙上网业务的数据量都较小。当然,第一蓝牙业务还可以包括对其他数据量比较小的数据进行传输的业务,本申请对此不做限定。

本申请实施例中,第二蓝牙业务的性能高于第一蓝牙业务的性能。且第二蓝牙业务包括蓝牙多媒体业务、蓝牙上网业务中的至少一种。第一蓝牙业务包括通信连接建立业务、生理数据传输业务中的至少一种业务。将性能更高的第二蓝牙业务采用两个操作系统来实现,即调用了更多的资源,所以通过两个操作系统共同处理数据量较大的第二蓝牙业务,通过第二操作系统仅处理数据量较小的第一蓝牙业务即可。如此,就实现了资源的均匀配置,进而实现了在降低电子设备功耗的同时,避免经常出现蓝牙业务完全中断的情况。

在一个实施例中,响应于第一指令,电子设备运行第一操作系统包括:

响应于第一指令,第一操作系统从休眠状态进入唤醒状态,第一操作系统在唤醒状态的情况下,第一通信协议栈运行在第一操作系统上,第二通信协议栈继续运行在第二操作系统上。

具体的,响应于第一指令,第一操作系统从休眠状态被唤醒,则控制第一通信协议栈运行在第一操作系统上、第二通信协议栈继续运行在第二操作系统上。

当电子设备上的第一操作系统从休眠状态被唤醒,此时控制第一通信协议栈运行在第一操作系统上,且控制第二通信协议栈运行在第二操作系统上,以通过第一操作系统及第二操作系统共同支持第二蓝牙业务。

本申请实施例中,第一操作系统处于休眠状态下时,第一操作系统上的第一通信协议栈本来处于关闭状态。若电子设备响应于第一指令,使第一操作系统从休眠状态被唤醒,则电子设备先开启第一操作系统上的第一通信协议栈。然后,电子设备控制从第二操作系统切换至第一操作系统,并控制第二通信协议栈继续运行在第二操作系统上。

从而,在系统切换时通过控制协议栈的方式,在第一操作系统中准确地开启第一通信协议栈。且控制第二操作系统中的第二蓝牙协议栈继续维持正常运行,进而保证第一操作系统及第二操作系统共同支持第二蓝牙业务,避免系统切换时经常出现蓝牙业务完全中断的情况。

在一个实施例中,在响应于第一指令,电子设备运行第一操作系统之前,包括:

在第一操作系统处于休眠状态的情况下,控制第一通信协议栈停止运行,并控制第二通信协议栈运行在第二操作系统上。

如图5所示,提供了一种系统切换方法,包括:

步骤520,在电子设备开机后,控制第一通信协议栈运行在第一操作系统,控制第二通信协议栈运行在第二操作系统上。

具体的,即电子设备开机后,控制第一通信协议栈运行在第一操作系统上,且控制第二通信协议栈运行在第二操作系统上,以使第一操作系统及第二操作系统共同支持第二蓝牙业务,也可以由第二操作系统支持第一蓝牙业务。即,此时电子设备既可以支持第一蓝牙业务,也可以支持第二蓝牙业务。

步骤540,若监测到第一操作系统进入休眠状态,则关闭运行在第一操作系统上的第一通信协议栈。

若监测到第一操作系统进入休眠状态,则需要关闭与第一操作系统相关的各种协议栈,将电子设备切换至第二操作系统。因为预先将支持第二蓝牙业务的协议栈划分为第一通信协议栈及第二通信协议栈,且第一通信协议栈运行在第一操作系统上,第二通信协议栈运行在第二操作系统上。所以,将电子设备从第一操作系统切换至第二操作系统,需要关闭与第一操作系统相关的各种协议栈。对于蓝牙协议栈来说,即只需要关闭第一通信协议栈即可,不会关闭第二通信协议栈。

步骤560,控制第二通信协议栈在第二操作系统上继续运行。

因此,电子设备就可以在第一操作系统上关闭第一通信协议栈之后,控制第二通信协议栈在第二操作系统上继续运行。

本申请实施例中,在电子设备开机后,控制第一通信协议栈运行在第一操作系统,控制第二通信协议栈运行在第二操作系统上。此时,电子设备既可以支持第一蓝牙业务,也可以支持第二蓝牙业务。若监测到第一操作系统进入休眠状态,需要关闭与第一操作系统相关的各种协议栈以便进行系统切换,则关闭运行在第一操作系统上的第一通信协议栈即可,并不会对运行在第二操作系统上的第二通信协议栈造成任何影响。在系统切换过程中,虽然第一通信协议栈被关闭了不能支持第二蓝牙业务,但是第二通信协议栈依然正常运行在第二操作系统上支持第一蓝牙业务,从而避免了系统切换中经常出现蓝牙业务完全中断的情况。

在一个实施例中,响应于第一指令,第一操作系统从休眠状态进入唤醒状态,包括:

根据当前的待处理业务的业务类型确定第一操作系统是否从休眠状态进入唤醒状态;业务类型包括第一类性能业务和第二类性能业务;其中,第一类性能业务的性能指标高于第二类性能业务的性能指标。

具体的,判断当前时刻的待处理业务属于第一类性能业务或第二类性能业务;其中,第一类性能业务的性能指标高于第二类性能业务的性能指标;

根据判断结果确定是否控制第一操作系统从休眠状态被唤醒。

具体的,判断电子设备当前时刻的待处理业务属于第一类性能业务或第二类性能业务。其中,第一类性能业务的性能指标高于第二类性能业务的性能指标。性能指标可以包括数据量或计算量等,本申请对此不做限定。设置第一类性能业务的性能指标高于第二类性能业务的性能指标,可以预先将不同业务根据业务类型划分为第一类性能业务或第二类性能业务,形成对应关系数据表。然后,先获取当前时刻的待处理业务的业务类型,再通过查询该对应关系数据表,就可以判断出当前时刻的待处理业务为第一类性能业务或第二类性能业务。然后,就可以根据判断结果确定是否控制第一操作系统从休眠状态被唤醒。

本申请实施例中,第一类性能业务的性能指标高于第二类性能业务的性能指标,判断当前时刻的待处理业务为第一类性能业务或第二类性能业务,根据判断结果确定是否控制第一操作系统从休眠状态被唤醒。从而,实现了根据待处理业务的性能指标,准确地控制第一操作系统是否从休眠状态被唤醒,以避免出现第一操作系统未被及时唤醒的情况。

在一个实施例中,根据当前的待处理业务的业务类型确定第一操作系统是否从休眠状态进入唤醒状态,包括:

若判断出待处理业务属于第一类性能业务,此时第一操作系统从休眠状态进入唤醒状态,且第一通信协议栈运行在第一操作系统,第二通信协议栈运行在第二操作系统上;

若判断出待处理业务属于第二类性能业务,则第一操作系统仍处于休眠状态,第二通信协议栈在第二操作系统上运行。

如图6所示,提供了一种系统切换方法,还包括:

步骤620,判断电子设备当前时刻的待处理业务属于第一类性能业务或第二类性能业务。

设置第一类性能业务的性能指标高于第二类性能业务的性能指标,可以预先将不同业务根据业务类型划分为第一类性能业务或第二类性能业务,形成对应关系数据表。然后,先获取当前时刻的待处理业务的业务类型,再通过查询该对应关系数据表,就可以判断出当前时刻的待处理业务属于第一类性能业务或第二类性能业务。

步骤640,若判断出待处理业务为第一类性能业务,则控制第一操作系统从休眠状态被唤醒,并控制第一通信协议栈运行在第一操作系统,控制第二通信协议栈运行在第二操作系统上。

若判断出电子设备的待处理业务为第一类性能业务,由于第一类性能业务的性能指标高于第二类性能业务的性能指标。可以认为第一类性能业务为高性能业务,则控制第一操作系统从休眠状态被唤醒,并控制第一通信协议栈运行在第一操作系统,控制第二通信协议栈运行在第二操作系统上。此时电子设备可以正常支持多种功能(包括但不限于蓝牙业务),例如wifi功能。

步骤660,若判断出待处理业务为第二类性能业务,则控制第一操作系统仍处于休眠状态,并控制第二通信协议栈在第二操作系统上运行。

若判断出待处理业务为第二类性能业务,由于第一类性能业务的性能指标高于第二类性能业务的性能指标,则控制第一操作系统仍处于休眠状态。可以认为第二类性能业务为低性能业务,此处的低性能业务是相对于上述高性能业务而言的。

本申请实施例中,判断电子设备的待处理业务为高性能业务或低性能业务,若判断出待处理业务为高性能业务,则控制第一操作系统从休眠状态被唤醒,并控制第一通信协议栈运行在第一操作系统,控制第二通信协议栈运行在第二操作系统上。若判断出待处理业务为低性能业务,则控制第一操作系统仍处于休眠状态,并控制第二通信协议栈在第二操作系统上运行。基于电子设备的待处理业务是否为高性能业务,来判断电子设备是否需要将第一操作系统从休眠状态被唤醒,并随之对第一蓝牙协议栈进行开启操作。从而,通过系统切换来满足电子设备上支持高性能业务的需求,同时避免出现蓝牙业务完全中断的情况。

在一个实施例中,第一操作系统从休眠状态进入唤醒状态,包括:

通过第二操作系统向第一操作系统发送第一指令;

控制第一操作系统响应于第一指令从休眠状态进入唤醒状态。

本申请实施例中,第一指令可以携带了唤醒消息,若需要控制第一操作系统从休眠状态进入唤醒状态,则通过第二操作系统向第一操作系统发送第一指令,控制第一操作系统在响应于第一指令从休眠状态被唤醒。通过第二操作系统向第一操作系统发送第一指令的方式,可以准确地进行系统切换。

在一个实施例中,响应于第一指令,电子设备运行第一操作系统之后,提供了一种系统切换方法,还包括:

根据当前的待处理业务的业务类型确定第一操作系统是否从唤醒状态进入休眠状态;待处理业务包括第一类性能业务和第二类性能业务;其中,第一类性能业务的性能指标高于第二类性能业务的性能指标;

若待处理业务为第一类性能业务,第一操作系统仍处于唤醒状态,第一通信协议栈运行在第一操作系统,第二通信协议栈运行在第二操作系统上;

若待处理业务为第二类性能业务,则第一操作系统从唤醒状态进入休眠状态,控制所述第一通信协议栈停止运行,并控制第二通信协议栈在第二操作系统上运行。

如图7a所示,提供了一种系统切换方法,应用于具有双系统的电子设备,以第一操作系统来进行描述,包括:

步骤702,在电子设备开机之后,第一操作系统(安卓系统)正常运行;

步骤704,监测当前时刻的待处理业务是否为第一类性能业务;若否,进入步骤706;若是,进入步骤702;

步骤706,向第二操作系统发送系统切换指令;

步骤708,判断是否接收到第二操作系统发送的回复信息;若是,进入步骤710;

步骤710,控制第一操作系统进入休眠状态,并关闭运行在第一操作系统上的第一通信协议栈;

步骤712,判断是否接收到第二操作系统发送的唤醒信息;若是,进入步骤714;

步骤714,第一操作系统被唤醒,控制第一通信协议栈运行在第一操作系统上以处理高性能业务。

如图7b所示,提供了一种系统切换方法,应用于具有双系统的电子设备,以第二操作系统来进行描述,包括:

步骤716,在电子设备开机之后,第二操作系统(mcu系统)正常运行;

步骤718,判断是否接收到第一操作系统发送的系统切换指令;若是,进入步骤720;若否,进入步骤716;

步骤720,向第一操作系统发送回复信息;

步骤722,接管蓝牙系统,保持第二通信协议栈运行在第二操作系统上;

步骤724,判断当前时刻的待处理业务为第一类性能业务;若是,进入步骤726;

步骤726,则给第一操作系统发送唤醒消息。

本申请实施例中,通过第一操作系统向第二操作系统发送系统切换指令及第二操作系统向第一操作系统发送回复消息的方式,准确地从第一操作系统切换至第二操作系统。并在系统切换后,实时判断电子设备当前时刻的待处理业务是否为第一类性能业务,若是则及时通过第二操作系统发送唤醒消息给第一操作系统,以便及时唤醒第一操作系统以处理高性能业务。实现了在面对不同的性能的业务时,及时切换系统进行处理。

在一个实施例中,提供了一种系统切换装置800,电子设备包括第一处理器,第二处理器和蓝牙模块,第一处理器能够运行第一操作系统,第二处理器能够运行第二操作系统,第一处理器与第二处理器能够通信连接,蓝牙模块与第二处理器能够通信连接;该装置包括:

第二操作系统运行模块820,用于电子设备运行第二操作系统时,由第二操作系统支持第一蓝牙业务;

第一操作系统运行模块840,用于响应于第一指令,电子设备运行第一操作系统,在电子设备运行第一操作系统时,由第一操作系统和第二操作系统共同支持第一蓝牙业务。

在一个实施例中,第一操作系统和第二操作系统还可以共同支持第二蓝牙业务。

在一个实施例中,支持第一蓝牙业务的协议栈包括运行在第二操作系统上的第二通信协议栈;支持第二蓝牙业务的协议栈包括运行在第一操作系统上的第一通信协议栈及运行在第二操作系统上的第二通信协议栈;其中,第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的性能高于第二通信协议栈支持的第一蓝牙业务的性能。

在一个实施例中,第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的性能高于第二通信协议栈支持的第一蓝牙业务的性能,包括:第一通信协议栈及第二通信协议栈共同支持的第二蓝牙业务的数据量高于第二通信协议栈支持的第一蓝牙业务的数据量。

在一个实施例中,第二蓝牙业务包括蓝牙多媒体业务、蓝牙上网业务中的至少一种;第一蓝牙业务包括通信连接建立业务、生理数据传输业务中的至少一种业务。

在一个实施例中,第一操作系统运行模块840,还用于响应于第一指令,第一操作系统从休眠状态进入唤醒状态,第一操作系统在唤醒状态的情况下,第一通信协议栈运行在第一操作系统上,第二通信协议栈继续运行在第二操作系统上。

在一个实施例中,第二操作系统运行模块820,用于在第一操作系统处于休眠状态的情况下,控制第一通信协议栈停止运行,并控制第二通信协议栈运行在第二操作系统上。

在一个实施例中,第一操作系统运行模块840,还用于根据当前的待处理业务的业务类型确定第一操作系统是否从休眠状态进入唤醒状态;业务类型包括第一类性能业务和第二类性能业务;其中,第一类性能业务的性能指标高于第二类性能业务的性能指标。

在一个实施例中,第一操作系统运行模块840,还用于若待处理业务属于第一类性能业务,第一操作系统从休眠状态进入唤醒状态,第一通信协议栈运行在第一操作系统,第二通信协议栈运行在第二操作系统上;若待处理业务属于第二类性能业务,则第一操作系统仍处于休眠状态,第二通信协议栈在第二操作系统上运行。

在一个实施例中,第一操作系统运行模块840,还用于通过第二操作系统向第一操作系统发送第一指令;控制第一操作系统响应于第一指令从休眠状态进入唤醒状态。

在一个实施例中,如图9所示,提供了一种系统切换模块800,还包括:

第一操作系统状态切换模块860,用于根据当前的待处理业务的业务类型确定第一操作系统是否从唤醒状态进入休眠状态;待处理业务包括第一类性能业务和第二类性能业务;其中,第一类性能业务的性能指标高于第二类性能业务的性能指标;若待处理业务为第一类性能业务,第一操作系统仍处于唤醒状态,第一通信协议栈运行在第一操作系统,第二通信协议栈运行在第二操作系统上;若待处理业务为第二类性能业务,则第一操作系统从唤醒状态进入休眠状态,控制所述第一通信协议栈停止运行,并控制第二通信协议栈在第二操作系统上运行。

在一个实施例中,第一操作系统运行在系统级芯片soc上,第二操作系统运行在微控制单元mcu上。

在一个实施例中,在系统级芯片soc上运行第一操作系统时的功耗,大于在微控制单元mcu上运行第二操作系统时的功耗。

应该理解的是,虽然上述图中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

上述系统切换装置中各个模块的划分仅用于举例说明,在其他实施例中,可将系统切换装置按照需要划分为不同的模块,以完成上述系统切换装置的全部或部分功能。

关于系统切换装置的具体限定可以参见上文中对于系统切换方法的限定,在此不再赘述。上述系统切换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,还提供了一种电子设备,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以上各个实施例所提供的一种系统切换方法的步骤。

图10为一个实施例中电子设备的内部结构示意图。如图10所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的一种系统切换方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑、穿戴式设备等任意终端设备。

本申请实施例中提供的系统切换装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在电子设备或电子设备上运行。该计算机程序构成的程序模块可存储在电子设备或电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行系统切换方法的步骤。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行系统切换方法。

本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上系统切换实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1