CN106776067A - 多容器系统中系统资源的管理方法及管理装置 - Google Patents

多容器系统中系统资源的管理方法及管理装置 Download PDF

Info

Publication number
CN106776067A
CN106776067A CN201611071046.8A CN201611071046A CN106776067A CN 106776067 A CN106776067 A CN 106776067A CN 201611071046 A CN201611071046 A CN 201611071046A CN 106776067 A CN106776067 A CN 106776067A
Authority
CN
China
Prior art keywords
resource
container instance
kernel
container
instance layer
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.)
Granted
Application number
CN201611071046.8A
Other languages
English (en)
Other versions
CN106776067B (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.)
Yuanxin Information Technology Group 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 CN201611071046.8A priority Critical patent/CN106776067B/zh
Publication of CN106776067A publication Critical patent/CN106776067A/zh
Application granted granted Critical
Publication of CN106776067B publication Critical patent/CN106776067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了多容器系统中系统资源的管理方法及管理装置,该方法包括:通过系统内核来创建用于管理系统内核的设备资源的容器实例层;通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。通过本发明,实现了创建的容器系统与容器实例层中的容器实例一一对应,实现了通过容器实例层统一管理系统内核中的系统资源,并实现对系统内核中设备资源的虚拟化,使得创建的容器系统可运行一个完整的操作系统;并根据不同容器实例的使用需求,对系统内核的资源进行差异化的配置,满足了用户的个性化使用需求。

Description

多容器系统中系统资源的管理方法及管理装置
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种多容器系统中系统资源的管理方法,及一种多容器系统中系统资源的管理装置。
背景技术
随着当今计算机技术的发展,终端设备的各项软硬件配置越来越高,一些高端配置的终端设备运行效果已和桌面设备的相应配置实现的效果接近,这为操作系统的虚拟化奠定了基础;另一方面,用户对于终端设备使用场景的多样性与日俱增,终端设备不仅用于日常生活娱乐,还用于工作学习等重要场景。然而,随着用户的使用需求地不断提高,用户的安全与隐私问题也日益凸显。在用户的使用过程,终端设备上会产生多种的用户隐私信息,如各种账号,支付密码等,但是,当今网络中的各种病毒木马一直在不停寻找机会向各终端设备进行非法入侵,以盗取用户的隐私信息,这种情况下在一个隔离的环境中运行敏感软件是更加安全的做法。因此,出现了同一终端设备中根据不同的用户需求提供不同运行环境的解决方案,如设置特定用户在特定的受限运行环境下使用终端设备,或为同一用户在终端设备中的不同使用场景设置不同的运行环境。因此急需在终端设备中实现系统的虚拟化。
现有技术中,桌面系统中的虚拟化技术已比较成熟,厂商也都提供了硬件支持,各种虚拟化解决方案也都使用广泛。但是,在终端设备的平台上,由于计算能力相对有限,且终端处理器对虚拟化的支持没有桌面系统中那么成熟完善,同时终端平台的各种硬件设备种类繁多,因此,尚无有效的技术方案来解决终端设备中对各种设备的虚拟化的问题。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出一种多容器系统中系统资源的管理方法,包括:
通过系统内核来创建用于管理系统内核的设备资源的容器实例层;
通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;
通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
优选地,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,包括:
基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。
优选地,设备资源包括物理设备资源和虚拟设备资源中的至少一项;
物理设备资源包括音视频设备资源、输入输出设备资源、通信设备资源中的至少一项;
虚拟设备资源包括cgroup资源。
优选地,通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,还包括:
通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。
可选地,当多容器系统中的两个容器系统发生前后台切换时,该方法还包括:
通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。
本发明的另一实施例提出了一种多容器系统中系统资源的管理装置,包括:
第一创建模块,用于通过系统内核来创建用于管理系统内核的设备资源的容器实例层;
第二创建模块,用于通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;
第一配置模块,用于通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
优选地,第一创建模块用于
基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。
优选地,设备资源包括物理设备资源和虚拟设备资源中的至少一项;
物理设备资源包括音视频设备资源、输入输出设备资源、通信设备资源中的至少一项;
虚拟设备资源包括cgroup资源。
优选地,第一配置模块,还包括:
配置单元,用于通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。
可选地,当多容器系统中的两个容器系统发生前后台切换时,该装置还包括:
第二配置模块,用于通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。
本发明的实施例中,提出了一种多容器系统中系统资源的管理方案,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,为后续创建可实现将系统内核中设备资源虚拟化的容器系统提供了必要的前提保障;通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例,实现了创建的容器系统与容器实例层中的容器实例一一对应,为统一管理系统内核中的系统资源提供了必要的前提保障;随后,实现了通过容器实例层统一管理系统内核中的系统资源,并在创建的容器系统中实现对系统内核中设备资源的虚拟化,使得创建的容器系统可运行一个完整的操作系统;通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,并根据不同容器实例的使用需求,对系统内核的资源进行差异化的配置,满足了用户的个性化使用需求;同时,通过合理配置各容器实例使用的系统资源,极大的提高了系统运行的效率,避免了系统资源浪费的情况;进一步地,提高了用户的终端使用体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图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 kernel namespace框架之上的,通过容器实例层,增加了对终端设备中设备资源的管理功能模块后,得到的操作系统。
优选地,容器系统可以通过预定义的通道或容器通道与其他容器系统进行通信,预定义的通道可以是socket(套接字)通道。
图2为本发明中一个实施例的多容器系统中系统资源的管理方法的流程图。
本发明的实施例中,各步骤所执行的内容概述如下:步骤S210:通过系统内核来创建用于管理系统内核的设备资源的容器实例层;步骤S220:通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;步骤S230:通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
本发明的实施例中,提出了一种多容器系统中系统资源的管理方法,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,为后续创建可实现将系统内核中设备资源虚拟化的容器系统提供了必要的前提保障;通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例,实现了创建的容器系统与容器实例层中的容器实例一一对应,为统一管理系统内核中的系统资源提供了必要的前提保障;随后,实现了通过容器实例层统一管理系统内核中的系统资源,并在创建的容器系统中实现对系统内核中设备资源的虚拟化,使得创建的容器系统可运行一个完整的操作系统;通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,并根据不同容器实例的使用需求,对系统内核的资源进行差异化的配置,满足了用户的个性化使用需求;同时,通过合理配置各容器实例使用的系统资源,极大的提高了系统运行的效率,避免了系统资源浪费的情况;进一步地,提高了用户的终端使用体验。以下针对各个步骤的具体实现做进一步的说明:
步骤S210:通过系统内核来创建用于管理系统内核的设备资源的容器实例层。
具体地,通过多系统终端设备中共享的系统内核来创建用于管理其系统内核的设备资源的容器实例层。
优选地,基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。
其中,设备资源包括物理设备资源和虚拟设备资源中的至少一项。
物理设备资源包括音视频设备资源,如video资源、输入输出设备资源,如input资源、通信设备资源,如WIFI资源中的至少一项。
虚拟设备资源包括cgroup资源。cgroup资源为controller group资源,最初由Google的工程师提出,后被整合进Linux内核中用于将任意进程进行分组化管理的Linux内核功能,同时还可以控制进程的资源占用(CPU、内存等的占用)情况,cgroup本身提供将进程进行分组化管理的功能和接口的基础结构。
例如,在多系统的终端设备A中,共享同一系统内核,如Linux kernel,基于Linux内核的资源隔离机制,如Linux kernel namespace框架,来创建用于管理Linux系统内核中的物理设备资源和虚拟设备资源的容器实例层,以实现物理设备资源和虚拟设备资源的虚拟化管理,从而使得通过容器实例层创建的容器可以运行一个完整的操作系统。
需要说明的是,本领域技术人员可以了解到,Linux内核的资源隔离机制,如Linuxkernel namespace框架,该框架提供了这六种namespace(命名空间)隔离的系统调用,包括UTS namespace(主机名与域名命名空间)、IPC namespace(信号量、消息队列和共享内存命名空间)、PID namespace(进程编号命名空间)、Network namespace(网络设备、网络栈、端口等命名空间)、Mount namespace(文件系统挂载点命名空间)以及User namespace(用户和用户组命名空间),使得PID、IPC、Network等系统资源不再是系统全局性的,而是属于某个特定的namespace。其中,每个namespace下的资源对于其他namespace下的资源都是不可见的,因此在操作系统层面上看,就会出现多个相同PID的进程,如系统中可以同时存在三个进程号为0,1和2的进程,由于它们属于不同的namespace,所以它们之间对系统的调用并不冲突。而在用户层面上只能看到属于用户自己namespace下的系统资源,因此,使得每个namespace看上去就像一个单独的Linux系统,但是Linux kernel namespace框架中并未提供对系统内核中设备资源的隔离调用。
步骤S220:通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例。
例如,在多系统的终端设备A中,共享同一系统内核Linux kernel,通过调用已创建的容器实例层的相关预定接口,如InterfaceA,来创建容器系统OS1和容器系统OS2,使得容器实例层中容器系统OS1的实例与用户在终端设备A中创建的容器系统OS1对应,以及容器实例层中容器系统OS2的实例与用户在终端设备A中创建的容器系统OS2对应;并创建容器系统OS1中针对多个设备资源,如video、input和cgroup等系统资源的资源实例,以及创建容器系统OS2中针对多个设备资源,如video、input和cgroup等系统资源的资源实例。
需要说明的是,本领域技术人员可以理解,在软件开发人员研发过程中,创建的实例即创建相应的实体,如通过调用容器实例层的相关接口来可创建多个容器的实例,即可创建多个操作系统之间相互独立的容器系统;又如创建各个容器系统中包括的针对多个设备资源的资源实例,即创建针对多个设备资源的具体资源的相关信息等。
步骤S230:通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
具体地,通过容器实例层对各个容器系统中,针对多个设备资源的资源实例在各个容器系统中进行相应的配置。
例如,在多系统的终端设备A中,共享同一系统内核Linux kernel,通过已创建的容器实例层,针对video、input和cgroup等设备资源的资源实例,在容器系统OS1和容器系统OS2中进行相应配置,如在容器系统OS1中,将video设备资源的资源实例配置为不启用,在容器系统OS2中,将video设备资源的资源实例配置为启用等。
优选地,在步骤S230中,通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。
例如,在多系统的终端设备A中,共享同一系统内核Linux kernel,预设的设备资源配置信息,如在容器系统OS1中,将video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,在容器系统OS2中,将video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为不启用;通过已创建的容器实例层,根据预设的设备资源配置信息,在容器系统OS1中,不启用video和input设备资源的资源实例以及启用cgroup设备资源的资源实例;在容器系统OS2中,启用video和input设备资源的资源实例以及不启用cgroup设备资源的资源实例。
在一优选实施例中,当多容器系统中的两个容器系统发生前后台切换时,该方法还包括步骤S240;步骤S240:通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。
在多系统的终端设备A中,共享同一系统内核Linux kernel,通过容器实例层创建容器系统OS1和容器系统OS2,根据预设的设备资源配置信息,如当容器系统OS1或容器系统OS2当前处于前台时,将当前处于前台的容器系统的video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为启用,且cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为2/3,当容器系统OS1或容器系统OS2当前处于后台时,将当前处于后台的容器系统的video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为1/3;当前处于前台的容器系统为容器系统OS1,若用户通过多系统终端设备的人机交互界面进行系统切换操作,将容器系统OS2切换至前台,将容器系统OS1切换至后台,则将切换后处于前台的容器系统OS2的video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统OS2的cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为2/3,同时,将切换后处于后台的容器系统OS1的video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统OS1的cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为1/3。
图3为本发明中另一实施例的多容器系统中系统资源的管理装置的结构示意图。
本发明的实施例中,各模块所执行的内容概述如下:第一创建模块310通过系统内核来创建用于管理系统内核的设备资源的容器实例层;第二创建模块320通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;第一配置模块330通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
本发明的实施例中,提出了一种多容器系统中系统资源的管理装置,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,为后续创建可实现将系统内核中设备资源虚拟化的容器系统提供了必要的前提保障;通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例,实现了创建的容器系统与容器实例层中的容器实例一一对应,为统一管理系统内核中的系统资源提供了必要的前提保障;随后,实现了通过容器实例层统一管理系统内核中的系统资源,并在创建的容器系统中实现对系统内核中设备资源的虚拟化,使得创建的容器系统可运行一个完整的操作系统;通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,并根据不同容器实例的使用需求,对系统内核的资源进行差异化的配置,满足了用户的个性化使用需求;同时,通过合理配置各容器实例使用的系统资源,极大的提高了系统运行的效率,避免了系统资源浪费的情况;进一步地,提高了用户的终端使用体验。以下针对各个模块的具体实现做进一步的说明:
第一创建模块310通过系统内核来创建用于管理系统内核的设备资源的容器实例层。
具体地,通过多系统终端设备中共享的系统内核来创建用于管理其系统内核的设备资源的容器实例层。
优选地,基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。
其中,设备资源包括物理设备资源和虚拟设备资源中的至少一项。
物理设备资源包括音视频设备资源,如video资源、输入输出设备资源,如input资源、通信设备资源,如WIFI资源中的至少一项。
虚拟设备资源包括cgroup资源。cgroup资源为controller group资源,最初由Google的工程师提出,后被整合进Linux内核中用于将任意进程进行分组化管理的Linux内核功能,同时还可以控制进程的资源占用(CPU、内存等的占用)情况,cgroup本身提供将进程进行分组化管理的功能和接口的基础结构。
例如,在多系统的终端设备A中,共享同一系统内核,如Linux kernel,基于Linux内核的资源隔离机制,如Linux kernel namespace框架,来创建用于管理Linux系统内核中的物理设备资源和虚拟设备资源的容器实例层,以实现物理设备资源和虚拟设备资源的虚拟化管理,从而使得通过容器实例层创建的容器可以运行一个完整的操作系统。
需要说明的是,本领域技术人员可以了解到,Linux内核的资源隔离机制,如Linuxkernel namespace框架,该框架提供了这六种namespace(命名空间)隔离的系统调用,包括UTS namespace(主机名与域名命名空间)、IPC namespace(信号量、消息队列和共享内存命名空间)、PID namespace(进程编号命名空间)、Network namespace(网络设备、网络栈、端口等命名空间)、Mount namespace(文件系统挂载点命名空间)以及User namespace(用户和用户组命名空间),使得PID、IPC、Network等系统资源不再是系统全局性的,而是属于某个特定的namespace。其中,每个namespace下的资源对于其他namespace下的资源都是不可见的,因此在操作系统层面上看,就会出现多个相同PID的进程,如系统中可以同时存在三个进程号为0,1和2的进程,由于它们属于不同的namespace,所以它们之间对系统的调用并不冲突。而在用户层面上只能看到属于用户自己namespace下的系统资源,因此,使得每个namespace看上去就像一个单独的Linux系统,但是Linux kernel namespace框架中并未提供对系统内核中设备资源的隔离调用。
第二创建模块320通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例。
例如,在多系统的终端设备A中,共享同一系统内核Linux kernel,通过调用已创建的容器实例层的相关预定接口,如InterfaceA,来创建容器系统OS1和容器系统OS2,使得容器实例层中容器系统OS1的实例与用户在终端设备A中创建的容器系统OS1对应,以及容器实例层中容器系统OS2的实例与用户在终端设备A中创建的容器系统OS2对应;并创建容器系统OS1中针对多个设备资源,如video、input和cgroup等系统资源的资源实例,以及创建容器系统OS2中针对多个设备资源,如video、input和cgroup等系统资源的资源实例。
需要说明的是,本领域技术人员可以理解,在软件开发人员研发过程中,创建的实例即创建相应的实体,如通过调用容器实例层的相关接口来可创建多个容器的实例,即可创建多个操作系统之间相互独立的容器系统;又如创建各个容器系统中包括的针对多个设备资源的资源实例,即创建针对多个设备资源的具体资源的相关信息等。
第一配置模块330通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
具体地,通过容器实例层对各个容器系统中,针对多个设备资源的资源实例在各个容器系统中进行相应的配置。
例如,在多系统的终端设备A中,共享同一系统内核Linux kernel,通过已创建的容器实例层,针对video、input和cgroup等设备资源的资源实例,在容器系统OS1和容器系统OS2中进行相应配置,如在容器系统OS1中,将video设备资源的资源实例配置为不启用,在容器系统OS2中,将video设备资源的资源实例配置为启用等。
优选地,第一配置模块330进一步包括配置单元,配置单元通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。
例如,在多系统的终端设备A中,共享同一系统内核Linux kernel,预设的设备资源配置信息,如在容器系统OS1中,将video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,在容器系统OS2中,将video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为不启用;通过已创建的容器实例层,根据预设的设备资源配置信息,在容器系统OS1中,不启用video和input设备资源的资源实例以及启用cgroup设备资源的资源实例;在容器系统OS2中,启用video和input设备资源的资源实例以及不启用cgroup设备资源的资源实例。
在一优选实施例中,当多容器系统中的两个容器系统发生前后台切换时,该装置还包括第二配置模块;第二配置模块通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。
在多系统的终端设备A中,共享同一系统内核Linux kernel,通过容器实例层创建容器系统OS1和容器系统OS2,根据预设的设备资源配置信息,如当容器系统OS1或容器系统OS2当前处于前台时,将当前处于前台的容器系统的video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为启用,且cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为2/3,当容器系统OS1或容器系统OS2当前处于后台时,将当前处于后台的容器系统的video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为1/3;当前处于前台的容器系统为容器系统OS1,若用户通过多系统终端设备的人机交互界面进行系统切换操作,将容器系统OS2切换至前台,将容器系统OS1切换至后台,则将切换后处于前台的容器系统OS2的video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统OS2的cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为2/3,同时,将切换后处于后台的容器系统OS1的video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统OS1的cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为1/3。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种多容器系统中系统资源的管理方法,其特征在于,包括:
通过系统内核来创建用于管理系统内核的设备资源的容器实例层;
通过调用所述容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;
通过所述容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
2.根据权利要求1所述的方法,其特征在于,所述通过系统内核来创建用于管理系统内核的设备资源的容器实例层,包括:
基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。
3.根据权利要求1或2所述的方法,其特征在于,所述设备资源包括物理设备资源和虚拟设备资源中的至少一项;
所述物理设备资源包括音视频设备资源、输入输出设备资源、通信设备资源中的至少一项;
所述虚拟设备资源包括cgroup资源。
4.根据权利要求1所述的方法,其特征在于,所述通过所述容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,还包括:
通过所述容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,所述设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。
5.根据权利要求1所述的方法,其特征在于,当所述多容器系统中的两个容器系统发生前后台切换时,还包括:
通过所述容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。
6.一种多容器系统中系统资源的管理装置,其特征在于,包括:
第一创建模块,用于通过系统内核来创建用于管理系统内核的设备资源的容器实例层;
第二创建模块,用于通过调用所述容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;
第一配置模块,用于通过所述容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。
7.根据权利要求6所述的装置,其特征在于,所述第一创建模块用于基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。
8.根据权利要求6或7所述的装置,其特征在于,所述设备资源包括物理设备资源和虚拟设备资源中的至少一项;
所述物理设备资源包括音视频设备资源、输入输出设备资源、通信设备资源中的至少一项;
所述虚拟设备资源包括cgroup资源。
9.根据权利要求6所述的装置,其特征在于,所述第一配置模块,还包括:
配置单元,用于通过所述容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,所述设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。
10.根据权利要求6所述的装置,其特征在于,当所述多容器系统中的两个容器系统发生前后台切换时,还包括:
第二配置模块,用于通过所述容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。
CN201611071046.8A 2016-11-29 2016-11-29 多容器系统中系统资源的管理方法及管理装置 Active CN106776067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611071046.8A CN106776067B (zh) 2016-11-29 2016-11-29 多容器系统中系统资源的管理方法及管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611071046.8A CN106776067B (zh) 2016-11-29 2016-11-29 多容器系统中系统资源的管理方法及管理装置

Publications (2)

Publication Number Publication Date
CN106776067A true CN106776067A (zh) 2017-05-31
CN106776067B CN106776067B (zh) 2020-10-23

Family

ID=58905209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611071046.8A Active CN106776067B (zh) 2016-11-29 2016-11-29 多容器系统中系统资源的管理方法及管理装置

Country Status (1)

Country Link
CN (1) CN106776067B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229830A (zh) * 2017-06-01 2017-10-03 上海联影医疗科技有限公司 放疗计划系统及其任务执行方法
CN107329829A (zh) * 2017-06-28 2017-11-07 快云信息科技有限公司 一种开源应用容器引擎的服务资源管控方法
CN108039963A (zh) * 2017-12-05 2018-05-15 腾讯科技(深圳)有限公司 一种容器配置方法、装置及存储介质
CN109728930A (zh) * 2017-10-31 2019-05-07 中国移动通信有限公司研究院 一种网络访问方法、终端及网络设备
WO2020093843A1 (zh) * 2018-11-11 2020-05-14 长沙摩智云计算机科技有限公司 Android网游的分布式支持多终端和多网络的系统
CN112199668A (zh) * 2020-09-01 2021-01-08 中国科学院信息工程研究所 一种检测容器中应用层消耗CPU的DoS攻击的方法和装置
CN112236752A (zh) * 2018-04-11 2021-01-15 康奈尔大学 用于改进软件容器性能和隔离的方法和系统
CN113127215A (zh) * 2019-12-30 2021-07-16 成都鼎桥通信技术有限公司 一种双操作系统智能终端中管理传感器的方法和设备
CN113312099A (zh) * 2020-04-07 2021-08-27 阿里巴巴集团控股有限公司 信息配置方法、设备及存储介质
WO2023245485A1 (en) * 2022-06-22 2023-12-28 Qualcomm Incorporated Systems and methods for container based multiple operating system delivery with limited ram

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573507A (zh) * 2015-02-05 2015-04-29 浪潮电子信息产业股份有限公司 一种安全容器及其设计方法
US20150261575A1 (en) * 2007-07-31 2015-09-17 Hewlett-Packard Development Company, L.P. Workload Management With Resource Transfer Sequence Planned As A Function Of Ranking Of Resource Allocations
CN105046156A (zh) * 2015-08-26 2015-11-11 北京元心科技有限公司 智能终端及其设备访问权限控制方法
CN105045669A (zh) * 2015-08-26 2015-11-11 北京元心科技有限公司 容器系统的管理服务方法以及智能终端
CN105138896A (zh) * 2015-08-26 2015-12-09 北京元心科技有限公司 智能终端及其硬件设备访问权限控制方法
CN105183551A (zh) * 2015-09-10 2015-12-23 电子科技大学 基于Linux容器技术的多Android系统之间切换方法
CN105357256A (zh) * 2015-09-28 2016-02-24 深信服网络科技(深圳)有限公司 管理移动设备的方法及服务器
CN105808320A (zh) * 2016-03-11 2016-07-27 四川安嵌科技有限公司 基于Linux容器的设备虚拟化系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261575A1 (en) * 2007-07-31 2015-09-17 Hewlett-Packard Development Company, L.P. Workload Management With Resource Transfer Sequence Planned As A Function Of Ranking Of Resource Allocations
CN104573507A (zh) * 2015-02-05 2015-04-29 浪潮电子信息产业股份有限公司 一种安全容器及其设计方法
CN105046156A (zh) * 2015-08-26 2015-11-11 北京元心科技有限公司 智能终端及其设备访问权限控制方法
CN105045669A (zh) * 2015-08-26 2015-11-11 北京元心科技有限公司 容器系统的管理服务方法以及智能终端
CN105138896A (zh) * 2015-08-26 2015-12-09 北京元心科技有限公司 智能终端及其硬件设备访问权限控制方法
CN105183551A (zh) * 2015-09-10 2015-12-23 电子科技大学 基于Linux容器技术的多Android系统之间切换方法
CN105357256A (zh) * 2015-09-28 2016-02-24 深信服网络科技(深圳)有限公司 管理移动设备的方法及服务器
CN105808320A (zh) * 2016-03-11 2016-07-27 四川安嵌科技有限公司 基于Linux容器的设备虚拟化系统及方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229830A (zh) * 2017-06-01 2017-10-03 上海联影医疗科技有限公司 放疗计划系统及其任务执行方法
CN107329829A (zh) * 2017-06-28 2017-11-07 快云信息科技有限公司 一种开源应用容器引擎的服务资源管控方法
CN109728930A (zh) * 2017-10-31 2019-05-07 中国移动通信有限公司研究院 一种网络访问方法、终端及网络设备
CN108039963A (zh) * 2017-12-05 2018-05-15 腾讯科技(深圳)有限公司 一种容器配置方法、装置及存储介质
CN108039963B (zh) * 2017-12-05 2021-03-23 腾讯科技(深圳)有限公司 一种容器配置方法、装置及存储介质
CN112236752A (zh) * 2018-04-11 2021-01-15 康奈尔大学 用于改进软件容器性能和隔离的方法和系统
WO2020093843A1 (zh) * 2018-11-11 2020-05-14 长沙摩智云计算机科技有限公司 Android网游的分布式支持多终端和多网络的系统
US11872482B2 (en) 2018-11-11 2024-01-16 Hunan Duoxingyun Cloud Technology Co., Ltd. Distributed multi-terminal and multi-network supporting system for android online game
CN113127215A (zh) * 2019-12-30 2021-07-16 成都鼎桥通信技术有限公司 一种双操作系统智能终端中管理传感器的方法和设备
CN113127215B (zh) * 2019-12-30 2024-01-26 成都鼎桥通信技术有限公司 一种双操作系统智能终端中管理传感器的方法和设备
CN113312099A (zh) * 2020-04-07 2021-08-27 阿里巴巴集团控股有限公司 信息配置方法、设备及存储介质
CN112199668A (zh) * 2020-09-01 2021-01-08 中国科学院信息工程研究所 一种检测容器中应用层消耗CPU的DoS攻击的方法和装置
CN112199668B (zh) * 2020-09-01 2024-03-01 中国科学院信息工程研究所 一种检测容器中应用层消耗CPU的DoS攻击的方法和装置
WO2023245485A1 (en) * 2022-06-22 2023-12-28 Qualcomm Incorporated Systems and methods for container based multiple operating system delivery with limited ram

Also Published As

Publication number Publication date
CN106776067B (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
CN106776067A (zh) 多容器系统中系统资源的管理方法及管理装置
US11960915B2 (en) Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card
US11182196B2 (en) Unified resource management for containers and virtual machines
US10834178B2 (en) Provisioning a bare-metal server
CN109791500B (zh) 虚拟机实例和客户可编程逻辑之间的中间主机集成电路
US9634948B2 (en) Management of addresses in virtual machines
CN103620578B (zh) 经由网络分割的本地云计算
CN100501681C (zh) 用于在内核间共享内核服务的方法和系统
US9134962B1 (en) Interactive content development
CN103069391B (zh) 用于使能在云计算环境中的控制方法和系统
Doherty SDN and NFV simplified: a visual guide to understanding software defined networks and network function virtualization
US20130227131A1 (en) Dynamically building a set of compute nodes to host the user's workload
US20140189684A1 (en) Virtual machine scheduling based on user-defined rules
CN106874125A (zh) 多容器系统间共享系统资源的方法及装置
CN101482832A (zh) 用于支持具有众核的计量客户端的系统和方法
US20220138015A1 (en) Shared enterprise cloud
CN111045802B (zh) Redis集群组件调度系统及方法、平台设备
CN114168271B (zh) 一种任务调度方法、电子设备及存储介质
US20140067864A1 (en) File access for applications deployed in a cloud environment
US7831761B2 (en) Multiple multipathing software modules on a computer system
CN114816665B (zh) 混合编排系统及超融合架构下虚拟机容器资源混合编排方法
CN112835846A (zh) 片上系统
CN109032788A (zh) 预留资源池动态调度方法、装置、计算机设备及存储介质
CN107908957A (zh) 一种智能终端的安全运行管理方法及系统
US9354911B2 (en) Method and system for logging into a virtual environment executing on a host

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: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group 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: 20170531

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Management method and device of system resource in multi container system

Granted publication date: 20201023

License type: Common License

Record date: 20210531

EE01 Entry into force of recordation of patent licensing contract