CN113176899A - 一种多安卓操作系统的运行方法及终端设备 - Google Patents
一种多安卓操作系统的运行方法及终端设备 Download PDFInfo
- Publication number
- CN113176899A CN113176899A CN202110288700.5A CN202110288700A CN113176899A CN 113176899 A CN113176899 A CN 113176899A CN 202110288700 A CN202110288700 A CN 202110288700A CN 113176899 A CN113176899 A CN 113176899A
- Authority
- CN
- China
- Prior art keywords
- android operating
- operating system
- management module
- operating systems
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000002955 isolation Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 21
- 238000005516 engineering process Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 description 230
- 230000006870 function Effects 0.000 description 88
- 239000010410 layer Substances 0.000 description 19
- 238000004590 computer program Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 239000012792 core layer Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 108091029480 NONCODE Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本发明实施例公开了一种多安卓操作系统的运行方法及终端设备,应用于多系统技术领域,可解决现有技术中终端设备中存储的文件以及应用程序中可能保存有用户的隐私信息,存在暴露的风险的问题。该终端设备包括:主Host系统和M个安卓操作系统;该方法包括:通过Host系统的系统管理模块创建M个安卓操作系统,M个安卓操作系统中的每个安卓操作系统之间相互隔离;通过Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统;其中,M个安卓操作系统中的不同安卓操作系统之间的隔离方式包括:系统隔离,文件系统隔离以及网络隔离中的至少一种。
Description
技术领域
本发明实施例涉及多系统技术领域,尤其涉及一种多安卓操作系统的运行方法及终端设备。
背景技术
目前,大部分终端设备中运行有一套操作系统,用户越来越习惯将图片、视频、文件等存储在终端设备中,并且会安装较多应用程序,以丰富日常生活以及工作,这些文件以及应用程序中可能保存有用户的隐私信息,这样存在暴露的风险。
发明内容
本发明实施例提供一种多安卓操作系统的运行方法及终端设备,用以解决现有技术中终端设备中存储的文件以及应用程序中可能保存有用户的隐私信息,存在暴露的风险的问题。为了解决上述技术问题,本发明实施例是这样实现的:
第一方面,提供一种多安卓操作系统的运行方法,应用于终端设备,所述终端设备包括:主Host系统和M个安卓操作系统,所述方法包括:通过Host系统的系统管理模块创建所述M个安卓操作系统,所述M个安卓操作系统中的每个安卓操作系统之间相互隔离;
通过所述Host系统的系统管理模块分别控制所述M个安卓操作系统中的每个安卓操作系统;
其中,所述M个安卓操作系统中的不同安卓操作系统之间的隔离方式包括:系统隔离,文件系统隔离以及网络隔离中的至少一种。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
当第一安卓操作系统置于前台运行时,若通过所述第一安卓操作系统的管理应用程序检测到用户发送的用于启动第二安卓操作系统的运行指令,则通过所述管理应用程序将所述运行指令发送给所述Host系统的系统管理模块,以使得所述系统管理模块控制所述第二安卓操作系统在后台开始运行;
和/或,
当所述第一安卓操作系统置于前台运行时,若通过所述第一安卓操作系统的管理应用程序检测到所述用户发送的用于停止所述第二安卓操作系统的停止指令,则通过所述管理应用程序将所述停止指令发送给所述Host系统的系统管理模块,以使得所述系统管理模块控制所述第二安卓操作系统停止运行;
其中,所述第一安卓操作系统和所述第二安卓操作系统为所述M个安卓操作系统的不同操作系统。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述隔离方式包括所述系统隔离,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
通过所述Host系统的系统管理模块获取当前应用程序进程的系统标识以及驱动程序标识,所述驱动程序标识用于指示目标驱动程序;
若检测到所述系统标识与第一标识相同,则通过所述Host系统的系统管理模块控制所述第一安卓操作系统运行第一命名空间中的所述目标驱动程序;
若检测到所述系统标识与第二标识相同,则通过所述Host系统的系统管理模块控制所述第二安卓操作系统运行第二命名空间中的所述目标驱动程序;
其中,所述第一标识用于标记所述第一安卓操作系统的所述第一命名空间,所述第二标识用于标记所述第二安卓操作系统的所述第二命名空间。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述若检测到所述系统标识与第一标识相同,则通过所述Host系统的系统管理模块控制所述第一安卓操作系统运行第一命名空间中的所述目标驱动程序,包括:
若检测到所述系统标识与所述第一标识相同,则通过所述Host系统的系统管理模块在所述第一命名空间中确定与所述驱动程序标识对应的所述目标驱动程序;
通过所述Host系统的系统管理模块运行所述第一安卓操作系统,并通过所述Host系统的系统管理模块控制所述第一安卓操作系统运行所述第一命名空间中的所述目标驱动程序。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过所述Host系统的系统管理模块获取当前应用进程的系统标识以及驱动程序标识之前,还包括:
根据命名空间namespace技术,通过所述Host系统的系统管理模块生成所述第一安卓操作系统的所述第一命名空间,并对所述第一命名空间进行标记,得到所述第一标识;
根据所述namespace技术,通过所述Host系统的系统管理模块生成所述第二安卓操作系统的所述第二命名空间,并对所述第二命名空间进行标记,得到所述第二标识。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
当所述第一安卓操作系统置于前台运行,所述第二安卓操作系统置于后台运行,且所述第二安卓操作系统中的目标应用程序接收到目标消息时,由所述第二安卓操作系统通过第二进程通信IPC通道向所述Host系统的信息传输模块发送所述目标消息,所述第二IPC通道为所述第二安卓操作系统与Host系统的信息传输模块之间的通道;
由所述信息传输模块通过第一IPC通道向所述第一安卓操作系统发送所述目标消息,所述第一IPC通道为所述第一安卓操作系统与所述信息传输模块之间的通道,以使得所述第一安卓操作系统输出所述目标消息。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述第一安卓操作系统输出所述目标消息之后,还包括:
若检测到所述用户用于指示将所述第二安卓操作系统置于前台运行的切换指令,则通过所述第一安卓操作系统由所述第一IPC通道,向Host系统的系统切换模块发送第一切换请求信息,所述第一切换请求信息用于请求将所述第二安卓操作系统置于前台运行;
通过所述Host系统的系统切换模块控制所述第二安卓操作系统置于前台运行,将所述第一安卓操作系统置于后台运行。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述隔离方式包括所述文件系统隔离,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
通过所述Host系统的系统管理模块将所述终端设备的存储空间划分为M个存储区域,所述M个存储区域相互独立;
通过所述Host系统的系统管理模块将所述M个安卓操作系统分别挂载在所述M个存储区域中,所述M个安卓操作系统与所述M个存储区域一一对应;
若检测到所述用户用于存储第一目标文件的存储指令,则通过所述Host系统的系统管理模块将第一目标文件存储至所述第一存储区域中。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述方法还包括:
通过所述Host系统的系统管理模块创建第M+1个安卓操作系统,以得到M+1个安卓操作系统;
通过所述Host系统的系统管理模块将所述终端设备的存储空间划分为M+1个存储区域,所述M+1个存储区域相互独立;
通过所述Host系统的系统管理模块将所述M+1个安卓操作系统分别挂载在所述M+1个存储区域中,所述M+1个安卓操作系统与所述M+1个存储区域一一对应。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述隔离方式包括所述文件系统隔离,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
通过所述Host系统的系统管理模块创建M个文件夹,所述M个文件夹与所述M个安卓操作系统一一对应;
通过所述Host系统的系统管理模块将每个安卓操作系统的根目录设置为与所述每个安卓操作系统对应的文件夹。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述隔离方式包括所述网络隔离,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
通过所述Host系统的系统管理模块在所述第一安卓操作系统的应用程序框架framework中创建第一虚拟网卡,在所述第二安卓操作系统的framework中创建第二虚拟网卡;
通过所述第一安卓操作系统中的所述第一虚拟网卡接收无线网络设备为所述第一虚拟网卡配置的第一IP地址;
通过所述第二安卓操作系统中的所述第二虚拟网卡接收所述无线网络设备为所述第二虚拟网卡配置的第二IP地址;
其中,所述第一IP地址与所述第二IP地址不同。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述方法还包括:
每个安卓操作系统中安装有与移动设备管理MDM设备关联的管理应用程序;
通过第一安卓操作系统中的管理应用程序接收所述MDM设备发送的第一权限配置指令,所述第一权限配置指令包括:至少一个第一功能项,以及每个第一功能项的权限配置信息;
通过所述第一安卓操作系统中的管理应用程序根据所述每个第一功能项的权限配置信息对所述每个第一功能项进行配置。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过第一安卓操作系统中的管理应用程序接收所述MDM设备发送的第一权限配置指令之前,还包括:
通过所述第一安卓操作系统中的管理应用程序向所述MDM设备发送第一权限配置请求信息,所述第一权限配置请求信息包括:所述至少一个第一功能项,以及所述每个第一功能项的权限配置信息。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述方法还包括:
通过所述第一安卓操作系统中的管理应用程序向所述MDM设备发送所述用户的身份信息,所述身份信息包括:所述用户的职业以及所述用户使用所述终端设备的行为数据;
通过所述第一安卓操作系统中的管理应用程序接收所述MDM设备发送的与所述身份信息相匹配的第二权限配置指令,所述第二权限配置指令包括:至少一个第二功能项,以及每个第二功能项的权限配置信息;
通过所述第一安卓操作系统中的管理应用程序根据所述每个第二功能项的权限配置信息对所述每个第二功能项进行配置。
作为一种可选的实施方式,在本发明实施例的第一方面中,所述通过所述第一安卓操作系统中的管理应用程序根据所述每个第二功能项的权限配置信息对所述每个第二功能项进行配置之后,还包括:
通过所述第一安卓操作系统中的管理应用程序接收所述MDM设备发送的解除权限配置指令,所述解除权限配置指令包括:目标功能项,以及所述目标功能项的解除权限配置信息;
通过所述第一安卓操作系统中的管理应用程序根据所述解除权限配置指令,解除对所述目标功能项的权限配置。
第二方面,提供一种终端设备,该终端设备包括:创建模块,用于通过Host系统的系统管理模块创建M个安卓操作系统,所述M个安卓操作系统中的每个安卓操作系统之间相互隔离;
处理模块,用于通过所述Host系统的系统管理模块分别控制所述M个安卓操作系统中的每个安卓操作系统;
其中,所述M个安卓操作系统中的不同安卓操作系统之间的隔离方式包括:系统隔离,文件系统隔离以及网络隔离中的至少一种。
第三方面,提供一种终端设备,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明实施例第一方面中的多安卓操作系统的运行方法。
第四方面,提供一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行本发明实施例第一方面中的多安卓操作系统的运行方法。所述计算机可读存储介质包括ROM/RAM、磁盘或光盘等。
第五方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
第六方面,提供一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:本发明实施例中,终端设备中包括Host系统和M个安卓操作系统,终端设备可以通过Host系统的系统管理模块可以创建并分别控制每个安卓操作系统,并且使得每个安卓操作系统之间通过系统隔离,文件系统隔离以及网络隔离中的至少一种隔离方式进行隔离。通过该方案,终端设备中的多个安卓操作系统独立运行,相互隔离,这样用户就可以在不同的场景使用不同的安卓操作系统,不存在隐私泄露的情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多安卓操作系统的运行方法的流程示意图一;
图2是本发明实施例提供的一种安卓操作系统的架构示意图一;
图3是本发明实施例提供的一种安卓操作系统的架构示意图二;
图4是本发明实施例提供的一种多安卓操作系统的运行方法的流程示意图二;
图5是本发明实施例提供的一种多安卓操作系统的运行方法的流程示意图三;
图6是本发明实施例提供的一种多安卓操作系统的运行方法的流程示意图四;
图7是本发明实施例提供的一种终端设备的结构示意图一;
图8是本发明实施例提供的一种终端设备的结构示意图二;
图9是本发明实施例提供的一种终端设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一安卓操作系统和第二安卓操作系统等是用于区别不同的安卓操作系统,而不是用于描述安卓操作系统的特定顺序。
本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
相关技术中,大部分终端设备中运行有一套操作系统,用户越来越习惯将图片、视频、文件等存储在终端设备中,并且会安装较多应用程序,以丰富日常生活以及工作,这些文件以及应用程序中可能保存有用户的隐私信息,这样存在暴露的风险。
为了解决上述问题,本发明实施例提供一种多安卓操作系统的运行方法及终端设备,终端设备中包括Host系统和M个安卓操作系统,终端设备可以通过Host系统的系统管理模块可以创建并分别控制每个安卓操作系统,并且使得每个安卓操作系统之间通过系统隔离,文件系统隔离以及网络隔离中的至少一种隔离方式进行隔离。通过该方案,终端设备中的多个安卓操作系统独立运行,相互隔离,这样用户就可以在不同的场景使用不同的安卓操作系统,不存在隐私泄露的情况。
本发明实施例涉及的终端设备可以为直播设备,该直播设备中包括主机和与主机电连接的直播显示屏,可选的,该直播设备还可以包括有麦克风、扬声器等器件,本发明实施例不作限定。其中,主机中安装有本发明实施例中的Host系统和M个安卓操作系统。
本发明实施例涉及的终端设备还可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端设备、可穿戴设备、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本或者个人数字助理(Personal Digita1 Assistant,PDA)等电子设备。其中,可穿戴设备可以为智能手表、智能手环、手表电话、智能脚环、智能耳环、智能项链、智能耳机等,本发明实施例不作限定。
本发明实施例提供的多安卓操作系统的运行方法的执行主体可以为上述的终端设备,也可以为该终端设备中能够实现该多安卓操作系统的运行方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本发明实施例不作限定。下面以终端设备为例,对本发明实施例提供的多安卓操作系统的运行方法进行示例性的说明。
本发明实施例提供的多安卓操作系统的运行方法,可以应用于用户使用终端设备的场景。
实施例一
如图1所示,本发明实施例提供一种多安卓操作系统的运行方法,该方法可以包括下述步骤:
101、通过Host系统的系统管理模块创建M个安卓操作系统。
在本发明实施例中,终端设备中包括Host系统和M个安卓操作系统,M为大于或者等于2的整数。
其中,Host系统中包括系统管理模块(Containercontrol),该系统管理模块主要用于创建、销毁、运行或者停止安卓操作系统。
需要说明的是,Host系统是用于控制其他安卓操作系统的系统,核心功能包括:系统间切换、系统间信息传递。终端设备开启后,会自动执行Host系统代码,Host系统自动创建一个安卓操作系统并运行该安卓操作系统;并且,Host系统还可以基于内核空间和运行内存创建更多的安卓操作系统,多个安卓操作系统是并列运行,相互独立的。但是在终端设备中,只有一个安卓操作系统可以在前台运行,其他的安卓操作系统只能在终端设备的后台运行。
需要说明的是,安卓操作系统是一种基于Linux的自由及开放源代码的操作系统,主要应用于移动设备。安卓操作系统采用了分层的架构,如图2所示,分别为应用程序层、应用程序框架层、系统运行库层以及Linux核心层,在系统运行库层中还包括运行环境。
可选的,应用程序层(Application)就是开发的应用程序,属于用户应用层面,其中具体可以包括:主程序、联系人、浏览器等。
可选的,应用程序框架层(Application Framework)就是开发人员可以完全访问应用程序所使用的应用程序编程接口(Application Programming Interface,API),也就是隐藏在每个应用程序后面的一系列的服务和系统。应用程序架构层的设计简化了应用程序重用机制,任何一个应用程序都可以发布各自的功能块,并且任何其它的应用程序都可以在遵循框架的安全性的基础上,使用其所发布的功能块。同样的,用户也可以通过该简化后的应用程序重用机制方便的替换应用程序组件。
其中,应用程序框架层至少可以包括:
(1)丰富可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),以及可嵌入的web浏览器等。
(2)内容提供器(Content Providers),可以使得应用程序访问另一个应用程序的数据(如联系人数据库),或者共享各自的数据。
(3)资源管理器(Resource Manager),可以提供非代码资源的访问,如本地字符串,图形,和布局文件(1ayout files)等。
(4)通知管理器(Notification Manager),可以使得应用程序在状态栏中显示自定义的提示信息。
(5)活动管理器(Activity Manager),可以用来管理应用程序的生命周期,并提供常用的导航回退功能。
可选的,系统运行库层(Libraries)包括一些C/C++库,这些库能被不同的应用组件使用。
其中,系统运行库层至少可以包括:
(1)系统C库:从伯克利软件套件(Berkeley Software Distribution,BSD)继承来的标准C系统函数库(Libc),系统C库为专门为基于嵌入式(embedded)Linux的设备定制的。
(2)媒体库:该媒体库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
(3)表层管理程序(Surface Manager):对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
(4)LibWebCore:web浏览器引擎,支持Android浏览器和一个可嵌入的web视图。
(5)SGL:底层的2D图形引擎。
(6)3D libraries:该库可以使用硬件3D加速或者使用高度优化的3D软加速。
(7)FreeType:位图(bitmap)和矢量(vector)字体显示。
(8)SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
需要说明的是,在系统运行库层中,还包括Android的运行环境(AndroidRuntime),java程序的运行需要java的核心包的支持,然后通过虚拟机来运行应用程序,运行环境中的核心库(Core Libraries)就相当于java的开发工具包(Java Developer Kit,JDK),是运行应用程序所需要的核心库;Dalvik虚拟机(DalvikVirtual Machine)就相当于Java虚拟机(Java Virtual Machine),是为Android开发的运行Android应用程序所需的虚拟机。
可选的,Linux核心层(Linux Kernel)是安卓操作系统的底层实现,提供核心系统服务,包括:安全、内存管理、进程管理、网络堆栈、驱动模型等。Linux核心层中还包括许多的驱动程序,比如:显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、WiFi驱动、蓝牙驱动、电源管理,正是通过这些驱动程序来驱动我们设备上的硬件设备的。
综上,安卓操作系统采用的分层架构,可以使用下层提供的服务为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化时,不会影响到上层,可以说是高内聚、低耦合。
在本发明实施例中,如图3所示,Host系统和M个安卓操作系统均是在Linux核心层中的功能实体,各个安卓操作系统中的管理应用程序均可以通过进程通信通道和Host系统的各个模块进行信息传输、系统管理、系统切换等操作。
其中,在Linux核心层中,还包括:无线局域网(WiFi)、帧缓冲(Framebuffer)、电源(Power)、进程通信(Binder)、音频(Radio)、图形处理器(GPU)、虚拟网卡(VirtualNIC)、信息输入(Input)等功能体,这些功能体分别通过namespace技术存在于不同安卓操作系统的命名空间中。
102、通过Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统。
在本发明实施例中,Host的系统管理模块可以分别控制每个安卓操作系统开始运行或者停止运行,具体的可以包括以下两种实现方式:
实现方式一:当第一安卓操作系统置于前台运行时,若通过第一安卓操作系统的管理应用程序检测到用户发送的用于启动第二安卓操作系统的运行指令,则通过管理应用程序将运行指令发送给Host系统的系统管理模块,以使得系统管理模块控制第二安卓操作系统在后台开始运行。
需要说明的是,在终端设备中,可以存在一个安卓操作系统在前台运行,其他的安卓操作系统可以在后台运行;并且,每个安卓操作系统中都可以安装有管理应用程序,每个安卓操作系统都可以通过管理应用程序与Host系统关联,以实现安卓操作系统与Host系统之间的指令收发或者是数据传输等。
在本发明实施例中,当第一安卓操作系统置于前台运行时,如果用户需要开始运行第二安卓操作系统,那么用户可以在第一安卓操作系统的管理应用程序中发送运行指令,当第一安卓操作系统的管理应用程序检测到该运行指令之后,可以将该运行指令发送给Host系统的系统管理模块,这样系统管理模块就可以根据该运行指令,控制第二安卓操作系统在后台开始运行。
其中,该运行指令用于启动第二安卓操作系统开始运行。
可选的,用户在第一安卓操作系统的管理应用程序中发送运行指令的方式,具体可以包括:用户在管理应用程序中点击启动第二安卓操作系统运行的控件;或者,用户在管理应用程序中输入预设文本信息或者预设手势信息,该预设文本信息或者预设手势信息可以用于指示发送运行指令。
实现方式二:当第一安卓操作系统置于前台运行时,若通过第一安卓操作系统的管理应用程序检测到用户发送的用于停止第二安卓操作系统的停止指令,则通过管理应用程序将停止指令发送给Host系统的系统管理模块,以使得系统管理模块控制第二安卓操作系统停止运行。
需要说明的是,在终端设备中,只有一个安卓操作系统可以在前台运行,其他的安卓操作系统只能在后台运行;并且,每个安卓操作系统中都安装有管理应用程序,每个安卓操作系统都可以通过管理应用程序与Host系统关联,以实现安卓操作系统与Host系统之间的指令收发或者是数据传输等。
在本发明实施例中,当第一安卓操作系统置于前台运行时,如果用户需要停止运行第二安卓操作系统,那么用户可以在第一安卓操作系统的管理应用程序中发送停止指令,当第一安卓操作系统的管理应用程序检测到该停止指令之后,可以将该停止指令发送给Host系统的系统管理模块,这样系统管理模块就可以根据该停止指令,控制第二安卓操作系统在后台停止运行。
其中,该停止指令用于启动第二安卓操作系统停止运行。
需要说明的是,本发明那个实施例中提到的所有第一安卓操作系统和第二安卓操作系统均为M个安卓操作系统的不同操作系统,M个安卓操作系统中除第一安卓操作系统和第二安卓操作系统以外的其他安卓操作系统均可以实现如第一安卓操作系统和第二安卓操作系统相同的方法。
可选的,用户在第一安卓操作系统的管理应用程序中发送停止指令的方式,具体可以包括:用户在管理应用程序中点击停止第二安卓操作系统运行的控件;或者,用户在管理应用程序中输入预设文本信息或者预设手势信息,该预设文本信息或者预设手势信息可以用于指示发送停止指令。
通过该两种可选的实现方式,终端设备可以通过Host系统的系统管理模块去控制每个安卓操作系统开始运行或者停止运行,实现每个安卓操作系统的单独控制。
在本发明实施例中,M个安卓操作系统中的每个安卓操作系统之间相互隔离。
其中,不同安卓操作系统之间的隔离方式包括:系统隔离,文件系统隔离以及网络隔离中的至少一种。
作为一种可选的实现方式,若不同安卓操作系统之间的隔离方式包括系统隔离,则Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,具体可以包括:通过Host系统的系统管理模块获取当前应用程序进程的系统标识以及驱动程序标识;若检测到系统标识与第一标识相同,则通过Host系统的系统管理模块控制第一安卓操作系统运行第一命名空间中的目标驱动程序;若检测到系统标识与第二标识相同,则通过Host系统的系统管理模块控制第二安卓操作系统运行第二命名空间中的目标驱动程序。
其中,驱动程序标识用于指示目标驱动程序,第一标识用于标记第一安卓操作系统的第一命名空间,第二标识用于标记第二安卓操作系统的第二命名空间。
需要说明的是,应用程序进程包含着应用程序所需要的资源。不同的应用程序进程之间是相对独立的,一个应用程序进程无法直接访问另一个应用程序进程的数据,一个应用程序进程运行的失败也不会影响其他应用程序进程的运行。
可选的,由于一个终端设备中只有一套驱动程序,每个安卓操作系统需要独立使用驱动程序,这就需要通过命名空间技术对每个安卓操作系统进行隔离。
命名空间技术是内核层用来隔离内核资源的方式。通过设置命名空间可以让一些应用程序进程只能看到与自己相关的一部分资源,而另外一些应用程序进程也只能看到与它们自己相关的资源,这两拨应用程序进程根本就感觉不到对方的存在。
需要说明的是,Host系统可以把一个安卓操作系统的相关资源指定在一个命名空间中,M个安卓操作系统与M个命名空间一一对应,该命名空间是一个逻辑上的概念,并不是存在M个实体的存储空间,M个命名空间可以并列存在,互相不干扰。设置命名空间是对全部系统资源的一种封装隔离,使得处于不同命名空间的进程拥有独立的全部系统资源,改变一个命名空间中的系统资源只会影响当前命名空间里的进程,对其他命名空间中的进程没有影响。
在本发明实施例中,Host系统的系统管理模块获取当前应用程序进程的系统标识以及驱动程序标识,若该系统标识与第一标识相同,则可以说明当前在前台运行的是第一安卓操作系统,然后系统管理模块控制第一安卓操作系统在第一命名空间中创建内核线程以运行目标驱动程序;若该系统标识与第二标识相同,则可以说明当前在前台运行的是第二安卓操作系统,然后系统管理模块控制第二安卓操作系统在第二命名空间中创建内核线程以运行目标驱动程序。
其中,内核可以看作一个服务进程,用于管理软硬件资源,并响应用户进程的种种合理以及不合理的请求。内核线程就是内核的分身,一个内核线程可以处理一件特定事情,内核负责调度内核线程,内核线程只运行在内核态。在本发明实施例中,系统管理模块在第一命名空间中创建内核线程以运行目标驱动程序,可以相当于在第一命名空间中为目标驱动程序创建了一套运行环境,以使得目标驱动程序可以正常运行。
需要说明的是,该系统标识可以是一个数字,每个安卓操作系统对应一个命名空间,每个命名空间的系统标识是不同的,系统管理模块可以根据该数字确定当前运行的安卓操作系统以及命名空间;驱动程序标识可以是一个图标或者文本,用于指示目标驱动程序。
示例性的,假设第一标识为3190,第二标识为3846。Host系统的系统管理模块获取到当前应用程序进程的系统标识为3190,驱动程序标识为相机图案,那么可以发现系统标识与第一标识相同,并且相机图案指示相机驱动程序,那么系统管理模块就可以运行第一安卓操作系统,并控制第一安卓操作系统在第一命名空间中运行相机驱动程序。
可选的,若检测到系统标识与第一标识相同,则通过Host系统的系统管理模块控制第一安卓操作系统运行第一命名空间中的目标驱动程序,具体可以包括:若检测到系统标识与第一标识相同,则通过Host系统的系统管理模块在第一命名空间中确定与驱动程序标识对应的目标驱动程序;通过Host系统的系统管理模块运行第一安卓操作系统,并通过Host系统的系统管理模块控制第一安卓操作系统运行第一命名空间中的目标驱动程序。
在本发明实施例中,系统管理模块可以在检测到系统标识与第一标识相同的情况下,先在第一安卓操作系统的第一命名空间中确定与驱动程序标识对应的目标驱动程序,并运行第一安卓操作系统,以及控制第一安卓操作系统运行第一命名空间中的目标驱动程序。
同理,若检测到系统标识与第二标识相同,则通过Host系统的系统管理模块控制第二安卓操作系统运行第二命名空间中的目标驱动程序,具体可以包括:若检测到系统标识与第二标识相同,则通过Host系统的系统管理模块在第二命名空间中确定与驱动程序标识对应的目标驱动程序;通过Host系统的系统管理模块运行第二安卓操作系统,并通过Host系统的系统管理模块控制第二安卓操作系统执行第二命名空间中的目标驱动程序。
在本发明实施例中,系统管理模块可以在检测到系统标识与第二标识相同的情况下,先在第二安卓操作系统的第二命名空间中确定与驱动程序标识对应的目标驱动程序,并运行第二安卓操作系统,以及控制第二安卓操作系统运行第二命名空间中的目标驱动程序。
进一步的,通过Host系统的系统管理模块获取当前应用进程的系统标识以及驱动程序标识之前,还可以包括:根据命名空间(namespace)技术,通过Host系统的系统管理模块生成第一安卓操作系统的第一命名空间,并对第一命名空间进行标记,得到第一标识;根据namespace技术,通过Host系统的系统管理模块生成第二安卓操作系统的第二命名空间,并对第二命名空间进行标记,得到第二标识。
在本发明实施例中,系统管理模块可以根据命名空间技术,为M个安卓操作系统生成M个命名空间,安卓操作系统与命名空间一一对应,并对M个命名空间进行标记,分别得到每个命名空间的标识,以使得每个命名空间拥有不同的标识。
作为另一种可选的实现方式,若不同安卓操作系统之间的隔离方式包括文件系统隔离,则Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,具体可以包括两种实现方式:
实现方式一:通过Host系统的系统管理模块将终端设备的存储空间划分为M个存储区域,M个存储区域相互独立;通过Host系统的系统管理模块将M个安卓操作系统分别挂载在M个存储区域中,M个安卓操作系统与M个存储区域一一对应;若检测到用户用于存储第一目标文件的存储指令,则通过Host系统的系统管理模块将第一目标文件存储至第一存储区域中。
在本发明实施例中,Host系统的系统管理模块创建了M个安卓操作系统之后,可以将终端设备的存储空间划分为M个相互独立的存储区域,并将每个安卓操作系统挂载在一个存储区域中,一个存储区域中只可以挂载一个安卓操作系统,这样当前台运行第一安卓操作系统的时候,用户就可以将文件存储到与第一安卓操作系统对应的存储区域中,实现文件系统的隔离。
需要说明的是,将第一安卓操作系统挂载到一个存储区域中,即是将第一安卓操作系统的根目录设置为与第一安卓操作系统对应的存储区域。
其中,根目录就是系统存储文件的顶层目录,也就是逻辑驱动器的最上一级目录,根目录与子目录是相对概念。在本发明实施例中,根目录可以理解为保存路径,将每个安卓操作系统的根目录设置为与每个安卓操作系统对应的文件夹之后,当前台运行第一安卓操作系统的时候,系统管理模块就会将文件保存至第一安卓操作系统的根目录中,也就是与第一安卓操作系统对应的第一文件夹。
进一步的,通过Host系统的系统管理模块创建第M+1个安卓操作系统,以得到M+1个安卓操作系统;通过Host系统的系统管理模块将终端设备的存储空间划分为M+1个存储区域,M+1个存储区域相互独立;通过Host系统的系统管理模块将M+1个安卓操作系统分别挂载在M+1个存储区域中,M+1个安卓操作系统与M+1个存储区域一一对应。
在本发明实施例中,当系统管理模块新创建了一个安卓操作系统的时候,系统管理模块就需要将终端设备的存储空间重新划分为M+1个相互独立的存储区域,并将每个安卓操作系统挂载在一个存储区域中,一个存储区域中只可以挂载一个安卓操作系统,这样当前台运行第一安卓操作系统的时候,用户就可以将文件存储到与第一安卓操作系统对应的存储区域中,实现文件系统的隔离。
通过这种实现方式,终端设备的存储空间划分的存储区域的数量需要与安卓操作系统的数量相等,当安卓操作系统的数量增加或者减少的时候,终端设备的存储空间都需要重新划分,以实现安卓操作系统与存储区域一一对应。
实现方式二:通过Host系统的系统管理模块创建M个文件夹,M个文件夹与M个安卓操作系统一一对应;通过Host系统的系统管理模块将每个安卓操作系统的根目录设置为与每个安卓操作系统对应的文件夹。
在本发明实施例中,Host系统的系统管理模块还可以创建与M个安卓操作系统一一对应的M个文件夹,并且将每个安卓操作系统的根目录设置为与每个安卓操作系统对应的文件夹。
需要说明的是,根目录就是系统存储文件的顶层目录,也就是逻辑驱动器的最上一级目录,根目录与子目录是相对概念。在本发明实施例中,根目录可以理解为保存路径,将每个安卓操作系统的根目录设置为与每个安卓操作系统对应的文件夹之后,当前台运行第一安卓操作系统的时候,系统管理模块就会将文件保存至第一安卓操作系统的根目录中,也就是与第一安卓操作系统对应的第一文件夹。
示例性的,假设终端设备中存在5个安卓操作系统,那么系统管理模块可以为这5个安卓操作系统建立5个文件夹,并且将第一安卓操作系统的根目录设置为“C:\User\Program Files\第一安卓操作系统”,将第二安卓操作系统的根目录设置为“C:\User\Program Files\第二安卓操作系统”,将第三安卓操作系统的根目录设置为“C:\User\Program Files\第三安卓操作系统”,将第四安卓操作系统的根目录设置为“C:\User\Program Files\第四安卓操作系统”,将第五安卓操作系统的根目录设置为“C:\User\Program Files\第五安卓操作系统”。当前台运行第一安卓操作系统的时候,系统管理模块就会将文件保存至“C:\User\Program Files\第一安卓操作系统”的文件夹中。
进一步的,通过Host系统的系统管理模块创建第M+1个安卓操作系统,以得到M+1个安卓操作系统;通过Host系统的系统管理模块创建第M+1个文件夹;通过Host系统的系统管理模块将第M+1个安卓操作系统的根目录设置为与第M+1个文件夹。
通过这种实现方式,当安卓操作系统的数量增加或者减少的时候,系统管理模块只需要增加或者减少与变化的安卓操作系统对应的文件夹即可,不需要多次划分存储空间,减少终端设备的功耗。
作为另一种可选的实现方式,若不同安卓操作系统之间的隔离方式包括网络隔离,则Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,具体可以包括:通过Host系统的系统管理模块在第一安卓操作系统的应用程序框架framework中创建第一虚拟网卡,在第二安卓操作系统的framework中创建第二虚拟网卡;通过第一安卓操作系统中的第一虚拟网卡接收无线网络设备为第一虚拟网卡配置的第一IP地址;通过第二安卓操作系统中的第二虚拟网卡接收无线网络设备为第二虚拟网卡配置的第二IP地址。
在本发明实施例中,Host系统的系统管理模块可以在每个安卓操作系统的framework中创建不同的虚拟网卡,不同的虚拟网卡可以向无线网络设备请求分配IP地址,不同的虚拟网卡接收到的IP地址是不同的,该IP地址可以用于区别不同的操作系统。
本发明实施例提供一种多安卓操作系统的运行方法,终端设备中包括Host系统和M个安卓操作系统,终端设备可以通过Host系统的系统管理模块可以创建并分别控制每个安卓操作系统,并且使得每个安卓操作系统之间通过系统隔离,文件系统隔离以及网络隔离中的至少一种隔离方式进行隔离。通过该方案,终端设备中的多个安卓操作系统独立运行,相互隔离,这样用户就可以在不同的场景使用不同的安卓操作系统,不存在隐私泄露的情况。
实施例二
如图4所示,本发明实施例提供一种多安卓操作系统的运行方法,在本发明实施例中,终端设备中的Host系统可以和安卓操作系统中的管理应用程序进行交互以实现多安卓操作系统的运行方法,该方法还可以包括下述步骤:
401、通过Host系统的系统管理模块创建M个安卓操作系统。
402、由第二安卓操作系统通过第二IPC通道向Host系统的信息传输模块发送目标消息。
在本发明实施例中,当第一安卓操作系统置于前台运行,第二安卓操作系统置于后台运行,且第二安卓操作系统中的目标应用程序接收到目标消息时,由第二安卓操作系统中的管理应用程序通过第二进程通信(Inter-Process Communication,IPC)通道向Host系统的信息传输模块发送目标消息。
其中,第二IPC通道为第二安卓操作系统中的管理应用程序与Host系统的信息传输模块之间的通道。Host系统的信息传输模块主要用于不同的安卓操作系统之间的信息传输,不同的安卓操作系统之间的信息传输只能通过Host系统进行传递。
需要说明的是,信息传输模块与系统管理模块可以是Host系统中的同一个模块。
示例性的,假设第一安卓操作系统置于前台运行,第二安卓操作系统置于后台运行,此时第二安卓操作系统中的微信应用程序突然接收到一条新消息“吃饭了吗”,那么第二安卓操作系统中的管理应用程序就可以通过第二IPC通道,将该新消息“吃饭了吗”发送给Host系统的信息传输模块。
403、由信息传输模块通过第一IPC通道向第一安卓操作系统发送目标消息。
在本发明实施例中,Host系统的信息传输模块接收到第二安卓操作系统发送的目标消息之后,可以通过第一IPC通道向第一安卓操作系统中的管理应用程序发送目标消息。
其中,第一IPC通道为第一安卓操作系统中的管理应用程序与信息传输模块之间的通道。
可选的,当第一安卓操作系统中的管理应用程序通过第一IPC通道接收到信息传输模块发送的目标消息之后,还可以输出该目标信息,以告知用户第二安卓操作系统接收到了目标消息。
404、通过第一安卓操作系统由第一IPC通道,向Host系统的系统切换模块发送第一切换请求信息。
在本发明实施例中,在第一安卓操作系统中的管理应用程序输出目标消息之后,如果检测到用户用于指示将第二安卓操作系统置于前台运行的切换指令,则通过第一安卓操作系统中的管理应用程序由第一IPC通道,向Host系统的系统切换模块发送第一切换请求信息。
其中,该第一切换请求信息用于请求将第二安卓操作系统置于前台运行,Host系统的系统切换模块(Switch模块)主要用于不同的安卓操作系统之间的切换。
可选的,用户在第一安卓操作系统中的管理应用程序中发送切换指令的方式,具体可以包括:用户在管理应用程序中点击切换第二安卓操作系统置于前台运行的控件;或者,用户在管理应用程序中输入预设文本信息或者预设手势信息,该预设文本信息或者预设手势信息可以用于指示将第二安卓操作系统置于前台运行。
405、通过Host系统的系统切换模块控制第二安卓操作系统置于前台运行。
在本发明实施例中,Host系统的系统切换模块可以切换第二安卓操作系统置于前台运行。
406、通过Host系统的系统切换模块将第一安卓操作系统置于后台运行。
在本发明实施例中,Host系统的系统切换模块可以切换第一安卓操作系统置于后台运行。
本发明实施例提供一种多安卓操作系统的运行方法,终端设备中包括Host系统和M个安卓操作系统,当后台运行的安卓操作系统接收到新消息的时候,可以将消息发送给Host系统的信息传输模块,并由Host系统的信息传输模块将消息发送给前台运行的安卓操作系统,并且终端设备可以通过Host系统的系统切换模块实现前台运行和后台运行的安卓操作系统之间的切换。通过该方案,终端设备可以实现不同安卓操作系统之间的信息传输和系统切换,使得终端设备的每个安卓操作系统之间更加灵活。
实施例三
如图5所示,本发明实施例提供一种多安卓操作系统的运行方法,在本发明实施例中,终端设备可以和MDM设备进行交互以实现多安卓操作系统的运行方法,该方法还可以包括下述步骤:
501、通过Host系统的系统管理模块创建M个安卓操作系统。
502、通过第一安卓操作系统中的管理应用程序接收MDM设备发送的第一权限配置指令。
在本发明实施例中,第一安卓操作系统中的管理应用程序可以接收MDM设备发送的第一权限配置指令。
需要说明的是,每个安卓操作系统中均安装有与MDM设备关联的管理应用程序,每个安卓操作系统均可以通过管理应用程序接收MDM设备分配的权限配置。
其中,该第一权限配置指令包括:至少一个第一功能项,以及每个第一功能项的权限配置信息。
示例性的,该第一权限配置指令可以包括:将第一安卓操作系统的麦克风功能禁用,将第一安卓操作系统的屏幕旋转功能开启。
可选的,在通过第一安卓操作系统中的管理应用程序接收MDM设备发送的第一权限配置指令之前,还可以包括:通过第一安卓操作系统中的管理应用程序向MDM设备发送第一权限配置请求信息。
在本发明实施例中,第一安卓操作系统中的管理应用程序接收MDM设备发送的第一权限配置指令之前,第一安卓操作系统中的管理应用程序还可以主动向MDM设备发送第一权限配置请求信息,以使得MDM设备根据该第一权限配置请求信息为第一安卓操作系统进行权限配置。
其中,该第一权限配置请求信息包括:至少一个第一功能项,以及每个第一功能项的权限配置信息。
需要说明的是,第一安卓操作系统中的管理应用程序向MDM设备发送的第一权限配置请求信息,与MDM设备向第一安卓操作系统中的管理应用程序发送的第一权限配置指令可以相同。
可选的,MDM设备还可以根据第一安卓操作系统当前的参数信息,对第一安卓操作系统中的其他功能项进行权限配置。
其中,参数信息可以包括用户身份信息、位置信息、使用数据等。
503、通过第一安卓操作系统中的管理应用程序根据每个第一功能项的权限配置信息对每个第一功能项进行配置。
在本发明实施例中,第一安卓操作系统中的管理应用程序接收到MDM设备发送的第一权限配置指令之后,可以根据每个第一功能项的权限配置信息对每个第一功能项进行配置。
本发明实施例提供一种多安卓操作系统的运行方法,终端设备的每个安卓操作系统中安装有与MDM设备关联的管理应用程序,这样每个安卓操作系统可以通过管理应用程序接收MDM设备的权限配置,这样可以实现针对某一系统,或者针对某一系统中部分功能的管控。
实施例四
如图6所示,本发明实施例提供一种多安卓操作系统的运行方法,在本发明实施例中,终端设备可以和MDM设备进行交互以实现多安卓操作系统的运行方法,该方法还可以包括下述步骤:
601、通过Host系统的系统管理模块创建M个安卓操作系统。
602、通过第一安卓操作系统中的管理应用程序向MDM设备发送用户的身份信息。
在本发明实施例中,第一安卓操作系统中的管理应用程序可以主动向MDM设备发送用户的身份信息。
其中,该用户的身份信息可以包括:用户的职业,以及用户使用终端设备的行为数据。该行为数据为用户历史使用的终端设备的行为统计。
示例性的,第一安卓操作系统中的管理应用程序可以向MDM设备发送:用户为学生,用户在早上7:30到12:00不使用终端设备,在中午12:10-12:30会在餐厅进行消费,在下午14:00-18:30不使用终端设备,在晚上20:00-23:30会使用搜索题目的应用程序。
603、通过第一安卓操作系统中的管理应用程序接收MDM设备发送的与身份信息相匹配的第二权限配置指令。
在本发明实施例中,MDM设备接收到第一安卓操作系统中的管理应用程序发送的用户的身份信息之后,可以根据用户的身份信息为第一安卓操作系统进行权限配置,并将第二权限配置指令发送给第一安卓操作系统中的管理应用程序。
其中,第二权限配置指令可以包括:至少一个第二功能项,以及每个第二功能项的权限配置信息。
示例性的,假设用户的身份信息为:用户为学生,用户在早上7:30到12:00不使用终端设备,在中午12:10-12:30会在餐厅进行消费,在下午14:00-18:30不使用终端设备,在晚上20:00-23:30会使用搜索题目的应用程序。那么MDM设备发送给第一安卓操作系统中的管理应用程序的第二权限配置指令可以包括:在早上7:30到12:00禁用网络功能,并且将屏幕亮度调至最低;在中午12:10-12:30开启网络以及支付功能;在下午14:00-18:30禁用网络功能,并且将屏幕亮度调至最低;在晚上20:00-23:30开启网络、麦克风、摄像头功能。
604、通过第一安卓操作系统中的管理应用程序根据每个第二功能项的权限配置信息对每个第二功能项进行配置。
在本发明实施例中,第一安卓操作系统中的管理应用程序接收到MDM设备发送的第二权限配置指令之后,可以根据每个第二功能项的权限配置信息对每个第二功能项进行配置。
605、通过第一安卓操作系统中的管理应用程序接收MDM设备发送的解除权限配置指令。
在本发明实施例中,MDM设备还可以向第一安卓操作系统中的管理应用程序发送解除权限配置指令。
其中,解除权限配置指令包括:目标功能项,以及目标功能项的解除权限配置信息。
606、通过第一安卓操作系统中的管理应用程序根据解除权限配置指令,解除对目标功能项的权限配置。
在本发明实施例中,第一安卓操作系统中的管理应用程序接收到MDM设备发送的解除权限配置指令之后,可以根据解除权限配置指令,解除对目标功能项的权限配置。
需要说明的是,管理应用程序解除对目标功能项的权限配置,是将目标功能项的权限恢复至根据第二权限配置指令进行权限配置之前的权限。
本发明实施例提供一种多安卓操作系统的运行方法,终端设备的每个安卓操作系统中安装有与MDM设备关联的管理应用程序,这样每个安卓操作系统可以通过管理应用程序接收MDM设备的权限配置,并且MDM设备在权限配置的时候还会根据用户身份信息进行配置,这样可以实现针对某一系统,或者针对某一系统中部分功能的管控,并且MDM设备的管控更加贴合实际。
作为一种可选的实现方式,MDM设备为第一安卓操作系统进行权限配置的时候,还可以增加权限配置时长。
需要说明的是,MDM设备可以向第一安卓操作系统中的管理应用程序发送第三权限配置指令,其中,该第三权限配置指令可以包括:至少一个第三功能项,每个第三功能项的权限配置信息,以及每个第三功能项的权限配置时长;以使得第一安卓操作系统中的管理应用程序根据第三权限配置指令对第一安卓操作系统中的功能项进行权限配置。
示例性的,假设第三权限配置指令包括:网络功能禁用1个小时,支付功能禁用1个小时,摄像头功能开启30分钟。这样第一安卓操作系统中的管理应用程序可以将第一安卓操作系统的网络功能禁用1个小时,将第一安卓操作系统的支付功能禁用1个小时,将第一安卓操作系统的摄像头功能开启30分钟。并且,在30分钟之后,禁用第一安卓操作系统的摄像头功能;在1个小时之后,开启第一安卓操作系统的网络功能以及支付功能。
通过该可选的实现方式,MDM设备可以向第一安卓操作系统配置权限以及权限时长,这样第一安卓操作系统的权限可以在达到时长之后,自动进行权限切换,增加MDM设备以及安卓操作系统的智能感。
作为一种可选的实现方式,MDM设备为第一安卓操作系统进行权限配置的时候,还可以根据终端设备的位置信息进行配置。
需要说明的是,MDM设备可以先获取终端设备的当前位置信息,并向第一安卓操作系统中的管理应用程序发送与当前位置信息相匹配的第四权限配置指令,其中,第四权限配置指令可以包括:至少一个第四功能项,每个第四功能项的权限配置信息。
示例性的,假设MDM设备获取到终端设备当前位置信息为写字楼,那么用户可能正在办公,此时第四权限配置指令可以包括:开启网络功能,关闭声音外放功能。
作为另一种可选的实现方式,第一安卓操作系统中的管理应用程序可以获取当前位置信息,并将该当前位置信息发送给MDM设备,MDM设备可以向第一安卓操作系统中的管理应用程序发送与当前位置信息匹配的第四权限配置指令。
通过该可选的实现方式,MDM设备可以向第一安卓操作系统中的管理应用程序发送与当前位置信息匹配的权限配置指令,这样可以使得权限配置与当前位置更加贴合,增加MDM设备以及安卓操作系统的智能感。
实施例五
如图7所示,本发明实施例提供一种终端设备,该终端设备包括:
创建模块701,用于通过Host系统的系统管理模块创建M个安卓操作系统,M个安卓操作系统中的每个安卓操作系统之间相互隔离;
处理模块702,用于通过Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统;
其中,M个安卓操作系统中的不同安卓操作系统之间的隔离方式包括:系统隔离,文件系统隔离以及网络隔离中的至少一种。
可选的,该终端设备中还包括:
收发模块703,用于若通过第一安卓操作系统的管理应用程序检测到用户发送的用于启动第二安卓操作系统的运行指令,则通过管理应用程序将运行指令发送给Host系统的系统管理模块,以使得系统管理模块控制第二安卓操作系统在后台开始运行;
和/或,
收发模块703,用于当第一安卓操作系统置于前台运行时,若通过第一安卓操作系统的管理应用程序检测到用户发送的用于停止第二安卓操作系统的停止指令,则通过管理应用程序将停止指令发送给Host系统的系统管理模块,以使得系统管理模块控制第二安卓操作系统停止运行;
其中,第一安卓操作系统和第二安卓操作系统为M个安卓操作系统的不同操作系统。
可选的,处理模块702,具体用于通过Host系统的系统管理模块获取当前应用程序进程的系统标识以及驱动程序标识,驱动程序标识用于指示目标驱动程序;
处理模块702,具体用于若检测到系统标识与第一标识相同,则通过Host系统的系统管理模块控制第一安卓操作系统运行第一命名空间中的目标驱动程序;
处理模块702,具体用于若检测到系统标识与第二标识相同,则通过Host系统的系统管理模块控制第二安卓操作系统运行第二命名空间中的目标驱动程序;
其中,第一标识用于标记第一安卓操作系统的第一命名空间,第二标识用于标记第二安卓操作系统的第二命名空间。
可选的,处理模块702,具体用于若检测到系统标识与第一标识相同,则通过Host系统的系统管理模块在第一命名空间中确定与驱动程序标识对应的目标驱动程序;
处理模块702,具体用于通过Host系统的系统管理模块运行第一安卓操作系统,并通过Host系统的系统管理模块控制第一安卓操作系统运行第一命名空间中的目标驱动程序。
可选的,创建模块701,具体用于根据命名空间namespace技术,通过Host系统的系统管理模块生成第一安卓操作系统的第一命名空间,并对第一命名空间进行标记,得到第一标识;
创建模块701,具体用于根据namespace技术,通过Host系统的系统管理模块生成第二安卓操作系统的第二命名空间,并对第二命名空间进行标记,得到第二标识。
可选的,收发模块703,具体用于当第一安卓操作系统置于前台运行,第二安卓操作系统置于后台运行,且第二安卓操作系统中的目标应用程序接收到目标消息时,由第二安卓操作系统通过第二进程通信IPC通道向Host系统的信息传输模块发送目标消息,第二IPC通道为第二安卓操作系统与Host系统的信息传输模块之间的通道;
收发模块703,具体用于由信息传输模块通过第一IPC通道向第一安卓操作系统发送目标消息,第一IPC通道为第一安卓操作系统与信息传输模块之间的通道,以使得第一安卓操作系统输出目标消息。
可选的,收发模块703,具体用于若检测到用户用于指示将第二安卓操作系统置于前台运行的切换指令,则通过第一安卓操作系统由第一IPC通道,向Host系统的系统切换模块发送第一切换请求信息,第一切换请求信息用于请求将第二安卓操作系统置于前台运行;
处理模块702,具体用于通过Host系统的系统切换模块控制第二安卓操作系统置于前台运行,将第一安卓操作系统置于后台运行。
可选的,创建模块701,具体用于通过Host系统的系统管理模块将终端设备的存储空间划分为M个存储区域,M个存储区域相互独立;
处理模块702,具体用于通过Host系统的系统管理模块将M个安卓操作系统分别挂载在M个存储区域中,M个安卓操作系统与M个存储区域一一对应;
处理模块702,具体用于若检测到用户用于存储第一目标文件的存储指令,则通过Host系统的系统管理模块将第一目标文件存储至第一存储区域中。
可选的,创建模块701,具体用于通过Host系统的系统管理模块创建第M+1个安卓操作系统,以得到M+1个安卓操作系统;
创建模块701,具体用于通过Host系统的系统管理模块将终端设备的存储空间划分为M+1个存储区域,M+1个存储区域相互独立;
处理模块702,具体用于通过Host系统的系统管理模块将M+1个安卓操作系统分别挂载在M+1个存储区域中,M+1个安卓操作系统与M+1个存储区域一一对应。
可选的,创建模块701,具体用于通过Host系统的系统管理模块创建M个文件夹,M个文件夹与M个安卓操作系统一一对应;
处理模块702,具体用于通过Host系统的系统管理模块将每个安卓操作系统的根目录设置为与每个安卓操作系统对应的文件夹。
可选的,创建模块701,具体用于通过Host系统的系统管理模块在第一安卓操作系统的应用程序框架framework中创建第一虚拟网卡,在第二安卓操作系统的framework中创建第二虚拟网卡;
收发模块703,具体用于通过第一安卓操作系统中的第一虚拟网卡接收无线网络设备为第一虚拟网卡配置的第一IP地址;
收发模块703,具体用于通过第二安卓操作系统中的第二虚拟网卡接收无线网络设备为第二虚拟网卡配置的第二IP地址;
其中,第一IP地址与第二IP地址不同。
可选的,该终端设备在每个安卓操作系统中安装有与移动设备管理MDM设备关联的管理应用程序;
收发模块703,具体用于通过第一安卓操作系统中的管理应用程序接收MDM设备发送的第一权限配置指令,第一权限配置指令包括:至少一个第一功能项,以及每个第一功能项的权限配置信息;
处理模块702,具体用于通过第一安卓操作系统中的管理应用程序根据每个第一功能项的权限配置信息对每个第一功能项进行配置。
可选的,收发模块703,具体用于通过第一安卓操作系统中的管理应用程序向MDM设备发送第一权限配置请求信息,第一权限配置请求信息包括:至少一个第一功能项,以及每个第一功能项的权限配置信息。
可选的,收发模块703,具体用于通过第一安卓操作系统中的管理应用程序向MDM设备发送用户的身份信息,身份信息包括:用户的职业以及用户使用终端设备的行为数据;
收发模块703,具体用于通过第一安卓操作系统中的管理应用程序接收MDM设备发送的与身份信息相匹配的第二权限配置指令,第二权限配置指令包括:至少一个第二功能项,以及每个第二功能项的权限配置信息;
处理模块702,具体用于通过第一安卓操作系统中的管理应用程序根据每个第二功能项的权限配置信息对每个第二功能项进行配置。
可选的,收发模块703,具体用于通过第一安卓操作系统中的管理应用程序接收MDM设备发送的解除权限配置指令,解除权限配置指令包括:目标功能项,以及目标功能项的解除权限配置信息;
处理模块702,具体用于通过第一安卓操作系统中的管理应用程序根据解除权限配置指令,解除对目标功能项的权限配置。
本发明实施例中,各模块可以实现上述方法实施例提供的多安卓操作系统的运行方法,且能达到相同的技术效果,为避免重复,这里不再赘述。
如图8所示,本发明实施例还提供一种终端设备,该终端设备可以包括:
存储有可执行程序代码的存储器801;
与存储器801耦合的处理器802;
其中,处理器802调用存储器801中存储的可执行程序代码,执行上述各方法实施例中终端设备执行的多安卓操作系统的运行方法。
如图9所示,本发明实施例还提供一种终端设备,该终端设备包括但不限于:射频(radio frequency,RF)电路901、存储器902、输入单元903、显示单元904、传感器905、音频电路906、WiFi(wireless fidelity,无线通信)模块907、处理器908、电源909、以及摄像头910等部件。其中,射频电路901包括接收器9011和发送器9012。本领域技术人员可以理解,图9中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路901可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器908处理;另外,将设计上行的数据发送给基站。通常,RF电路901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(1ow noiseamplifier,LNA)、双工器等。此外,RF电路901还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器902可用于存储软件程序以及模块,处理器908通过运行存储在存储器902的软件程序以及模块,从而执行终端设备的各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元903可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元903可包括触控面板9031以及其他输入设备9032。触控面板9031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板9031上或在触控面板9031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板9031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器908,并能接收处理器908发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种实现触控面板9031。除了触控面板9031,输入单元903还可以包括其他输入设备9032。具体地,其他输入设备9032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元904可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元904可包括显示面板9041,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-Emitting diode,OLED)等形式来配置显示面板9041。进一步的,触控面板9031可覆盖显示面板9041,当触控面板9031检测到在其上或附近的触摸操作后,传送给处理器908以确定触摸事件的,随后处理器908根据触摸事件的在显示面板9041上提供相应的视觉输出。虽然在图9中,触控面板9031与显示面板9041是作为两个独立的部件来实现终端设备的输入和输入功能,但是在某些实施例中,可以将触控面板9031与显示面板9041集成而实现终端设备的输入和输出功能。
终端设备还可包括至少一种传感器905,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板9041的亮度,接近传感器可在终端设备移动到耳边时,退出显示面板9041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。本发明实施例中,该终端设备可以包括加速度传感器、深度传感器或者距离传感器等。
音频电路906、扬声器9061,传声器9062可提供用户与终端设备之间的音频接口。音频电路906可将接收到的音频数据转换后的电信号,传输到扬声器9061,由扬声器9061转换为声音信号输出;另一方面,传声器9062将收集的声音信号转换为电信号,由音频电路906接收后转换为音频数据,再将音频数据输出处理器908处理后,经RF电路901以发送给比如另一终端设备,或者将音频数据输出至存储器902以便进一步处理。
WiFi属于短距离无线传输技术,终端设备通过WiFi模块907可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块907,但是可以理解的是,其并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器908是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器908可包括一个或多个处理单元;优选的,处理器908可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器908中。
终端设备还包括给各个部件供电的电源909(比如电池),优选的,电源可以通过电源管理系统与处理器908逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管未示出,终端设备还可以包括蓝牙模块等,在此不再赘述。
本发明实施例提供一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
本发明实施例还提供一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
本发明实施例还提供一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例上述方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
Claims (10)
1.一种多安卓操作系统的运行方法,其特征在于,应用于终端设备,所述终端设备包括:主Host系统和M个安卓操作系统;所述方法包括:
通过Host系统的系统管理模块创建所述M个安卓操作系统,所述M个安卓操作系统中的每个安卓操作系统之间相互隔离;
通过所述Host系统的系统管理模块分别控制所述M个安卓操作系统中的每个安卓操作系统;
其中,所述M个安卓操作系统中的不同安卓操作系统之间的隔离方式包括:系统隔离,文件系统隔离以及网络隔离中的至少一种。
2.根据权利要求1所述的多安卓操作系统的运行方法,其特征在于,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
当第一安卓操作系统置于前台运行时,若通过所述第一安卓操作系统的管理应用程序检测到用户发送的用于启动第二安卓操作系统的运行指令,则通过所述管理应用程序将所述运行指令发送给所述Host系统的系统管理模块,以使得所述系统管理模块控制所述第二安卓操作系统在后台开始运行;
和/或,
当所述第一安卓操作系统置于前台运行时,若通过所述第一安卓操作系统的管理应用程序检测到所述用户发送的用于停止所述第二安卓操作系统的停止指令,则通过所述管理应用程序将所述停止指令发送给所述Host系统的系统管理模块,以使得所述系统管理模块控制所述第二安卓操作系统停止运行;
其中,所述第一安卓操作系统和所述第二安卓操作系统为所述M个安卓操作系统的不同操作系统。
3.根据权利要求1所述的多安卓操作系统的运行方法,其特征在于,所述隔离方式包括所述系统隔离,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
通过所述Host系统的系统管理模块获取当前应用程序进程的系统标识以及驱动程序标识,所述驱动程序标识用于指示目标驱动程序;
若检测到所述系统标识与第一标识相同,则通过所述Host系统的系统管理模块控制所述第一安卓操作系统运行第一命名空间中的所述目标驱动程序;
若检测到所述系统标识与第二标识相同,则通过所述Host系统的系统管理模块控制所述第二安卓操作系统运行第二命名空间中的所述目标驱动程序;
其中,所述第一标识用于标记所述第一安卓操作系统的所述第一命名空间,所述第二标识用于标记所述第二安卓操作系统的所述第二命名空间。
4.根据权利要求3所述的多安卓操作系统的运行方法,其特征在于,所述若检测到所述系统标识与第一标识相同,则通过所述Host系统的系统管理模块控制所述第一安卓操作系统运行第一命名空间中的所述目标驱动程序,包括:
若检测到所述系统标识与所述第一标识相同,则通过所述Host系统的系统管理模块在所述第一命名空间中确定与所述驱动程序标识对应的所述目标驱动程序;
通过所述Host系统的系统管理模块运行所述第一安卓操作系统,并通过所述Host系统的系统管理模块控制所述第一安卓操作系统运行所述第一命名空间中的所述目标驱动程序。
5.根据权利要求3所述的多安卓操作系统的运行方法,其特征在于,所述通过所述Host系统的系统管理模块获取当前应用进程的系统标识以及驱动程序标识之前,还包括:
根据命名空间namespace技术,通过所述Host系统的系统管理模块生成所述第一安卓操作系统的所述第一命名空间,并对所述第一命名空间进行标记,得到所述第一标识;
根据所述namespace技术,通过所述Host系统的系统管理模块生成所述第二安卓操作系统的所述第二命名空间,并对所述第二命名空间进行标记,得到所述第二标识。
6.根据权利要求1所述的多安卓操作系统的运行方法,其特征在于,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
当所述第一安卓操作系统置于前台运行,所述第二安卓操作系统置于后台运行,且所述第二安卓操作系统中的目标应用程序接收到目标消息时,由所述第二安卓操作系统通过第二进程通信IPC通道向所述Host系统的信息传输模块发送所述目标消息,所述第二IPC通道为所述第二安卓操作系统与Host系统的信息传输模块之间的通道;
由所述信息传输模块通过第一IPC通道向所述第一安卓操作系统发送所述目标消息,所述第一IPC通道为所述第一安卓操作系统与所述信息传输模块之间的通道,以使得所述第一安卓操作系统输出所述目标消息。
7.根据权利要求6所述的多安卓操作系统的运行方法,其特征在于,所述第一安卓操作系统输出所述目标消息之后,还包括:
若检测到所述用户用于指示将所述第二安卓操作系统置于前台运行的切换指令,则通过所述第一安卓操作系统由所述第一IPC通道,向Host系统的系统切换模块发送第一切换请求信息,所述第一切换请求信息用于请求将所述第二安卓操作系统置于前台运行;
通过所述Host系统的系统切换模块控制所述第二安卓操作系统置于前台运行,将所述第一安卓操作系统置于后台运行。
8.根据权利要求1所述的多安卓操作系统的运行方法,其特征在于,所述隔离方式包括所述文件系统隔离,所述通过所述Host系统的系统管理模块分别控制M个安卓操作系统中的每个安卓操作系统,包括:
通过所述Host系统的系统管理模块将所述终端设备的存储空间划分为M个存储区域,所述M个存储区域相互独立;
通过所述Host系统的系统管理模块将所述M个安卓操作系统分别挂载在所述M个存储区域中,所述M个安卓操作系统与所述M个存储区域一一对应;
若检测到所述用户用于存储第一目标文件的存储指令,则通过所述Host系统的系统管理模块将第一目标文件存储至所述第一存储区域中。
9.根据权利要求8所述的多安卓操作系统的运行方法,其特征在于,所述方法还包括:
通过所述Host系统的系统管理模块创建第M+1个安卓操作系统,以得到M+1个安卓操作系统;
通过所述Host系统的系统管理模块将所述终端设备的存储空间划分为M+1个存储区域,所述M+1个存储区域相互独立;
通过所述Host系统的系统管理模块将所述M+1个安卓操作系统分别挂载在所述M+1个存储区域中,所述M+1个安卓操作系统与所述M+1个存储区域一一对应。
10.一种终端设备,其特征在于,所述终端设备包括:
创建模块,用于通过Host系统的系统管理模块创建M个安卓操作系统,所述M个安卓操作系统中的每个安卓操作系统之间相互隔离;
处理模块,用于通过所述Host系统的系统管理模块分别控制所述M个安卓操作系统中的每个安卓操作系统;
其中,所述M个安卓操作系统中的不同安卓操作系统之间的隔离方式包括:系统隔离,文件系统隔离以及网络隔离中的至少一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288700.5A CN113176899A (zh) | 2021-03-15 | 2021-03-15 | 一种多安卓操作系统的运行方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288700.5A CN113176899A (zh) | 2021-03-15 | 2021-03-15 | 一种多安卓操作系统的运行方法及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113176899A true CN113176899A (zh) | 2021-07-27 |
Family
ID=76922200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110288700.5A Pending CN113176899A (zh) | 2021-03-15 | 2021-03-15 | 一种多安卓操作系统的运行方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113176899A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203754A (zh) * | 2022-09-14 | 2022-10-18 | 统信软件技术有限公司 | 场景模式管理装置、初始化方法以及场景模式切换方法 |
WO2023169221A1 (zh) * | 2022-03-09 | 2023-09-14 | 华为技术有限公司 | 一种跨系统运行应用程序的方法及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516760A (zh) * | 2014-12-12 | 2015-04-15 | 华为技术有限公司 | 一种操作系统热切换的方法、装置及移动终端 |
US20150169887A1 (en) * | 2013-12-13 | 2015-06-18 | Indian Institute Of Technology Madras | Filtering means for tracking information flow in android operated devices |
CN105630615A (zh) * | 2015-12-28 | 2016-06-01 | 北京元心科技有限公司 | 跨系统的应用控制方法和智能终端 |
CN106776292A (zh) * | 2016-11-29 | 2017-05-31 | 北京元心科技有限公司 | 多系统开启及登录的方法及装置 |
CN107077375A (zh) * | 2016-12-27 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 用于多操作系统的显示方法、装置和电子设备 |
CN107278291A (zh) * | 2016-06-02 | 2017-10-20 | 达闼科技(北京)有限公司 | 一种通知消息显示方法、装置、电子设备和计算机程序产品 |
CN107463402A (zh) * | 2017-07-31 | 2017-12-12 | 腾讯科技(深圳)有限公司 | 虚拟操作系统的运行方法和装置 |
CN108255683A (zh) * | 2016-12-29 | 2018-07-06 | 杭州华为数字技术有限公司 | 终端中消息提示的方法和终端 |
-
2021
- 2021-03-15 CN CN202110288700.5A patent/CN113176899A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169887A1 (en) * | 2013-12-13 | 2015-06-18 | Indian Institute Of Technology Madras | Filtering means for tracking information flow in android operated devices |
CN104516760A (zh) * | 2014-12-12 | 2015-04-15 | 华为技术有限公司 | 一种操作系统热切换的方法、装置及移动终端 |
CN105630615A (zh) * | 2015-12-28 | 2016-06-01 | 北京元心科技有限公司 | 跨系统的应用控制方法和智能终端 |
CN107278291A (zh) * | 2016-06-02 | 2017-10-20 | 达闼科技(北京)有限公司 | 一种通知消息显示方法、装置、电子设备和计算机程序产品 |
CN106776292A (zh) * | 2016-11-29 | 2017-05-31 | 北京元心科技有限公司 | 多系统开启及登录的方法及装置 |
CN107077375A (zh) * | 2016-12-27 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 用于多操作系统的显示方法、装置和电子设备 |
CN108255683A (zh) * | 2016-12-29 | 2018-07-06 | 杭州华为数字技术有限公司 | 终端中消息提示的方法和终端 |
CN107463402A (zh) * | 2017-07-31 | 2017-12-12 | 腾讯科技(深圳)有限公司 | 虚拟操作系统的运行方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023169221A1 (zh) * | 2022-03-09 | 2023-09-14 | 华为技术有限公司 | 一种跨系统运行应用程序的方法及电子设备 |
CN115203754A (zh) * | 2022-09-14 | 2022-10-18 | 统信软件技术有限公司 | 场景模式管理装置、初始化方法以及场景模式切换方法 |
CN115203754B (zh) * | 2022-09-14 | 2022-12-02 | 统信软件技术有限公司 | 场景模式管理装置、初始化方法以及场景模式切换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220086600A1 (en) | Method for activating service based on user scenario perception, terminal device, and system | |
EP4130951A1 (en) | Content sharing method and electronic device | |
KR102481065B1 (ko) | 애플리케이션 기능 구현 방법 및 전자 디바이스 | |
CN115454286B (zh) | 应用数据的处理方法、装置和终端设备 | |
JP2015534693A (ja) | デスクトップ表示方法、装置、端末、プログラム及び記録媒体 | |
CN103544033A (zh) | 应用程序回退方法、装置及相关设备 | |
KR20090088296A (ko) | 실행 시간에 이동 장치에 추상적 사용자 인터페이스의 동적매핑 시스템 및 방법 | |
CN113791850B (zh) | 一种信息显示方法及电子设备 | |
CN113986092B (zh) | 消息显示方法和装置 | |
CN112395117B (zh) | 一种数据处理方法、系统和存储介质 | |
CN113176899A (zh) | 一种多安卓操作系统的运行方法及终端设备 | |
EP2869604B1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
US10298590B2 (en) | Application-based service providing method, apparatus, and system | |
CN109358931A (zh) | 一种界面显示方法及终端 | |
CN106095423B (zh) | 提供浏览服务的方法、终端及服务器 | |
CN111966491A (zh) | 统计占用内存的方法及终端设备 | |
US20230300240A1 (en) | Lock Screen Display Method for Electronic Device and Electronic Device | |
CN113176898A (zh) | 一种多操作系统权限配置方法、终端设备及mdm设备 | |
US11991040B2 (en) | Network configuration method and device | |
CN110245017B (zh) | 资源标识的分配方法和设备 | |
CN111210496B (zh) | 一种图片解码方法、装置以及设备 | |
CN113742716B (zh) | 代码运行方法、装置、电子设备、存储介质和程序产品 | |
CN104423990A (zh) | 一种磁贴的更新方法和装置 | |
CN116594616A (zh) | 一种组件配置方法、装置及计算机可读存储介质 | |
EP4160416A1 (en) | Device control method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |