具体实施方式
下面结合附图及具体实施例对本申请作进一步详细的说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本文中术语“至少一种”表示多个中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
下面结合附图及具体实施例对本申请作进一步详细的说明。
本申请实施例提供了一种交互方法,图1为本申请实施例的交互方法的一种流程示意图。如图1所示,所述方法包括:
S101:基于移动终端的系统资源划分出隔离的至少两个分区;所述至少两个分区至少包括第一分区和第二分区。
这里,移动终端的系统资源可以为硬件资源,例如处理器资源、内存资源和存储器资源等,在本实施例中的划分出隔离的至少两个分区并不是指在移动终端配置多个处理器、多个内存和多个存储器的情况下,将一个处理器、内存和存储器划分为一个分区,而是将移动终端上的硬件资源分配给两个独立的分区,可以理解是为不同的分区配置对应的系统资源,以划分第一分区和第二分区为例,移动终端上配置有多个内核,可以将其中一个内核配置给第一分区,另一个内核配置给第二分区,同样地,可以将内存划分为两个独立的区域,其中一个内存区域配置给第一分区,另一个内存区域配置给第二分区,将存储器划分为两个独立的区域,其中一个存储器区域配置给第一分区,另一个存储器区域配置给第二分区。
如图2所示,图2示出了一种移动终端上的第一分区与第二分区的示意图,图2所示的第一分区与第二分区是通过将移动终端上的系统资源划分得到的,将移动终端上的处理器资源划分为第一处理器分区与第二处理器分区,其中,第一处理器分区所对应的处理器资源分配给第一分区,第二处理器分区所对应的处理器资源分配给第二分区,将移动终端上的内存资源划分为第一内存分区与第二内存分区,其中,第一内存分区所对应的内存资源分配给第一分区,第二内存分区所对应的内存资源分配给第二分区,将移动终端上的存储器资源划分为第一存储器分区与第二存储器分区,其中,第一存储器分区所对应的存储器资源分配给第一分区,第二存储分区所对应的存储器分区分配给第二分区。第一分区与第二分区之间存在处理器隔离、内存隔离和存储器隔离,通过将移动终端上的系统资源分离出不同的分区,实现了不同分区之间的隔离。
在实际应用中,基于移动终端的系统资源划分出隔离的至少两个分区可以在移动终端与车载设备连接之前完成,也可以在移动终端与车载设备连接之后完成。
S102:在所述第一分区中运行所述移动终端的移动操作系统,以及在所述第二分区运行第一系统;所述第一系统用于运行第一应用;所述第一应用为与汽车安全系统交互的应用。
移动操作系统为移动终端上运行的操作系统,例如,安卓操作系统等,移动终端的移动操作系统能够在第一分区中运行,在移动操作系统的运行过程中,移动操作系统所使用的系统资源为第一分区中的系统资源。
在实际应用中,车载设备配置有汽车安全系统,汽车安全系统主要用于驾驶信息显示,例如车载设备的仪表盘上的驾驶信息的显示,其中,汽车安全系统一般采用QNX操作系统,在保证快速启动显示的同时,更具备安全性。在移动终端与车载设备连接的情况下,移动终端还支持在第二分区运行第一系统,其中,第一系统用于运行第一应用,移动终端通过第一系统中运行的第一应用,能够与车载设备上的汽车安全系统进行交互,在一个实例中,第一应用可以用于记录车载设备仪表的相关数据以进行数据分析和处理,示例地,第一应用可以用于记录车辆行驶速度、车辆照明状况等。在另一个实例中,第一应用可以用于控制车门门锁的状态,示例地,用户通过移动终端上的第一应用发出开锁指令,第一应用将开锁指令发送至汽车安全系统,汽车安全系统通过对开锁指令进行分析和处理,使车门门锁开启。
在第一系统的运行过程中,第一系统所使用的系统资源为第二分区中的系统资源,在实际应用中,移动操作系统支持不同的应用的下载以及不同网页的浏览,使得移动操作系统的安全性降低,在本实施例中,由于第一分区与第二分区之间存在硬件隔离,第一系统在第一分区上运行的过程中,能够利用移动终端的算力运行,从而提高第一系统的运行速度,并且确保第一系统的运行的稳定性,使第一系统不会受到在第二分区上运行的移动操作系统的影响,能够保证第一系统的安全性,避免汽车安全系统的行驶数据受到影响。
在本申请实施例中,基于移动终端的系统资源划分出隔离的至少两个分区,在至少两个分区中的第一分区运行移动终端的移动操作系统,在至少两个分区中的第二分区运行第一系统,第一系统用于运行与汽车安全系统交互的应用,移动终端上的第一系统与移动操作系统存在硬件隔离,在移动终端与车载设备进行交互的过程中,保证第一系统的安全性和可靠性。
在实际应用中,车载设备还配置有车载娱乐系统,车载娱乐系统采用安卓操作系统或Linux操作系统,可以使车载娱乐系统更广泛的集成各类应用,同时具备更多的开发工具,能够支持在车载设备上输出更好的显示界面与动画效果。在移动终端与车载设备连接之后,移动终端还可以与车载娱乐系统进行数据交互,在一种实施例中,除了划分第一分区与第二分区之外,还可以划分第三分区,其中,第一分区、第二分区与第三分区之间存在硬件隔离,如图3所示,图3示出了移动终端的第一分区、第二分区与第三分区的示意图,在第一分区中包含了第一处理器分区、第一内存分区与第一存储器分区,在第一分区中运行的移动操作系统可以使用第一处理器分区对应的处理器资源、第一内存分区对应的内存资源与第一存储器分区对应的存储器资源,在第二分区中包含了第二处理器分区、第二内存分区与第二存储器分区,在第二分区中运行的第一系统可以使用第二处理器分区对应的处理器资源、第二内存分区对应的内存资源与第二存储器分区对应的存储器资源,在第三分分区中包含了第三处理器分区、第三内存分区与第三存储器分区,在第三分区中运行的第二系统可以使用第三处理器分区对应的处理器资源、第三内存分区对应的内存资源与第三存储器分区对应的存储器资源,由此可见,在不同分区中运行的系统使用的是分配给系统所在的分区的资源。在本实施例中,第二系统用于运行第二应用,移动终端通过第二系统运行的第二应用与车载娱乐系统进行交互,示例地,移动终端可以通过第二系统运行的第二应用,将移动终端上正在播放的媒体数据发送给车载娱乐系统,由车载娱乐系统对媒体数据进行处理,并由车载设备的播放设备对媒体数据进行播放。在本实施例中,通过移动终端划分的第一分区、第二分区与第三分区,为移动操作系统、第一系统与第二系统分别配置独立的硬件资源,确保不同系统的安全性。
在本实施例中,移动终端的系统架构如图4所示,系统架构的最底层为移动终端的硬件,在系统架构中还存在虚拟机监视器,基于虚拟机监视器能够通过虚拟化技术运行移动操作系统、第一系统与第二系统,其中,移动操作系统与第一系统是基于Kernel的基础上运行,第三系统是基于QNX的基础上运行,系统架构的最上层为人机界面,人机界面为系统与用户之间进行交互和信息交换的媒介。此外,移动终端的系统架构中还存在电源管理系统,用于管理移动终端的电池的使用状况。
在另一种实施例中,移动操作系统上主要运行的是用户下载的娱乐应用,例如音乐播放软件等,或者需要输出音频数据和/或视频数据的应用,例如导航软件,而车载娱乐系统主要负责管理车载设备上的音频数据和视频数据的输出,因此,可以在第一分区中运行第二系统,实现移动操作系统与车载娱乐系统之间的数据交互。
在本申请实施例中,在移动终端与车载设备进行连接后,第二系统借助移动终端的算力,能够支持新版本的应用在车载设备上运行,例如,在移动终端与车载设备进行连接后,通过第二系统,最新版本的播放软件能够通过车载设备的扬声器输出相关的音频数据,除了基本的播放功能之外,并且可以在车载设备上实现最新版本的播放软件支持的相关功能,例如定时关闭音频数据的输出,或者,发出语音指令控制播放软件等。基于移动终端上不同分区运行的系统,使得移动终端与车载设备之间的交互成为现实,在车载设备上能够显示移动终端运行的一些功能,比如导航功能、音频播放和视频播放,同时通过移动终端可以控制车载设备功能的开启或关闭。
在一实施例中,每个分区分配了对应的系统资源,移动操作系统、第一系统与第二系统是在对应的分区中运行,也就是移动操作系统、第一系统与第二系统在运行过程中,访问的内存空间会受到系统所在的分区的限制,在每个分区对应的系统启动时,为每个系统配置对应分区的访问地址,避免系统访问属于其他分区的地址,例如,第二分区的第一系统启动时,为第一系统配置第二分区的访问地址,其中,为第一系统配置的第二分区的访问地址与第二分区所分配的内存地址一致,从而限定了第一系统在运行的过程中访问的是第一分区的内存地址。
在实际应用中,可以由移动终端的特权域为不同的分区进行配置,在完成对分区的配置之后,其他非特权域将无法调整每个分区允许访问的内存地址。
在一实施例中,当移动终端与车载设备连接的情况下,车载设备能够调用移动终端配置的外设以获取相应的采集信号,具体地,移动终端配置了不同的外设,例如摄像头、麦克风、扬声器和陀螺仪等,当移动终端与车载设备连接后,车载设备可以通过第一接口调用移动终端的外设的采集信号,其中,第一接口是由移动终端操作系统提供的数据交互接口,车载设备可以通过第一接口向移动终端发送第一请求,移动终端接收车载设备通过第一接口发起的第一请求,并基于第一请求向车载设备发送移动终端的至少一个第一外设的第一采集信号,示例地,移动终端与车载设备连接,其中,移动终端上正在运行的音乐播放软件将音频数据传输至车载设备,由车载设备的车载娱乐系统接收并输出音频数据,在音频播放的过程中,用户可能通过语音指令调整音量或者发出暂停播放等指令,车载设备可以通过第一请求获取移动终端的麦克风的第一采集信号,用于确定用户是否发出相关的控制指令,进而控制车载设备上的音频播放的相关播放参数。在实际应用中,移动操作系统提供的第一接口也可以被终端操作系统上运行的应用调用。
在一实施例中,移动终端与车载设备连接后,移动终端也能调用并访问车载设备的至少一个第二外设,从而获取车载设备的至少一个第二外设的第二采集信号。车载设备上配置有不同的第二外设,例如摄像头、麦克风、扬声器、雷达等,第二外设能够通过不同的硬件接口连接到车载设备,并且能够将第二外设采集的信号,例如视频信号、音频信号等传输到车载设备,在移动终端与车载设备连接后,移动终端可以通过第二接口调取第二采集信号,其中,第二接口是由车载设备提供的数据交互接口,示例地,移动操作系统或者第一系统通过第二接口向车载设备发送第二请求以获取车载设备的摄像头采集的行车视频,可以接收车载设备通过第二接口发送的车载设备的摄像头的第二采集信号。在本实施例中,第二请求可以为移动操作系统向车载设备发送的,也就是移动操作系统上运行的应用存在调用车载设备的至少一个第二外设的需求,或者,第二请求由第一系统向车载设备发送的,也就是第一系统上运行的第一应用存在调用车载设备的至少一个第二外设的需求。
如图5所示,图5示出了移动终端调用车载设备的外设的示意图。当移动终端上运行的应用需要调用车载设备的外设的情况下,由移动终端的逻辑模块统一管理和分配,逻辑模块将调用请求通过硬件抽象层传输到移动终端上的虚拟设备,虚拟设备将请求传输至车载设备上的云服务器,车载设备上的逻辑模块根据请求通过硬件抽象层调用到对应的外设,从而使移动终端能够实现对车载设备上的外设进行调用的功能。此外,车载设备上的逻辑模块也可以对车载设备上的应用的请求进行管理,通过硬件抽象层调用对应的外设,实现了车载设备上运行的应用对车载设备的外设的调用。
在实际应用中,在多个移动终端与同一个车载设备连接的场景中,车载设备的至少一个第二外设能够被多个移动终端进行调用,其中,移动终端调用的第二外设由车载设备的逻辑模块统一管理和分配,并且,车载设备为第二外设提供的虚拟接口也可以被车载设备上的汽车安全系统上运行的应用和车载娱乐系统上运行的应用调用。
在一实施例中,移动终端接收到的第二采集信号是经过车载设备的过滤处理的,具体地,当第二请求所请求的第二采集信号为车载娱乐系统相关的信号的情况下,车载设备可以直接将第二采集信号发送给移动终端,当第二请求所请求的第二采集信号为汽车安全系统相关的信号的情况下,车载设备会对第二采集信号进行加密处理或者脱敏处理,使得第二采集信号能够隔离在汽车安全系统内部,确保了车载设备的数据的安全性。
为实现本申请实施例的交互方法,本申请实施例还提供了一种交互装置,如图6所示,该交互装置包括:
划分单元601,用于基于移动终端的系统资源划分出隔离的至少两个分区;所述至少两个分区至少包括第一分区和第二分区;
第一运行单元602,用于在所述第一分区中运行所述移动终端的移动操作系统,以及第二运行单元603,用于在所述第二分区运行第一系统;所述第一系统用于运行第一应用;所述第一应用为与汽车安全系统交互的应用。
在一实施例中,所述至少两个分区还包括第三分区,所述装置还用于:
在所述第三分区中运行第二系统;所述第二系统用于运行第二应用;所述第二应用为与车载娱乐系统交互的应用。
在一实施例中,第一运行单元602在所述第一分区中运行所述移动终端的移动操作系统时,所述装置还用于:
在所述第一分区中运行第二系统;所述第二系统用于运行第二应用;所述第二应用为与车载娱乐系统交互的应用。
在一实施例中,所述装置还用于:
在每个分区对应的系统启动时,配置对应分区的访问地址;其中,
所述访问地址表征对应的分区允许访问的内存地址。
在一实施例中,所述装置还用于:
接收车载设备通过第一接口发起的第一请求;所述第一请求用于请求所述移动终端的至少一个第一外设的第一采集信号;
通过所述第一接口向所述车载设备发送所述移动终端的至少一个第一外设的第一采集信号;其中。
所述第一接口为所述移动终端操作系统提供的数据交互接口。
在一实施例中,所述装置还用于:
基于第二接口,通过所述移动操作系统或者所述第一系统向车载设备发送第二请求;所述第二请求用于请求所述车载设备的至少一个第二外设的第二采集信号;
接收所述车载设备通过所述第二接口发送的至少一个第二外设的第二采集信号;其中,
所述第二接口为所述车载设备提供的数据交互接口。
在一实施例中,所述第二采集信号经所述车载设备过滤处理后下发。
实际应用时,划分单元601、第一运行单元602、第二运行单元603可由交互装置中的处理器来实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
需要说明的是,上述图6实施例提供的交互装置在进行交互时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的交互装置与交互方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种移动终端,图7为本申请实施例移动终端的硬件组成结构示意图,如图7所示,移动终端包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的交互方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,移动终端中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持移动终端的操作。这些数据的示例包括:用于在移动终端上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于计算机可读存储介质中,该计算机可读存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的计算机可读存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。