2024年6月14日发(作者:无绿蕊)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.2
(22)申请日 2015.08.26
(71)申请人 北京元心科技有限公司
地址 100176 北京市北京经济技术开发区地盛北街1号8号楼408室-27(集中办公区)
(72)发明人 李翔
(74)专利代理机构 北京市立方律师事务所
代理人 刘莉婕
(51)
G06F21/53
权利要求说明书 说明书 幅图
(10)申请公布号 CN 105184153 A
(43)申请公布日 2015.12.23
(54)发明名称
智能终端及其基于多级容器的应用
程序运行方法
(57)摘要
本发明实施例提供了智能终端及其
基于多级容器的应用程序运行方法,所述
方法包括:隔离系统的管理服务模块接收
到应用程序的启动命令后,确定所述应用
程序所属的域容器,并将所述启动命令转
发至所述域容器;所述域容器中的应用启
动服务模块根据所述启动命令,启动所述
应用程序,并为所述应用程序单独创建容
器。本发明实施例中,隔离系统中的每个
应用程序可以在独立的容器中运行,即使
单个应用程序被不安全信息侵入,该不安
全信息也将被限制在运行该应用程序的容
器内部,不会扩散到该隔离系统的其它部
分,从而提升了隔离系统内部的安全性。
法律状态
法律状态公告日
法律状态信息
2021-03-02
专利权的转移
2018-10-02
授权
2016-01-20
实质审查的生效
2015-12-23
公开
2021-06-15
专利实施许可合同备案的生效
法律状态
专利权的转移
授权
实质审查的生效
公开
专利实施许可合同备案
的生效
权 利 要 求 说 明 书
1.一种智能终端的基于多级容器的应用程序运行方法,其特征在于,
隔离系统的管理服务模块接收到应用程序的启动命令后,确定所述应
所述域容器中的应用启动服务模块根据所述启动命令,启动所述应用
2.根据权利要求1所述的方法,其特征在于,所述域容器为所述隔
所述隔离系统启动时,所述容器服务模块针对本隔离系统中多个框架
所述容器服务模块针对一个框架层创建一个进程;
根据预先配置的运行环境设置所述进程的容器运行环境;
在所述进程中运行所述框架层的域容器的初始化程序文件,运行所述
域容器。
层分别创建域容器:
程序,并为所述应用程序单独创建容器。
用程序所属的域容器,并将所述启动命令转发至所述域容器;
包括:
离系统启动时,由隔离系统的容器服务模块创建的,具体包括:
3.根据权利要求2所述的方法,其特征在于,在所述容器服务模块
根据预先配置的隔离参数设置所述进程。
针对一个框架层创建一个进程时,还包括:
4.根据权利要求1-3任一所述的方法,其特征在于,所述启动所述应
所述应用启动服务模块创建一个进程;
根据所述应用程序的基础运行环境所需文件,以及所述应用程序运行
利用所述文件系统、基础运行环境设置所述进程的容器运行环境;
在所述进程中运行所述应用程序的程序文件。
5.根据权利要求1-3任一所述的方法,其特征在于,所述确定所述应
所述管理服务模块从预先记录的应用程序与域容器的对应关系中,查
其中,所述对应关系是由所述管理服务模块在每个应用程序安装时记
录的。
找出与所述应用程序相对应的域容器;
用程序所属的域容器,具体包括:
时涉及的文件构成所述应用程序的文件系统;
用程序,并为所述应用程序单独创建容器,具体包括:
6.一种智能终端,其特征在于,包括:多个隔离系统;其中,所述
所述隔离系统中的管理服务模块,用于接收到应用程序的启动命令
所述域容器中的应用启动服务模块,用于根据所述启动命令,启动所
7.根据权利要求6所述的智能终端,其特征在于,所述隔离系统,
容器服务模块,用于在所述隔离系统启动时,针对本隔离系统中多个
还包括:
述应用程序,并为所述应用程序单独创建容器。
后,确定所述应用程序所属的域容器,并将所述启动命令转发至所述域容
器;
隔离系统中包括:管理服务模块、以及多个域容器;
框架层分别创建域容器:所述容器服务模块针对一个框架层创建一个进
程;根据预先配置的运行环境设置所述进程的容器运行环境;在所述
中运行所述框架层的域容器的初始化程序文件,运行所述域容
进程
器。
8.根据权利要求7所述的智能终端,其特征在于,
所述容器服务模块还用于针对一个框架层创建一个进程时,根据预先
配置的隔离参数设置所述进程。
9.根据权利要求6-8任一所述的智能终端,其特征在于,
所述应用启动服务模块具体用于接收到所述启动命令后创建一个进
程;根据所述应用程序的基础运行环境所需文件,以及所述应用程序运行
时涉及的文件构成所述应用程序的文件系统;利用所述文件系统、基
行环境设置所述进程的容器运行环境;在所述进程中运行所述
程序文件。
础运
应用程序的
10.根据权利要求6-8任一所述的智能终端,其特征在于,
所述管理服务模块具体用于从预先记录的应用程序与域容器的对应
关系中,查找出与所述应用程序相对应的域容器;其中,所述对应关系是
由所述管理服务模块在每个应用程序安装时记录的。
说 明 书
技术领域
本发明涉及操作系统技术领域,具体而言,本发明涉及一种智能终端
背景技术
随着社会和经济的发展,人们生活水平的提高,智能终端已经非常普
目前,一种在智能终端中配置多隔离系统的方法包括:在主操作系统
多隔离系统中的主操作系统和各从操作系统,分别拥有各自独立的
现有的基于单级容器(例如系统容器)的应用程序运行方法,通常是
统中的APP在本隔离系统中运行。具体地,隔离系统中的APP通
离系统的framework(框架)层的接口,向位于本隔离系统中底层
隔离系
过本隔
的容器
的进程。
namespace(命名空间)。主操作系统的APP(APPlication,应用程序)
与从操作系统的APP之间、以及两个从操作系统的APP之间,通常利用
Linuxnamespace实现隔离。因此,主操作系统或者从操作系统都是隔离
系统。
的基础上,利用Linuxcontainer(容器)虚拟化技术,创建若干个系统容
器,在系统容器中安装并运行从操作系统。
及,随之而来的是智能终端的安全问题日益频发。为智能终端配置多个相
互隔离的操作系统,成为解决智能终端的安全问题的发展方向之一。
及其基于多级容器的应用程序运行方法。
服务模块发送运行请求;容器服务模块在本隔离系统中运行该APP
然而,本发明的发明人发现,现有的基于单级容器的应用程序运行方
法,对于同一隔离系统的内部不具备隔离效果。例如,对于同一隔离系统
中的应用程序A和B,一旦应用程序A受到不安全信息的侵入,不安全
信息可以通过该隔离系统中的容器服务模块感染
进程,或者不安全信息可以通过该隔离系统中的
应用程序B等等;从而造成不安全信息在隔离
离系统的安全,可能会导致智能终端出现
运行中的应用程序B的
framework层的接口感染
系统内部扩散,危害整个隔
信息泄漏、故障等安全隐患。
因此,有必要提供一种智能终端及其基于多级容器的应用程序运行方
发明内容
本发明针对现有的基于单级容器的应用程序运行方式的缺点,提出一
本发明实施例根据一个方面,提供了一种智能终端的基于多级容器的
隔离系统的管理服务模块接收到应用程序的启动命令后,确定所述应
所述域容器中的应用启动服务模块根据所述启动命令,启动所述应用
程序,并为所述应用程序单独创建容器。
用程序所属的域容器,并将所述启动命令转发至所述域容器;
应用程序运行方法,包括:
种智能终端及其基于多级容器的应用程序运行方法,用以更进一步提高智
能终端中系统的安全性。
法,以更进一步提高智能终端中系统的安全性。
本发明实施例根据另一个方面,还提供了一种智能终端,包括:
隔离系统,其中安装有多个应用程序,并设置有多个域容器;
设置于所述隔离系统中的管理服务模块,用于接收到应用程序的启动
设置于所述域容器中的应用启动服务模块,用于根据所述启动命令,
本发明实施例中,管理服务模块根据接收到的应用程序的启动命令,
确定出该应用程序所属的域容器,并转发该启动命令;域容器中的应用启
动服务模块根据该启动命令,启动该应用程序,并为该应用程序单独创建
容器。从而隔离系统中的每个应用程序可以在独立的容器中运行,即使单
个应用程序被不安全信息侵入,该不安全信息也将被限制在运行该应用程
序的容器内部,不会扩散到该隔离系统的其它部
内部的安全性。
启动所述应用程序,并为所述应用程序单独创建容器。
命令后,确定所述应用程序所属的域容器,并将所述启动命令转发至所述
域容器;
分,从而提升了隔离系统
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描
变得明显和容易理解,其中:
图1为本发明实施例的智能终端的内部结构的框架示意图;
述中将
的描述中变得明显,或通过本发明的实践了解到。
图2为本发明实施例的管理服务模块为一个框架层创建一个域容器
的流程示意图;
图3为本发明实施例的智能终端的基于多级容器的应用程序运行方
程示意图;
图4为本发明实施例的应用启动服务模块为一个应用程序单独创建
方法的流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式
的方法
法的流
容器的
中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似
功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本
发明,而不能解释为对本发明的限制。
“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,
本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操
作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整
数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件
被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或
者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线
连接或无线耦接。这里使用的措辞“和/或”包括
项的全部或任一单元和全部组合。 一个或更多个相关联的列出
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语
(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员
的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术
语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除
非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
包括无
备,又
双向通
设备,
其他通
其可以
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既
线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设
包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行
信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信
其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或
信设备;PCS(PersonalCommunicationsService,个人通信系统),
组合语音、数据处理、传真和/或数据通信能力;PDA(Personal
本发明的发明人考虑到,可以在隔离系统中设置管理服务模块,并设
DigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互
联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioning
System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设
备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他
设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在
交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地
运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这
里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频
播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网
设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机
顶盒等设备。
置多个域容器,在域容器中设置应用启动服务模块。应用程序将启动命令
发送至管理服务模块,管理服务模块确定出该应用程序所属的域容器,并
将该启动命令转发至该域容器;域容器中的应用
命令,启动该应用程序,并为该应用程序单独创
的每个应用程序可以在独立的容器中运行,即使
息侵入,该不安全信息也将被限制在运行该应用
散到该隔离系统的其它部分,从而提升了隔离系
启动服务模块根据该启动
建容器。从而隔离系统中
单个应用程序被不安全信
程序的容器内部,不会扩
统内部的安全性。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例的智能终端可以是智能手机、平板电脑等终端设备。智
本发明实施例的应用场景,为基于Linux内核的操作系统,本发明方
现依赖于以下基本条件:基于LinuxContainer虚拟化技术实现的内核
虚拟化,以及基于该虚拟化技术实现的多隔离系统。
在本发明中,操作系统可以为传统意义上的Linux操作系统或Unix操
其中,上述隔离系统可以是基于内核的主操作系统,也可以是基于系
本发明实施例的隔离系统中安装有多个应用程序,并设置有多个框架
framework层;而且,隔离系统包括:管理服务模块101。
统容器的从操作系统。在智能终端中设置系统容器,并在系统容器中安装
并运行从操作系统的方法为本领域技术人员所熟知,此处不再赘述。
作系统,也可以是基于Linux操作系统衍生出来的Android系统、Ubuntu系
统、Meego系统,等等,基于LinuxContainer虚拟化技术实现的多隔离系
统为可以在智能终端上运行的以上种类的操作系统。
法的实
轻量级
能终端的内部结构的框架示意图如图1所示,包括:多个隔离系统。
管理服务模块101主要用于创建、管理各框架层各自的域容器,判断
序所属域容器,以及转发命令等,具体功能将在后续详细介绍。
域容器中包括:应用启动服务模块121。
应用启动服务模块121主要用于创建、管理各应用程序各自的容器,
动运行应用程序等,具体功能将在后续详细介绍。
较佳地,域容器中还包括:应用进程管理器(图中未标)。
应用进程管理器用于对在本域容器中运行的应用程序的进程进行管
本发明实施例中,隔离系统启动时,隔离系统的容器服务模块101针
离系统中多个框架层分别创建域容器。
其中,容器服务模块101针对本隔离系统中一个框架层创建域容器的
该方法的流程示意图如图2所示,包括如下步骤:
S201:容器服务模块101针对一个框架层创建一个进程。
具体地,隔离系统中的容器服务模块101针对本隔离系统中的一个框
为该框架层创建一个进程。
较佳地,容器服务模块101为一个框架层创建一个进程时,还可以根
配置的隔离参数设置该进程。
例如,容器服务模块101为一个框架层创建一个进程时,还可以根据
应用程
以及启
理控制。
对本隔
方法,
架层,
据预先
预先配
置的命名空间的参数设置该进程的命名空间。
S202:容器服务模块101根据预先配置的运行环境设置进程的容器运
具体地,容器服务模块101对于上述步骤S201创建的进程,在本步
据预先配置的运行环境,设置该进程的容器运行环境。运行环境可
文件系统和网络环境等等。
S203:容器服务模块101在进程中运行框架层的域容器的初始化程序
具体地,容器服务模块101对于上述步骤S201创建的进程,在该进
行框架层的域容器的初始化程序,运行域容器。具体地,域容器的
程序在运行时,具体会运行上述的应用启动服务模块121,以及应
管理器。
本发明实施例中,隔离系统中的容器服务模块101,在应用程序安装
离系统中时,确定出该应用程序与域容器的对应关系并记录。
例如,应用程序安装到用户指定的域容器中,容器服务模块101确定
用程序属于该域容器,并记录两者的对应关系。
隔离系统通过界面接收到用户输入的应用程序的启动命令后,由本隔
离系统中的管理服务模块101处理该启动命令,以实现智能终端的基于多
级容器的应用程序运行方法,该方法的流程示意
步骤:
出该应
到本隔
程中运
初始化
用进程
文件,运行域容器。
骤中根
以包括:
行环境。
图如图3所示,包括如下
S301:隔离系统的管理服务模块101接收到应用程序的启动命令后,
确定应用程序所属的域容器,并将该启动命令转发至该域容器。
具体地,隔离系统的管理服务模块101接收到应用程序发送的启动命
从预先记录的应用程序与域容器的对应关系中,查找出与发送启动
应用程序相对应的域容器,将查找出的域容器作为该应用程序所属
器。其中,启动命令可以包括应用程序的标识、名称或存储位置信
并且,隔离系统的管理服务模块101将接收到应用程序的启动命令,
该应用程序所属的域容器。
S302:域容器中的应用启动服务模块121根据接收到的启动命令,启
动对应的应用程序,并为该应用程序单独创建容器。
具体地,接收到上述步骤S301中转发的启动命令的域容器中的应用
务模块121,从该启动命令中解析出应用程序的标识、名称或存储
息,根据解析出的应用程序的标识、名称或存储位置信息,启动对
用程序。
并且,应用启动服务模块121在启动应用程序时,为该应用程序单独
器,从而使得启动后的应用程序在为其单独创建的容器中运行。
上述步骤S302中,应用启动服务模块121为应用程序单独创建容器
的流程示意图如图4所示,包括如下步骤:
S401:应用启动服务模块121创建一个进程。
具体地,隔离系统的域容器中的应用启动服务模块121,对于发送启
令后,
命令的
的域容
息。
转发至
启动服
位置信
应的应
创建容
的方法
动命令
的应用程序,为该应用程序单独创建一个进程。
例如,应用启动服务模块121,对于发送启动命令的应用程序,为该
序fork出一个进程。
S402:应用启动服务模块121根据应用程序的基础运行环境所需文
及该应用程序运行时涉及的文件构成该应用程序的文件系统;利用
具体地,上述步骤S401中创建的进程,确定出应用程序的基础运行
需文件。
应用启动服务模块121,根据该应用程序的基础运行环境所需文件,
应用程序运行时涉及的文件,构成该应用程序的文件系统。
例如,上述步骤S401中创建的进程,进行Linux的unshare(解除共
统调用,从隔离系统的文件系统中复制出一个独立的文件系统副本。
之后,应用启动服务模块121进而根据该应用程序的文件系统和基础
境,设置进程的容器运行环境。
例如,应用启动服务模块121将上述构成的该应用程序的文件系统,
应用程
件,以
该文件系统和基础运行环境,设置进程的容器运行环境。
环境所
以及该
享)系
应用启动服务模块121从独立的文件系统副本中,Umount(卸载)掉该
应用程序运行时不需要的文件;文件系统副本中剩余的文件包括:该应用
程序运行时涉及的文件和基础运行环境所需文件,构成该应用程序的文件
系统。
运行环
chroot(changeroot,修改根目录位置)到该应用程序运行的根目录位置。
S403:应用启动服务模块121在进程中运行应用程序的程序文件。
具体地,应用启动服务模块121在上述步骤S401中创建的进程中,
送启动命令的应用程序的程序文件。
本发明实施例中,管理服务模块根据接收到的应用程序的启动命令,
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所
述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和
制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其
内的计算机程序,这些计算机程序选择性地激活
序可以被存储在设备(例如,计算机)可读介质中
子指令并分别耦联到总线的任何类型的介质中,
但不限于任何类型的盘(包括软盘、硬盘、光盘、
ROM(Read-OnlyMemory,只读存储器)、
随即存储器)、
擦写可编程只读存储
确定出该应用程序所属的域容器,并转发该启动命令;域容器中的应用启
动服务模块根据该启动命令,启动该应用程序,并为该应用程序单独创建
容器。从而隔离系统中的每个应用程序可以在独立的容器中运行,即使单
个应用程序被不安全信息侵入,该不安全信息也将被限制在运行该应用程
序的容器内部,不会扩散到该隔离系统的其它部分,从而提升了隔离系统
内部的安全性。
运行发
或重构。这样的计算机程
或者存储在适于存储电
所述计算机可读介质包括
CD-ROM、和磁光盘)、
RAM(RandomAccessMemory,
EPROM(ErasableProgrammableRead-OnlyMemory,可
器)、EEPROM(ElectricallyErasableProgrammable
可编程只读存储器)、闪存、磁性卡片或光线
括由设备(例如,计算机)以能够读的形式存
Read-OnlyMemory,电可擦
卡片。也就是,可读介质包
储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的
普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进
和润饰,这些改进和润饰也应视为本发明的保护范围。
法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步
地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措
施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现
有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、
方案也可以被交替、更改、重排、分解、组合或删除。
构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图
中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指
令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来
实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明
公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
2024年6月14日发(作者:无绿蕊)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.2
(22)申请日 2015.08.26
(71)申请人 北京元心科技有限公司
地址 100176 北京市北京经济技术开发区地盛北街1号8号楼408室-27(集中办公区)
(72)发明人 李翔
(74)专利代理机构 北京市立方律师事务所
代理人 刘莉婕
(51)
G06F21/53
权利要求说明书 说明书 幅图
(10)申请公布号 CN 105184153 A
(43)申请公布日 2015.12.23
(54)发明名称
智能终端及其基于多级容器的应用
程序运行方法
(57)摘要
本发明实施例提供了智能终端及其
基于多级容器的应用程序运行方法,所述
方法包括:隔离系统的管理服务模块接收
到应用程序的启动命令后,确定所述应用
程序所属的域容器,并将所述启动命令转
发至所述域容器;所述域容器中的应用启
动服务模块根据所述启动命令,启动所述
应用程序,并为所述应用程序单独创建容
器。本发明实施例中,隔离系统中的每个
应用程序可以在独立的容器中运行,即使
单个应用程序被不安全信息侵入,该不安
全信息也将被限制在运行该应用程序的容
器内部,不会扩散到该隔离系统的其它部
分,从而提升了隔离系统内部的安全性。
法律状态
法律状态公告日
法律状态信息
2021-03-02
专利权的转移
2018-10-02
授权
2016-01-20
实质审查的生效
2015-12-23
公开
2021-06-15
专利实施许可合同备案的生效
法律状态
专利权的转移
授权
实质审查的生效
公开
专利实施许可合同备案
的生效
权 利 要 求 说 明 书
1.一种智能终端的基于多级容器的应用程序运行方法,其特征在于,
隔离系统的管理服务模块接收到应用程序的启动命令后,确定所述应
所述域容器中的应用启动服务模块根据所述启动命令,启动所述应用
2.根据权利要求1所述的方法,其特征在于,所述域容器为所述隔
所述隔离系统启动时,所述容器服务模块针对本隔离系统中多个框架
所述容器服务模块针对一个框架层创建一个进程;
根据预先配置的运行环境设置所述进程的容器运行环境;
在所述进程中运行所述框架层的域容器的初始化程序文件,运行所述
域容器。
层分别创建域容器:
程序,并为所述应用程序单独创建容器。
用程序所属的域容器,并将所述启动命令转发至所述域容器;
包括:
离系统启动时,由隔离系统的容器服务模块创建的,具体包括:
3.根据权利要求2所述的方法,其特征在于,在所述容器服务模块
根据预先配置的隔离参数设置所述进程。
针对一个框架层创建一个进程时,还包括:
4.根据权利要求1-3任一所述的方法,其特征在于,所述启动所述应
所述应用启动服务模块创建一个进程;
根据所述应用程序的基础运行环境所需文件,以及所述应用程序运行
利用所述文件系统、基础运行环境设置所述进程的容器运行环境;
在所述进程中运行所述应用程序的程序文件。
5.根据权利要求1-3任一所述的方法,其特征在于,所述确定所述应
所述管理服务模块从预先记录的应用程序与域容器的对应关系中,查
其中,所述对应关系是由所述管理服务模块在每个应用程序安装时记
录的。
找出与所述应用程序相对应的域容器;
用程序所属的域容器,具体包括:
时涉及的文件构成所述应用程序的文件系统;
用程序,并为所述应用程序单独创建容器,具体包括:
6.一种智能终端,其特征在于,包括:多个隔离系统;其中,所述
所述隔离系统中的管理服务模块,用于接收到应用程序的启动命令
所述域容器中的应用启动服务模块,用于根据所述启动命令,启动所
7.根据权利要求6所述的智能终端,其特征在于,所述隔离系统,
容器服务模块,用于在所述隔离系统启动时,针对本隔离系统中多个
还包括:
述应用程序,并为所述应用程序单独创建容器。
后,确定所述应用程序所属的域容器,并将所述启动命令转发至所述域容
器;
隔离系统中包括:管理服务模块、以及多个域容器;
框架层分别创建域容器:所述容器服务模块针对一个框架层创建一个进
程;根据预先配置的运行环境设置所述进程的容器运行环境;在所述
中运行所述框架层的域容器的初始化程序文件,运行所述域容
进程
器。
8.根据权利要求7所述的智能终端,其特征在于,
所述容器服务模块还用于针对一个框架层创建一个进程时,根据预先
配置的隔离参数设置所述进程。
9.根据权利要求6-8任一所述的智能终端,其特征在于,
所述应用启动服务模块具体用于接收到所述启动命令后创建一个进
程;根据所述应用程序的基础运行环境所需文件,以及所述应用程序运行
时涉及的文件构成所述应用程序的文件系统;利用所述文件系统、基
行环境设置所述进程的容器运行环境;在所述进程中运行所述
程序文件。
础运
应用程序的
10.根据权利要求6-8任一所述的智能终端,其特征在于,
所述管理服务模块具体用于从预先记录的应用程序与域容器的对应
关系中,查找出与所述应用程序相对应的域容器;其中,所述对应关系是
由所述管理服务模块在每个应用程序安装时记录的。
说 明 书
技术领域
本发明涉及操作系统技术领域,具体而言,本发明涉及一种智能终端
背景技术
随着社会和经济的发展,人们生活水平的提高,智能终端已经非常普
目前,一种在智能终端中配置多隔离系统的方法包括:在主操作系统
多隔离系统中的主操作系统和各从操作系统,分别拥有各自独立的
现有的基于单级容器(例如系统容器)的应用程序运行方法,通常是
统中的APP在本隔离系统中运行。具体地,隔离系统中的APP通
离系统的framework(框架)层的接口,向位于本隔离系统中底层
隔离系
过本隔
的容器
的进程。
namespace(命名空间)。主操作系统的APP(APPlication,应用程序)
与从操作系统的APP之间、以及两个从操作系统的APP之间,通常利用
Linuxnamespace实现隔离。因此,主操作系统或者从操作系统都是隔离
系统。
的基础上,利用Linuxcontainer(容器)虚拟化技术,创建若干个系统容
器,在系统容器中安装并运行从操作系统。
及,随之而来的是智能终端的安全问题日益频发。为智能终端配置多个相
互隔离的操作系统,成为解决智能终端的安全问题的发展方向之一。
及其基于多级容器的应用程序运行方法。
服务模块发送运行请求;容器服务模块在本隔离系统中运行该APP
然而,本发明的发明人发现,现有的基于单级容器的应用程序运行方
法,对于同一隔离系统的内部不具备隔离效果。例如,对于同一隔离系统
中的应用程序A和B,一旦应用程序A受到不安全信息的侵入,不安全
信息可以通过该隔离系统中的容器服务模块感染
进程,或者不安全信息可以通过该隔离系统中的
应用程序B等等;从而造成不安全信息在隔离
离系统的安全,可能会导致智能终端出现
运行中的应用程序B的
framework层的接口感染
系统内部扩散,危害整个隔
信息泄漏、故障等安全隐患。
因此,有必要提供一种智能终端及其基于多级容器的应用程序运行方
发明内容
本发明针对现有的基于单级容器的应用程序运行方式的缺点,提出一
本发明实施例根据一个方面,提供了一种智能终端的基于多级容器的
隔离系统的管理服务模块接收到应用程序的启动命令后,确定所述应
所述域容器中的应用启动服务模块根据所述启动命令,启动所述应用
程序,并为所述应用程序单独创建容器。
用程序所属的域容器,并将所述启动命令转发至所述域容器;
应用程序运行方法,包括:
种智能终端及其基于多级容器的应用程序运行方法,用以更进一步提高智
能终端中系统的安全性。
法,以更进一步提高智能终端中系统的安全性。
本发明实施例根据另一个方面,还提供了一种智能终端,包括:
隔离系统,其中安装有多个应用程序,并设置有多个域容器;
设置于所述隔离系统中的管理服务模块,用于接收到应用程序的启动
设置于所述域容器中的应用启动服务模块,用于根据所述启动命令,
本发明实施例中,管理服务模块根据接收到的应用程序的启动命令,
确定出该应用程序所属的域容器,并转发该启动命令;域容器中的应用启
动服务模块根据该启动命令,启动该应用程序,并为该应用程序单独创建
容器。从而隔离系统中的每个应用程序可以在独立的容器中运行,即使单
个应用程序被不安全信息侵入,该不安全信息也将被限制在运行该应用程
序的容器内部,不会扩散到该隔离系统的其它部
内部的安全性。
启动所述应用程序,并为所述应用程序单独创建容器。
命令后,确定所述应用程序所属的域容器,并将所述启动命令转发至所述
域容器;
分,从而提升了隔离系统
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描
变得明显和容易理解,其中:
图1为本发明实施例的智能终端的内部结构的框架示意图;
述中将
的描述中变得明显,或通过本发明的实践了解到。
图2为本发明实施例的管理服务模块为一个框架层创建一个域容器
的流程示意图;
图3为本发明实施例的智能终端的基于多级容器的应用程序运行方
程示意图;
图4为本发明实施例的应用启动服务模块为一个应用程序单独创建
方法的流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式
的方法
法的流
容器的
中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似
功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本
发明,而不能解释为对本发明的限制。
“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,
本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操
作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整
数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件
被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或
者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线
连接或无线耦接。这里使用的措辞“和/或”包括
项的全部或任一单元和全部组合。 一个或更多个相关联的列出
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语
(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员
的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术
语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除
非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
包括无
备,又
双向通
设备,
其他通
其可以
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既
线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设
包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行
信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信
其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或
信设备;PCS(PersonalCommunicationsService,个人通信系统),
组合语音、数据处理、传真和/或数据通信能力;PDA(Personal
本发明的发明人考虑到,可以在隔离系统中设置管理服务模块,并设
DigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互
联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioning
System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设
备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他
设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在
交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地
运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这
里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频
播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网
设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机
顶盒等设备。
置多个域容器,在域容器中设置应用启动服务模块。应用程序将启动命令
发送至管理服务模块,管理服务模块确定出该应用程序所属的域容器,并
将该启动命令转发至该域容器;域容器中的应用
命令,启动该应用程序,并为该应用程序单独创
的每个应用程序可以在独立的容器中运行,即使
息侵入,该不安全信息也将被限制在运行该应用
散到该隔离系统的其它部分,从而提升了隔离系
启动服务模块根据该启动
建容器。从而隔离系统中
单个应用程序被不安全信
程序的容器内部,不会扩
统内部的安全性。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例的智能终端可以是智能手机、平板电脑等终端设备。智
本发明实施例的应用场景,为基于Linux内核的操作系统,本发明方
现依赖于以下基本条件:基于LinuxContainer虚拟化技术实现的内核
虚拟化,以及基于该虚拟化技术实现的多隔离系统。
在本发明中,操作系统可以为传统意义上的Linux操作系统或Unix操
其中,上述隔离系统可以是基于内核的主操作系统,也可以是基于系
本发明实施例的隔离系统中安装有多个应用程序,并设置有多个框架
framework层;而且,隔离系统包括:管理服务模块101。
统容器的从操作系统。在智能终端中设置系统容器,并在系统容器中安装
并运行从操作系统的方法为本领域技术人员所熟知,此处不再赘述。
作系统,也可以是基于Linux操作系统衍生出来的Android系统、Ubuntu系
统、Meego系统,等等,基于LinuxContainer虚拟化技术实现的多隔离系
统为可以在智能终端上运行的以上种类的操作系统。
法的实
轻量级
能终端的内部结构的框架示意图如图1所示,包括:多个隔离系统。
管理服务模块101主要用于创建、管理各框架层各自的域容器,判断
序所属域容器,以及转发命令等,具体功能将在后续详细介绍。
域容器中包括:应用启动服务模块121。
应用启动服务模块121主要用于创建、管理各应用程序各自的容器,
动运行应用程序等,具体功能将在后续详细介绍。
较佳地,域容器中还包括:应用进程管理器(图中未标)。
应用进程管理器用于对在本域容器中运行的应用程序的进程进行管
本发明实施例中,隔离系统启动时,隔离系统的容器服务模块101针
离系统中多个框架层分别创建域容器。
其中,容器服务模块101针对本隔离系统中一个框架层创建域容器的
该方法的流程示意图如图2所示,包括如下步骤:
S201:容器服务模块101针对一个框架层创建一个进程。
具体地,隔离系统中的容器服务模块101针对本隔离系统中的一个框
为该框架层创建一个进程。
较佳地,容器服务模块101为一个框架层创建一个进程时,还可以根
配置的隔离参数设置该进程。
例如,容器服务模块101为一个框架层创建一个进程时,还可以根据
应用程
以及启
理控制。
对本隔
方法,
架层,
据预先
预先配
置的命名空间的参数设置该进程的命名空间。
S202:容器服务模块101根据预先配置的运行环境设置进程的容器运
具体地,容器服务模块101对于上述步骤S201创建的进程,在本步
据预先配置的运行环境,设置该进程的容器运行环境。运行环境可
文件系统和网络环境等等。
S203:容器服务模块101在进程中运行框架层的域容器的初始化程序
具体地,容器服务模块101对于上述步骤S201创建的进程,在该进
行框架层的域容器的初始化程序,运行域容器。具体地,域容器的
程序在运行时,具体会运行上述的应用启动服务模块121,以及应
管理器。
本发明实施例中,隔离系统中的容器服务模块101,在应用程序安装
离系统中时,确定出该应用程序与域容器的对应关系并记录。
例如,应用程序安装到用户指定的域容器中,容器服务模块101确定
用程序属于该域容器,并记录两者的对应关系。
隔离系统通过界面接收到用户输入的应用程序的启动命令后,由本隔
离系统中的管理服务模块101处理该启动命令,以实现智能终端的基于多
级容器的应用程序运行方法,该方法的流程示意
步骤:
出该应
到本隔
程中运
初始化
用进程
文件,运行域容器。
骤中根
以包括:
行环境。
图如图3所示,包括如下
S301:隔离系统的管理服务模块101接收到应用程序的启动命令后,
确定应用程序所属的域容器,并将该启动命令转发至该域容器。
具体地,隔离系统的管理服务模块101接收到应用程序发送的启动命
从预先记录的应用程序与域容器的对应关系中,查找出与发送启动
应用程序相对应的域容器,将查找出的域容器作为该应用程序所属
器。其中,启动命令可以包括应用程序的标识、名称或存储位置信
并且,隔离系统的管理服务模块101将接收到应用程序的启动命令,
该应用程序所属的域容器。
S302:域容器中的应用启动服务模块121根据接收到的启动命令,启
动对应的应用程序,并为该应用程序单独创建容器。
具体地,接收到上述步骤S301中转发的启动命令的域容器中的应用
务模块121,从该启动命令中解析出应用程序的标识、名称或存储
息,根据解析出的应用程序的标识、名称或存储位置信息,启动对
用程序。
并且,应用启动服务模块121在启动应用程序时,为该应用程序单独
器,从而使得启动后的应用程序在为其单独创建的容器中运行。
上述步骤S302中,应用启动服务模块121为应用程序单独创建容器
的流程示意图如图4所示,包括如下步骤:
S401:应用启动服务模块121创建一个进程。
具体地,隔离系统的域容器中的应用启动服务模块121,对于发送启
令后,
命令的
的域容
息。
转发至
启动服
位置信
应的应
创建容
的方法
动命令
的应用程序,为该应用程序单独创建一个进程。
例如,应用启动服务模块121,对于发送启动命令的应用程序,为该
序fork出一个进程。
S402:应用启动服务模块121根据应用程序的基础运行环境所需文
及该应用程序运行时涉及的文件构成该应用程序的文件系统;利用
具体地,上述步骤S401中创建的进程,确定出应用程序的基础运行
需文件。
应用启动服务模块121,根据该应用程序的基础运行环境所需文件,
应用程序运行时涉及的文件,构成该应用程序的文件系统。
例如,上述步骤S401中创建的进程,进行Linux的unshare(解除共
统调用,从隔离系统的文件系统中复制出一个独立的文件系统副本。
之后,应用启动服务模块121进而根据该应用程序的文件系统和基础
境,设置进程的容器运行环境。
例如,应用启动服务模块121将上述构成的该应用程序的文件系统,
应用程
件,以
该文件系统和基础运行环境,设置进程的容器运行环境。
环境所
以及该
享)系
应用启动服务模块121从独立的文件系统副本中,Umount(卸载)掉该
应用程序运行时不需要的文件;文件系统副本中剩余的文件包括:该应用
程序运行时涉及的文件和基础运行环境所需文件,构成该应用程序的文件
系统。
运行环
chroot(changeroot,修改根目录位置)到该应用程序运行的根目录位置。
S403:应用启动服务模块121在进程中运行应用程序的程序文件。
具体地,应用启动服务模块121在上述步骤S401中创建的进程中,
送启动命令的应用程序的程序文件。
本发明实施例中,管理服务模块根据接收到的应用程序的启动命令,
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所
述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和
制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其
内的计算机程序,这些计算机程序选择性地激活
序可以被存储在设备(例如,计算机)可读介质中
子指令并分别耦联到总线的任何类型的介质中,
但不限于任何类型的盘(包括软盘、硬盘、光盘、
ROM(Read-OnlyMemory,只读存储器)、
随即存储器)、
擦写可编程只读存储
确定出该应用程序所属的域容器,并转发该启动命令;域容器中的应用启
动服务模块根据该启动命令,启动该应用程序,并为该应用程序单独创建
容器。从而隔离系统中的每个应用程序可以在独立的容器中运行,即使单
个应用程序被不安全信息侵入,该不安全信息也将被限制在运行该应用程
序的容器内部,不会扩散到该隔离系统的其它部分,从而提升了隔离系统
内部的安全性。
运行发
或重构。这样的计算机程
或者存储在适于存储电
所述计算机可读介质包括
CD-ROM、和磁光盘)、
RAM(RandomAccessMemory,
EPROM(ErasableProgrammableRead-OnlyMemory,可
器)、EEPROM(ElectricallyErasableProgrammable
可编程只读存储器)、闪存、磁性卡片或光线
括由设备(例如,计算机)以能够读的形式存
Read-OnlyMemory,电可擦
卡片。也就是,可读介质包
储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的
普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进
和润饰,这些改进和润饰也应视为本发明的保护范围。
法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步
地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措
施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现
有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、
方案也可以被交替、更改、重排、分解、组合或删除。
构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图
中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指
令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来
实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明
公开的结构图和/或框图和/或流图的框或多个框中指定的方案。