CN106991321B - 多容器系统中无痕运行应用程序的方法及装置 - Google Patents

多容器系统中无痕运行应用程序的方法及装置 Download PDF

Info

Publication number
CN106991321B
CN106991321B CN201710252383.5A CN201710252383A CN106991321B CN 106991321 B CN106991321 B CN 106991321B CN 201710252383 A CN201710252383 A CN 201710252383A CN 106991321 B CN106991321 B CN 106991321B
Authority
CN
China
Prior art keywords
application
application program
container system
container
running
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.)
Active
Application number
CN201710252383.5A
Other languages
English (en)
Other versions
CN106991321A (zh
Inventor
高连凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yuanxin Junsheng Technology Co ltd
Original Assignee
Yuanxin Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201710252383.5A priority Critical patent/CN106991321B/zh
Publication of CN106991321A publication Critical patent/CN106991321A/zh
Application granted granted Critical
Publication of CN106991321B publication Critical patent/CN106991321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了多容器系统中无痕运行应用程序的方法及装置,该方法包括:当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统;在已确定的应用容器系统中启动并运行应用程序;当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。通过本发明,实现了应用程序相应的内存文件系统被隔离,同时使得应用程序运行过程中的数据无法被非法获取;使得应用程序的相应数据被及时地清除,从根本上避免了应用程序数据被非法窃取的安全隐患,进一步地,提高了用户的使用体验。

Description

多容器系统中无痕运行应用程序的方法及装置
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种多容器系统中无痕运行应用程序的方法,及一种多容器系统中无痕运行应用程序的装置。
背景技术
随着当今计算机技术的发展,用户对于终端设备使用场景的多样性的需求与日俱增,终端设备不仅用于日常生活娱乐,还用于工作学习等重要场景。在用户的使用终端设备的过程中,一方面,网络中的各种病毒木马一直在不停寻找机会向各终端设备进行非法入侵,以盗取用户的隐私信息;另一方面,由于各种因素,终端设备存在极大的丢失危险,以上两方面存在的问题使得终端设备上用户的安全与隐私问题也日益凸显,个人私密数据,企业重要信息都将存在被窃取的威胁。因此,众多在移动终端中运行的企业应用,也都忌惮终端设备中的数据被非法获取。
现有技术中,往往通过加密技术对终端设备中的用户敏感数据及隐私数据进行加密,但是通过加密的方式仅能解决部分移动设备丢失后,被非法窃取数据的问题。虽然加密后的数据存储形式为非法用户取得相应数据制造了一定的障碍,但是,数据加密仍然存在各种问题,如:现有技术中往往将明文密钥存储在终端设备中,密文数据虽无法直接使用,但终端设备丢失后,非法用户依然可通过非法遍历整个终端设备的存储区得到明文密钥,从而对密文进行解密,因此,明文密钥保存在移动终端中仍然存在较大的风险;同时,由于现有技术中可直接获取到密文,非法用户也可轻易地通过暴力手段破解密文,因此,现有技术无法有力地保证终端设备中用户的隐私数据。
因此,亟需解决在终端设备中保证用户数据高度安全的问题。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种多容器系统中无痕运行应用程序的方法,包括:
当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统;
在已确定的应用容器系统中启动并运行应用程序;
当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
优选地,确定与应用程序相匹配的应用容器系统,包括:
获取预创建的各个应用容器系统的容器信息;
依据预定义的应用程序与应用容器系统的容器信息的对应关系,在各个应用容器系统中确定与应用程序相匹配的应用容器系统。
优选地,确定与应用程序相匹配的应用容器系统,包括:
创建与应用程序相匹配的应用容器系统。
优选地,创建与应用程序相应的内存文件系统,包括:
在应用容器系统中创建应用程序对应的文件系统目录;
获取在应用容器系统中已创建的文件系统目录中的根目录信息;
将已获取的文件系统根目录信息替换应用程序在多容器系统的主容器系统中的文件系统的根目录信息。
优选地,在已确定的应用容器系统中启动并运行应用程序,包括:
在已确定的应用容器系统中,通过多容器系统的系统内核创建应用程序相匹配的进程,并运行进程。
优选地,当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统,包括:
当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并销毁已创建的应用容器系统。
本发明的另一实施例提出了一种多容器系统中无痕运行应用程序的装置,包括:
监测模块,用于当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统;
启动及运行模块,用于在已确定的应用容器系统中启动并运行应用程序;
删除及卸载模块,用于当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
优选地,监测模块,包括:
第一获取单元,用于获取预创建的各个应用容器系统的容器信息;
确定单元,用于依据预定义的应用程序与应用容器系统的容器信息的对应关系,在各个应用容器系统中确定与应用程序相匹配的应用容器系统。
优选地,监测模块,包括:
第一创建单元,用于创建与应用程序相匹配的应用容器系统。
优选地,监测模块在确定与应用程序相匹配的应用容器系统之后,包括:
第二创建单元,用于在应用容器系统中创建应用程序对应的文件系统目录;
第二获取单元,用于获取在应用容器系统中已创建的文件系统目录中的根目录信息;
替换单元,用于将已获取的文件系统根目录信息替换应用程序在多容器系统的主容器系统中的文件系统的根目录信息。
本发明的实施例中,提出了一种多容器系统中无痕运行应用程序的方案,当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统,实现了各容器系统间的数据隔离,为后续保证应用程序数据高度安全提供了必要的前提保障,同时,为实现应用程序在运行过程中的数据不会被永久保留提供了必要的前提保障;在已确定的应用容器系统中启动并运行应用程序,实现了应用程序相应的内存文件系统被隔离,仅能够被应用容器系统中的应用程序可见,外部的应用程序不可见的目的,同时使得应用程序运行过程中的数据无法被非法获取;当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统,使得应用程序的相应数据被及时地清除,从根本上避免了应用程序数据被非法窃取的安全隐患,进一步地,提高了用户的使用体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明中一个实施例的多容器系统中内部结构的框架示意图;
图2为本发明中一个实施例的多容器系统中无痕运行应用程序的方法的流程图;
图3为本发明中另一实施例的多容器系统中无痕运行应用程序的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明的实施例中的多操作系统在应用程序运行过程中包括至少两个操作系统,其中,操作系统可包括各种操作系统,例如android操作系统等。本发明的实施例中的多操作系统可基于多种虚拟技术来实现,下文以Linux系统下的容器技术为例来进行实施例的详述。其中,使用Linux容器技术实现的多操作系统,在每个容器中装入独立的操作系统,多个操作系统之间相互独立,且多个操作系统运行在同一台物理终端设备上。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例的终端设备的内部结构的框架示意图如图1所示,包括:两个以上的容器系统。其中,两个以上容器系统包括一个主容器系统和多个实时或预先创建的应用容器系统,如应用容器系统OS1、应用容器系统OS2、…、应用容器系统OSn。n为正整数。
其中,本发明实施例中的应用容器系统,可以是设置在以Linux container(容器)虚拟化技术创建的容器中的操作系统。操作系统可以为传统意义上的Linux操作系统或Unix操作系统,也可以是基于Linux操作系统衍生出来的Android系统、Ubuntu系统或FireFox系统等,还可以为以Windows平台为基础的windows系统等等。实际上,本发明中的应用容器系统不限于前述例举的操作系统,可以涵盖所有能够在容器中运行的操作系统。
优选地,应用容器系统可以是上述传统的操作系统,也可以是对传统的kernel进行改进和/或在kernel之外(例如框架层和应用层)增加功能模块之后,得到的操作系统。其中,各个应用容器系统和主容器系统共享同一系统内核,当各容器中的操作系统为Linux操作系统或基于Linux操作系统衍生出来的系统时,各应用容器系统为基于Linux kernelnamespace框架之上的,通过容器实例层,增加了对终端设备中设备资源的管理功能模块后,得到的操作系统。
优选地,各应用容器系统和主容器系统可以通过预定义的通道或容器通道与其他容器系统进行通信,预定义的通道可以是socket(套接字)通道。
图2为本发明中一个实施例的多容器系统中无痕运行应用程序的方法的流程图;
本发明的实施例中,各步骤所执行的内容概述如下:步骤S210:当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统;步骤S220:在已确定的应用容器系统中启动并运行应用程序;步骤S230:当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
本发明的实施例中,提出了一种多容器系统中无痕运行应用程序的方法,当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统,实现了各容器系统间的数据隔离,为后续保证应用程序数据高度安全提供了必要的前提保障,同时,为实现应用程序在运行过程中的数据不会被永久保留提供了必要的前提保障;在已确定的应用容器系统中启动并运行应用程序,实现了应用程序相应的内存文件系统被隔离,仅能够被应用容器系统中的应用程序可见,外部的应用程序不可见的目的,同时使得应用程序运行过程中的数据无法被非法获取;当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统,使得应用程序的相应数据被及时地清除,从根本上避免了应用程序数据被非法窃取的安全隐患,进一步地,提高了用户的使用体验。以下针对各个步骤的具体实现做进一步的说明:
步骤S210:当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统。
具体地,当多容器系统的主容器系统的系统框架层监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,该系统框架层确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统。
例如,在多系统的终端设备A中,共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统;预定终端设备A的主容器系统中的应用程序App1为需要以无痕模式运行的应用程序,并通过预定的标识规则在应用程序App1配置文件中配置App1以无痕模式运行的相应标识;当终端设备A的主容器系统的系统框架层监测到终端设备A的主容器系统中的应用程序App1启动时,根据应用程序App1配置文件中以无痕模式运行的相应标识信息确定应用程序App1需要以无痕模式运行,则终端设备A的主容器系统的系统框架层确定与应用程序App1相匹配的应用容器系统为应用容器系统OS1,并启动应用容器系统OS1,并创建与应用程序App1相应的内存文件系统,如在终端设备A的系统内存中分配与应用程序App1相对应的一定容量的内存,在该分配的内存里建立虚拟磁盘,随后在该磁盘上建立相应的文件系统,并为该文件系统设计相应的数据结构来管理目录、虚拟磁盘的空闲空间、已分配空间等操作。
步骤S220:在已确定的应用容器系统中启动并运行应用程序。
例如,接上例,在多系统的终端设备A中,在应用容器系统OS1中启动并运行应用程序App1。
步骤S230:当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
具体地,当多容器系统的主容器系统的系统框架层监测到应用程序的运行状态为结束运行时,该系统框架层删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
例如,在多系统的终端设备A中,当主容器系统的系统框架层监测到应用程序App1的运行状态为结束运行时,随后,该系统框架层删除已创建的与应用程序App1相应的内存文件系统中的全部数据,以及卸载该已创建的与应用程序App1相应的内存文件系统,并退出应用容器系统OS1
在一优选实施例中,步骤S210中确定与应用程序相匹配的应用容器系统,包括:获取预创建的各个应用容器系统的容器信息;依据预定义的应用程序与应用容器系统的容器信息的对应关系,在各个应用容器系统中确定与应用程序相匹配的应用容器系统。
例如,在多系统的终端设备B中,各容器系统共享同一系统内核,终端设备B中包括一个主容器系统,以及多个应用容器系统;当终端设备B的主容器系统的系统框架层监测到终端设备B的主容器系统中需要以无痕模式运行的应用程序App1启动时,获取在终端设备B中预创建的各个应用容器系统的容器信息,包括容器标识信息,如应用容器系统OS1和应用容器系统OS2,各应用容器系统与其各自对应的应用程序的信息等;随后,依据预定义的应用程序App1与应用容器系统OS1的对应关系,在应用容器系统OS1和应用容器系统OS2中确定与应用程序App1相匹配的应用容器系统为应用容器系统OS1
在一优选实施例中,步骤S210中确定与应用程序相匹配的应用容器系统,包括:创建与应用程序相匹配的应用容器系统。
例如,在多系统的终端设备A中,各容器系统共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统,并基于Linux内核的资源隔离机制来预创建用于管理系统内核的设备资源的容器实例层;当终端设备A的主容器系统的系统框架层监测到终端设备A的主容器系统中需要以无痕模式运行的应用程序App1启动时,通过该系统框架层调用已创建的容器实例层的相关预定接口,如InterfaceA,来创建应用容器系统OS1,并创建应用容器系统OS1中针对多个设备资源,如video、input和cgroup等系统资源的资源实例,从而使得通过容器实例层创建的应用容器系统OS1可以运行一个完整的操作系统。
需要说明的是,本领域技术人员可以了解到,Linux内核的资源隔离机制,如Linuxkernel namespace框架,该框架提供了六种namespace(命名空间)隔离的系统调用,其中,每个namespace下的资源对于其他namespace下的资源都是透明,不可见的,而在用户层面上只能看到属于用户自己namespace下的系统资源,因此,使得每个namespace看上去就像一个单独的Linux系统;本领域技术人员还可以理解,在软件开发人员研发过程中,创建的实例即创建相应的实体,如通过调用容器实例层的相关接口来可创建多个应用容器系统的实例,即可创建多个操作系统之间相互独立的应用容器系统。
在一优选实施例中,步骤S210中确定与所述应用程序相匹配的应用容器系统的步骤之后,包括:在应用容器系统中创建应用程序对应的文件系统目录;获取在应用容器系统中已创建的文件系统目录中的根目录信息;将已获取的文件系统根目录信息替换应用程序在多容器系统的主容器系统中的文件系统的根目录信息。
例如,在多系统的终端设备A中,各容器系统共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统;当监测到终端设备A的主容器系统中需要以无痕模式运行的应用程序App1启动时,确定与应用程序App1相匹配的应用容器系统为应用容器系统OS1,随后,在应用容器系统OS1中创建应用程序App1对应的文件系统目录,并获取在应用容器系统OS1中已创建的文件系统目录中的根目录信息,随后将已获取的文件系统根目录信息替换应用程序App1在多容器系统的主容器系统中的文件系统的根目录信息。
通过本实施例,根据在应用程序对应的应用容器系统的根文件系统上创建的任何新文件系统都是该应用容器系统私有的实例,因此,对其他外界容器系统均不可见,实现了各应用容器系统间的数据隔离,为后续保证应用程序数据高度安全提供了必要的前提保障。
在一优选实施例中,步骤S220中在已确定的应用容器系统中启动并运行应用程序,包括:在已确定的应用容器系统中,通过多容器系统的系统内核创建应用程序相匹配的进程,并运行进程。
例如,在多系统的终端设备A中,终端设备A的主容器系统的系统框架层复制主容器系统应用程序App1的进程,如Process1,至应用容器系统OS1中,且在复制应用程序App1的进程的过程中,对Process1配置相应的复制标记,通过该复制标记信息可识别复制得到的进程Process1为复制后的应用程序App1的进程,随后,终端设备A的系统内核根据复制标记信息确定复制后的应用程序App1的进程,并在应用容器系统OS1中启动并运行复制后的应用程序App1的进程。
在一优选实施例中,若在步骤S210中创建了与应用程序相匹配的应用容器系统,则步骤S230中当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统,包括:当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并销毁已创建的应用容器系统。
例如,在多系统的终端设备A中,各容器系统共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统;当终端设备A的主容器系统的系统框架层监测到终端设备A的主容器系统中需要以无痕模式运行的应用程序App1启动时,创建与应用程序App1相匹配的应用容器系统OS1,当终端设备A的主容器系统的系统框架层监测到应用程序App1的运行状态为结束运行时,终端设备A的主容器系统的系统框架层删除已创建的与应用程序App1对应的内存文件系统中的全部数据,以及卸载该应用程序App1对应的内存文件系统,随后,退出并销毁已创建的应用容器系统OS1
图3为本发明中另一实施例的多容器系统中无痕运行应用程序的装置的结构示意图。
本发明的实施例中,各步骤所执行的内容概述如下:监测模块310当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统;启动及运行模块320在已确定的应用容器系统中启动并运行应用程序;删除及卸载模块330当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
本发明的实施例中,提出了一种多容器系统中无痕运行应用程序的装置,当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统,实现了各容器系统间的数据隔离,为后续保证应用程序数据高度安全提供了必要的前提保障,同时,为实现应用程序在运行过程中的数据不会被永久保留提供了必要的前提保障;在已确定的应用容器系统中启动并运行应用程序,实现了应用程序相应的内存文件系统被隔离,仅能够被应用容器系统中的应用程序可见,外部的应用程序不可见的目的,同时使得应用程序运行过程中的数据无法被非法获取;当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统,使得应用程序的相应数据被及时地清除,从根本上避免了应用程序数据被非法窃取的安全隐患,进一步地,提高了用户的使用体验。以下针对各个步骤的具体实现做进一步的说明:
监测模块310,用于当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统。
具体地,当多容器系统的主容器系统的系统框架层监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,该系统框架层确定与应用程序相匹配的应用容器系统,并创建与应用程序相应的内存文件系统。
例如,在多系统的终端设备A中,共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统;预定终端设备A的主容器系统中的应用程序App1为需要以无痕模式运行的应用程序,并通过预定的标识规则在应用程序App1配置文件中配置App1以无痕模式运行的相应标识;当终端设备A的主容器系统的系统框架层监测到终端设备A的主容器系统中的应用程序App1启动时,根据应用程序App1配置文件中以无痕模式运行的相应标识信息确定应用程序App1需要以无痕模式运行,则终端设备A的主容器系统的系统框架层确定与应用程序App1相匹配的应用容器系统为应用容器系统OS1,并启动应用容器系统OS1,并创建与应用程序App1相应的内存文件系统,如在终端设备A的系统内存中分配与应用程序App1相对应的一定容量的内存,在该分配的内存里建立虚拟磁盘,随后在该磁盘上建立相应的文件系统,并为该文件系统设计相应的数据结构来管理目录、虚拟磁盘的空闲空间、已分配空间等操作。
启动及运行模块320,用于在已确定的应用容器系统中启动并运行应用程序。
例如,接上例,在多系统的终端设备A中,在应用容器系统OS1中启动并运行应用程序App1。
删除及卸载模块330,用于当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
具体地,当多容器系统的主容器系统的系统框架层监测到应用程序的运行状态为结束运行时,该系统框架层删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统。
例如,在多系统的终端设备A中,当主容器系统的系统框架层监测到应用程序App1的运行状态为结束运行时,随后,该系统框架层删除已创建的与应用程序App1相应的内存文件系统中的全部数据,以及卸载该已创建的与应用程序App1相应的内存文件系统,并退出应用容器系统OS1
在一优选实施例中,监测模块310中确定与应用程序相匹配的应用容器系统,包括第一获取单元和确定单元;第一获取单元用于获取预创建的各个应用容器系统的容器信息;确定单元用于依据预定义的应用程序与应用容器系统的容器信息的对应关系,在各个应用容器系统中确定与应用程序相匹配的应用容器系统。
例如,在多系统的终端设备B中,各容器系统共享同一系统内核,终端设备B中包括一个主容器系统,以及多个应用容器系统;当终端设备B的主容器系统的系统框架层监测到终端设备B的主容器系统中需要以无痕模式运行的应用程序App1启动时,获取在终端设备B中预创建的各个应用容器系统的容器信息,包括容器标识信息,如应用容器系统OS1和应用容器系统OS2,各应用容器系统与其各自对应的应用程序的信息等;随后,依据预定义的应用程序App1与应用容器系统OS1的对应关系,在应用容器系统OS1和应用容器系统OS2中确定与应用程序App1相匹配的应用容器系统为应用容器系统OS1
在一优选实施例中,监测模块310中确定与应用程序相匹配的应用容器系统,包括第一创建单元;第一创建单元用于创建与应用程序相匹配的应用容器系统。
例如,在多系统的终端设备A中,各容器系统共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统,并基于Linux内核的资源隔离机制来预创建用于管理系统内核的设备资源的容器实例层;当终端设备A的主容器系统的系统框架层监测到终端设备A的主容器系统中需要以无痕模式运行的应用程序App1启动时,通过该系统框架层调用已创建的容器实例层的相关预定接口,如InterfaceA,来创建应用容器系统OS1,并创建应用容器系统OS1中针对多个设备资源,如video、input和cgroup等系统资源的资源实例,从而使得通过容器实例层创建的应用容器系统OS1可以运行一个完整的操作系统。
需要说明的是,本领域技术人员可以了解到,Linux内核的资源隔离机制,如Linuxkernel namespace框架,该框架提供了六种namespace(命名空间)隔离的系统调用,其中,每个namespace下的资源对于其他namespace下的资源都是透明,不可见的,而在用户层面上只能看到属于用户自己namespace下的系统资源,因此,使得每个namespace看上去就像一个单独的Linux系统;本领域技术人员还可以理解,在软件开发人员研发过程中,创建的实例即创建相应的实体,如通过调用容器实例层的相关接口来可创建多个应用容器系统的实例,即可创建多个操作系统之间相互独立的应用容器系统。
在一优选实施例中,监测模块310中确定与所述应用程序相匹配的应用容器系统的步骤之后,包括第二创建单元、第二获取单元和替换单元;第二创建单元用于在应用容器系统中创建应用程序对应的文件系统目录;第二获取单元用于获取在应用容器系统中已创建的文件系统目录中的根目录信息;替换单元用于将已获取的文件系统根目录信息替换应用程序在多容器系统的主容器系统中的文件系统的根目录信息。
例如,在多系统的终端设备A中,各容器系统共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统;当监测到终端设备A的主容器系统中需要以无痕模式运行的应用程序App1启动时,确定与应用程序App1相匹配的应用容器系统为应用容器系统OS1,随后,在应用容器系统OS1中创建应用程序App1对应的文件系统目录,并获取在应用容器系统OS1中已创建的文件系统目录中的根目录信息,随后将已获取的文件系统根目录信息替换应用程序App1在多容器系统的主容器系统中的文件系统的根目录信息。
通过本实施例,根据在应用程序对应的应用容器系统的根文件系统上创建的任何新文件系统都是该应用容器系统私有的实例,因此,对其他外界容器系统均不可见,实现了各应用容器系统间的数据隔离,为后续保证应用程序数据高度安全提供了必要的前提保障。
在一优选实施例中,启动及运行模块320中在已确定的应用容器系统中启动并运行应用程序,包括创建及运行单元;创建及运行单元用于在已确定的应用容器系统中,通过多容器系统的系统内核创建应用程序相匹配的进程,并运行进程。
例如,在多系统的终端设备A中,终端设备A的主容器系统的系统框架层复制主容器系统应用程序App1的进程,如Process1,至应用容器系统OS1中,且在复制应用程序App1的进程的过程中,对Process1配置相应的复制标记,通过该复制标记信息可识别复制得到的进程Process1为复制后的应用程序App1的进程,随后,终端设备A的系统内核根据复制标记信息确定复制后的应用程序App1的进程,并在应用容器系统OS1中启动并运行复制后的应用程序App1的进程。
在一优选实施例中,若在监测模块310中创建了与应用程序相匹配的应用容器系统,则删除及卸载模块330中当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并退出应用容器系统,包括删除及卸载单元;删除及卸载单元用于当监测到应用程序的运行状态为结束运行时,删除内存文件系统中的相应数据,卸载内存文件系统,并销毁已创建的应用容器系统。
例如,在多系统的终端设备A中,各容器系统共享同一系统内核,多系统的终端设备A中包括一个主容器系统,且允许包括至少一个应用容器系统;当终端设备A的主容器系统的系统框架层监测到终端设备A的主容器系统中需要以无痕模式运行的应用程序App1启动时,创建与应用程序App1相匹配的应用容器系统OS1,当终端设备A的主容器系统的系统框架层监测到应用程序App1的运行状态为结束运行时,终端设备A的主容器系统的系统框架层删除已创建的与应用程序App1对应的内存文件系统中的全部数据,以及卸载该应用程序App1对应的内存文件系统,随后,退出并销毁已创建的应用容器系统OS1
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种多容器系统中无痕运行应用程序的方法,其特征在于,包括:
当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与所述应用程序相匹配的应用容器系统,并创建与所述应用程序相应的内存文件系统;
在已确定的所述应用容器系统中启动并运行所述应用程序;
当监测到所述应用程序的运行状态为结束运行时,删除所述内存文件系统中的相应数据,卸载所述内存文件系统,并退出所述应用容器系统;
其中,确定与所述应用程序相匹配的应用容器系统,包括:
调用已创建的容器实例层的相关预定接口来创建与所述应用程序相匹配的应用容器系统,所述容器实例层为基于资源隔离机制来预创建的,所述容器实例层用于管理系统内核的设备资源。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述应用程序相匹配的应用容器系统,包括:
获取预创建的各个应用容器系统的容器信息;
依据预定义的应用程序与应用容器系统的容器信息的对应关系,在所述各个应用容器系统中确定与所述应用程序相匹配的应用容器系统。
3.根据权利要求1所述的方法,其特征在于,所述确定与所述应用程序相匹配的应用容器系统的步骤之后,包括:
在所述应用容器系统中创建所述应用程序对应的文件系统目录;
获取在所述应用容器系统中已创建的所述文件系统目录中的根目录信息;
将已获取的文件系统根目录信息替换所述应用程序在所述多容器系统的主容器系统中的文件系统的根目录信息。
4.根据权利要求3所述的方法,其特征在于,所述在已确定的所述应用容器系统中启动并运行所述应用程序,包括:
在已确定的所述应用容器系统中,通过所述多容器系统的系统内核创建所述应用程序相匹配的进程,并运行所述进程。
5.根据权利要求1所述的方法,其特征在于,所述当监测到所述应用程序的运行状态为结束运行时,删除所述内存文件系统中的相应数据,卸载所述内存文件系统,并退出所述应用容器系统,包括:
当监测到所述应用程序的运行状态为结束运行时,删除所述内存文件系统中的相应数据,卸载所述内存文件系统,并销毁已创建的所述应用容器系统。
6.一种多容器系统中无痕运行应用程序的装置,其特征在于,包括:
监测模块,用于当监测到多容器系统的主容器系统中需要以无痕模式运行的任一应用程序启动时,确定与所述应用程序相匹配的应用容器系统,并创建与所述应用程序相应的内存文件系统;
启动及运行模块,用于在已确定的所述应用容器系统中启动并运行所述应用程序;
删除及卸载模块,用于当监测到所述应用程序的运行状态为结束运行时,删除所述内存文件系统中的相应数据,卸载所述内存文件系统,并退出所述应用容器系统;
其中,所述监测模块,具体用于调用已创建的容器实例层的相关预定接口来创建与所述应用程序相匹配的应用容器系统,所述容器实例层为基于资源隔离机制来预创建的,所述容器实例层用于管理系统内核的设备资源。
7.根据权利要求6所述的装置,其特征在于,所述监测模块,包括:
第一获取单元,用于获取预创建的各个应用容器系统的容器信息;
确定单元,用于依据预定义的应用程序与应用容器系统的容器信息的对应关系,在所述各个应用容器系统中确定与所述应用程序相匹配的应用容器系统。
8.根据权利要求6所述的装置,其特征在于,所述监测模块在确定与所述应用程序相匹配的应用容器系统之后,包括:
第二创建单元,用于在所述应用容器系统中创建所述应用程序对应的文件系统目录;
第二获取单元,用于获取在所述应用容器系统中已创建的所述文件系统目录中的根目录信息;
替换单元,用于将已获取的文件系统根目录信息替换所述应用程序在所述多容器系统的主容器系统中的文件系统的根目录信息。
CN201710252383.5A 2017-04-18 2017-04-18 多容器系统中无痕运行应用程序的方法及装置 Active CN106991321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710252383.5A CN106991321B (zh) 2017-04-18 2017-04-18 多容器系统中无痕运行应用程序的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710252383.5A CN106991321B (zh) 2017-04-18 2017-04-18 多容器系统中无痕运行应用程序的方法及装置

Publications (2)

Publication Number Publication Date
CN106991321A CN106991321A (zh) 2017-07-28
CN106991321B true CN106991321B (zh) 2020-11-03

Family

ID=59415749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710252383.5A Active CN106991321B (zh) 2017-04-18 2017-04-18 多容器系统中无痕运行应用程序的方法及装置

Country Status (1)

Country Link
CN (1) CN106991321B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908957B (zh) * 2017-11-03 2021-09-17 北京邮电大学 一种智能终端的安全运行管理方法及系统
CN108416209B (zh) * 2018-03-07 2021-10-22 北京元心科技有限公司 程序安全验证方法、装置及终端设备
CN108595982B (zh) * 2018-03-19 2021-09-10 中国电子科技集团公司第三十研究所 一种基于多容器分离处理的安全计算架构方法及装置
US11200330B2 (en) 2018-08-01 2021-12-14 Red Hat, Inc. Secure storage access through rate limitation
CN109241730B (zh) * 2018-09-03 2020-09-29 杭州安恒信息技术股份有限公司 一种容器风险的防御方法、装置、设备及可读存储介质
CN111367854B (zh) * 2018-12-25 2023-02-28 成都鼎桥通信技术有限公司 一种多容器根文件系统的构建方法
CN109992354B (zh) * 2019-04-09 2021-02-19 腾讯科技(深圳)有限公司 容器处理方法、装置、主体服务器、系统和存储介质
CN114168203B (zh) * 2020-09-10 2024-02-13 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备
CN112817492A (zh) * 2021-01-12 2021-05-18 张宇翔 移动终端中应用程序管理方法及系统
CN115202830B (zh) * 2022-09-09 2022-12-30 统信软件技术有限公司 根文件系统的准备方法、系统、计算设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511943A (zh) * 2015-12-03 2016-04-20 华为技术有限公司 一种Docker容器运行方法和装置
US9471353B1 (en) * 2014-03-21 2016-10-18 Amazon Technologies, Inc. Isolating tenants executing in multi-tenant software containers
CN106095464A (zh) * 2016-06-23 2016-11-09 努比亚技术有限公司 一种应用程序无痕运行的方法及装置
CN106254503A (zh) * 2016-08-23 2016-12-21 北京奇虎科技有限公司 基于操作系统的无痕操作方法、装置和便携式多功能设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090797B2 (en) * 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
CN102467566B (zh) * 2010-11-19 2014-12-31 奇智软件(北京)有限公司 一种无痕浏览网页的方法及系统
CN103677983B (zh) * 2012-09-20 2018-05-04 三亚中兴软件有限责任公司 应用的调度方法及装置
CN103795847A (zh) * 2012-10-31 2014-05-14 三星电子(中国)研发中心 在通信终端上应用无痕模式的方法以及通信终端
CN105184153B (zh) * 2015-08-26 2018-10-02 北京元心科技有限公司 智能终端及其基于多级容器的应用程序运行方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471353B1 (en) * 2014-03-21 2016-10-18 Amazon Technologies, Inc. Isolating tenants executing in multi-tenant software containers
CN105511943A (zh) * 2015-12-03 2016-04-20 华为技术有限公司 一种Docker容器运行方法和装置
CN106095464A (zh) * 2016-06-23 2016-11-09 努比亚技术有限公司 一种应用程序无痕运行的方法及装置
CN106254503A (zh) * 2016-08-23 2016-12-21 北京奇虎科技有限公司 基于操作系统的无痕操作方法、装置和便携式多功能设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"终端无痕"构筑安全的电子办公环境;田强;《计算机安全》;20090615;第101-102页 *

Also Published As

Publication number Publication date
CN106991321A (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
CN106991321B (zh) 多容器系统中无痕运行应用程序的方法及装置
US20200301764A1 (en) Operating system on a computing system
US10181037B2 (en) Secure creation of encrypted virtual machines from encrypted templates
US9389791B2 (en) Enhanced software application platform
US9904557B2 (en) Provisioning of operating systems to user terminals
CN107430669B (zh) 计算系统和方法
US9520994B2 (en) System and method for deriving secrets from a master key bound to an application on a device
US9602466B2 (en) Method and apparatus for securing a computer
EP3103048B1 (en) Content item encryption on mobile devices
US10114932B2 (en) Adapting a mobile application to a partitioned environment
CN107066298B (zh) 无痕运行应用程序的方法及装置
US10474454B2 (en) System and method for updating a trusted application (TA) on a device
US20170068531A1 (en) Method of deploying a set of software application(s)
CN106776067B (zh) 多容器系统中系统资源的管理方法及管理装置
US9235584B2 (en) Self-removal of enterprise app data
TW200941278A (en) Secure update of boot image without knowledge of secure key
CN106056000B (zh) 基于系统权限的移动设备存储分区配置方法及装置
US11341230B1 (en) Maintaining dual-party authentication requirements for data retention compliance
Yalew et al. Hail to the Thief: Protecting data from mobile ransomware with ransomsafedroid
US8918653B2 (en) Protection of interpreted source code in virtual appliances
CN107391028B (zh) 一种虚拟卷权限的控制方法及装置
CN110046510B (zh) 跨云的数据迁移方法、装置和系统
WO2019209893A1 (en) Operating system on a computing system
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
JP6010672B2 (ja) セキュリティ設定システム、セキュリティ設定方法およびプログラム

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210201

Address after: 100080 room 401-3, 4th floor, building 1, yard 1, Danling street, Haidian District, Beijing

Patentee after: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170728

Assignee: Yuanxin Information Technology Group Co.,Ltd.

Assignor: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Contract record no.: X2021110000017

Denomination of invention: Method and device of running application program without trace in multi container system

Granted publication date: 20201103

License type: Common License

Record date: 20210531

EE01 Entry into force of recordation of patent licensing contract