一种基于Android容器的多系统与单系统切换方法及装置制造方法及图纸

技术编号:21627361 阅读:42 留言:0更新日期:2019-07-17 10:36
本发明专利技术公开了一种基于Android容器的多系统与单系统切换方法,使一个主系统和多个虚拟系统运行在智能终端上,使不同虚拟系统挂载不同目录的数据区,切换为多系统模式时,虚拟系统开始运行,且只有一个虚拟系统进入前台,其他系统均在后台运行;切换为单系统模式时,主系统进入前台,虚拟系统停止运行。与现有技术相比,本发明专利技术能够为智能终端提供多系统与单系统共存和切换的解决方案,使用户在场景兼容和功能需求上可以灵活选择,既可以让用户在安全性较高的场景下切换为多系统模式,也可以在智能终端的CPU、内存等性能指标不佳的情况下切换为单系统模式,整个切换过程中不会引起数据的丢失。

A Switching Method and Device for Multi-System and Single-System Based on Android Container

【技术实现步骤摘要】
一种基于Android容器的多系统与单系统切换方法及装置
本专利技术涉及Android移动系统控制
,特别是一种基于Android容器的多系统与单系统切换方法及装置。
技术介绍
当前移动智能终端已经非常普及,智能终端的功能和性能也日益完善,用户在方便地进行通信、流媒体、文档处理、移动支付及各种专业应用时,会产生很多需要保密的数据,从而在数据安全上提出了更高的要求。目前移动智能终端主流是单系统方案,个别智能终端针对安全性较高的需求采用多系统方案,但无论是哪一种智能终端,都只支持一种方案,在场景兼容和功能需求上不能由用户灵活选择。多系统的运行对智能终端的CPU、内存等性能指标都有较高的要求,一旦达不到,在切换过程中会引起数据的丢失。
技术实现思路
本专利技术的目的是要提供一种基于Android容器的多系统与单系统切换方法及装置。为达到上述目的,本专利技术是按照以下技术方案实施的:一种基于Android容器的多系统与单系统切换方法,使一个主系统和多个虚拟系统运行在智能终端上,使不同虚拟系统挂载不同目录的数据区,切换为多系统模式时,虚拟系统开始运行,且只有一个虚拟系统进入前台,其他系统均在后台运行;切换为单系统模式时,主系统进入前台,虚拟系统停止运行。进一步,所述多系统与单系统切换方法包括主动切换和监听切换两种模式,所述主动切换是:在智能终端上设置主动切换接口,当用户触发了系统切换操作时,在cells中启动线程创建Socket通信监听persist.sys.stop.vpsystem系统属性,当属性值为TRUE时,切换为单系统模式;当属性值为FALSE时,切换为多系统模式;所述监听切换是:当自动切换标志autoSwitch打开时,在cells中启动线程创建Socket通信实时监测CPU、内存指标,当CPU使用率超过阈值Cmax或内存占有率超过阈值Mmax时,多系统模式切换为单系统模式,当CPU使用率没有超过阈值Cmax且内存占有率没有超过阈值Mmax时,由单系统模式切换为多系统模式。进一步,所述主动切换接口为桌面按钮、快捷键或手势。另外,本专利技术还提供了一种基于Android容器的多系统与单系统切换装置,包括:配置模块,用于初始化cells架构,具体包括:初始化虚拟系统ID、进程标识符PID、自动切换标志autoSwitch,初始化虚拟系统rc文件,创建虚拟系统配置文件、数据路径,挂载数据区及文件系统,创建虚拟系统列表;主调度模块,该模块为cells架构中的核心模块,cells通过不同的命名空间将虚拟系统相互隔离,不同的虚拟系统拥有不同的ID、不同的进程标识符PID和Context,确保在一个虚拟系统中运行的Bug或恶意应用程序不会对其他虚拟系统产生负面影响,每个虚拟系统维护各自独立的数据区,即使在虚拟系统停止运行的状态下,数据区的挂载点也不会unMount;通过维护虚拟系统的前后台运行状态,实现对硬件设备的共享访问,硬件资源由当前运行的前台虚拟系统所拥有;cells同步维护Kernel中的虚拟系统进程PID和Framework中的Context;多个虚拟系统通过Socket通道进行通信,Socket通信中采用消息队列的入栈出栈机制;所述主调度模块主要用于获取虚拟系统列表,增加、删除、启动、停止指定虚拟系统,根据虚拟系统ID、进程标识符PID或Name切换到指定系统,并维护虚拟系统的状态。系统切换模块,用于在智能终端上提供主动切换接口,当用户触发了主动切换接口时,persist.sys.stop.vpsystem系统属性值发生改变,当属性值为TRUE时,切换为单系统模式;当属性值为FALSE时,切换为多系统模式;或当自动切换标志autoSwitch打开时,主系统会实时监测CPU、内存等性能指标,当CPU使用率超过阈值Cmax或内存占有率超过阈值Mmax时,多系统模式切换为单系统模式,当CPU使用率没有超过阈值Cmax且内存占有率没有超过阈值Mmax时,由单系统模式切换为多系统模式。与现有技术相比,本专利技术能够为智能终端提供多系统与单系统共存和切换的解决方案,使用户在场景兼容和功能需求上可以灵活选择,既可以让用户在安全性较高的场景下切换为多系统模式,也可以在智能终端的CPU、内存等性能指标不佳的情况下切换为单系统模式,整个切换过程中不会引起数据的丢失。附图说明图1为本专利技术实施例的一种基于Android容器的多系统与单系统切换装置的结构框图。图2为本专利技术实施例的一种基于Android容器的多系统与单系统切换方法的原理图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步的详细说明。此处所描述的具体实施例仅用于解释本专利技术,并不用于限定专利技术。如图1所示,本实施例的一种基于Android容器的多系统与单系统切换装置,包括:配置模块1,用于初始化cells架构,具体包括:初始化虚拟系统ID、进程标识符PID、自动切换标志autoSwitch,初始化虚拟系统rc文件,创建虚拟系统配置文件、数据路径,挂载数据区及文件系统,创建虚拟系统列表;主调度模块2,该模块为cells架构中的核心模块,cells通过不同的命名空间将虚拟系统相互隔离,不同的虚拟系统拥有不同的ID、不同的进程标识符PID和Context,确保在一个虚拟系统中运行的Bug或恶意应用程序不会对其他虚拟系统产生负面影响,每个虚拟系统维护各自独立的数据区,即使在虚拟系统停止运行的状态下,数据区的挂载点也不会unMount;通过维护虚拟系统的前后台运行状态,实现对硬件设备的共享访问,硬件资源由当前运行的前台虚拟系统所拥有;cells同步维护Kernel中的虚拟系统进程PID和Framework中的Context;多个虚拟系统通过Socket通道进行通信,Socket通信中采用消息队列的入栈出栈机制;所述主调度模块主要用于获取虚拟系统列表,增加、删除、启动、停止指定虚拟系统,根据虚拟系统ID、进程标识符PID或Name切换到指定系统,并维护虚拟系统的状态。系统切换模块3,用于在智能终端上提供主动切换接口,当用户触发了主动切换接口时,persist.sys.stop.vpsystem系统属性值发生改变,当属性值为TRUE时,切换为单系统模式;当属性值为FALSE时,切换为多系统模式;或当自动切换标志autoSwitch打开时,主系统会实时监测CPU、内存等性能指标,当CPU使用率超过阈值Cmax或内存占有率超过阈值Mmax时,多系统模式切换为单系统模式,当CPU使用率没有超过阈值Cmax且内存占有率没有超过阈值Mmax时,由单系统模式切换为多系统模式。如图2所示,使用上述装置进行多系统与单系统切时,具体步骤如下:(1)智能终端开机后,在系统init.rc文件中启动cells运行,配置模块1启动初始化cells架构,包括初始化自动切换标志autoSwitch,创建并初始化虚拟系统配置文件和rc文件,创建虚拟系统列表。虚拟系统列表中的每个虚拟系统包含系统ID、进程标识符PID、运行状态等信息。虚拟系统的运行状态包括启动START、运行RUNNING、激活ACTIVE、停止STOP等状态。(2)读取虚拟系统列表,循环读取每个虚拟系统的配本文档来自技高网...

【技术保护点】
1.一种基于Android容器的多系统与单系统切换方法,其特征在于,使一个主系统和多个虚拟系统运行在智能终端上,使不同虚拟系统挂载不同目录的数据区,切换为多系统模式时,虚拟系统开始运行,且只有一个虚拟系统进入前台,其他系统均在后台运行;切换为单系统模式时,主系统进入前台,虚拟系统停止运行。

【技术特征摘要】
1.一种基于Android容器的多系统与单系统切换方法,其特征在于,使一个主系统和多个虚拟系统运行在智能终端上,使不同虚拟系统挂载不同目录的数据区,切换为多系统模式时,虚拟系统开始运行,且只有一个虚拟系统进入前台,其他系统均在后台运行;切换为单系统模式时,主系统进入前台,虚拟系统停止运行。2.根据权利要求1所述的基于Android容器的多系统与单系统切换方法,其特征在于:所述多系统与单系统切换方法包括主动切换和监听切换两种模式,所述主动切换是:在智能终端上设置主动切换接口,当用户触发了系统切换操作时,在cells中启动线程创建Socket通信监听persist.sys.stop.vpsystem系统属性,当属性值为TRUE时,切换为单系统模式;当属性值为FALSE时,切换为多系统模式;所述监听切换是:当自动切换标志autoSwitch打开时,在cells中启动线程创建Socket通信实时监测CPU、内存指标,当CPU使用率超过阈值Cmax或内存占有率超过阈值Mmax时,多系统模式切换为单系统模式,当CPU使用率没有超过阈值Cmax且内存占有率没有超过阈值Mmax时,由单系统模式切换为多系统模式。3.根据权利要求1所述的基于Android容器的多系统与单系统切换方法,其特征在于:所述主动切换接口为桌面按钮、快捷键或手势。4.一种基于Android容器的多系统与单系统切换装置,其特征在于,包括:配置模块,用于初始化cells架构,具体包括:初始化虚拟系统ID、进程标识符PID、自动切换标志autoSwitch,初始化虚拟系统rc文件,创...

【专利技术属性】
技术研发人员:杨在华王爱闫振国庄懞
申请(专利权)人:西安外事学院
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1