【发明授权】多容器系统中系统资源的管理方法及管理装置_北京元心科技有限公司_201611071046.8 

申请/专利权人:北京元心科技有限公司

申请日:2016-11-29

发明/设计人:李翔

公开(公告)日:2020-10-23

代理机构:北京市立方律师事务所

公开(公告)号:CN106776067B

代理人:张筱宁

主分类号:G06F9/54(20060101)

地址:100176 北京市北京经济技术开发区科创十四街99号33幢D栋2222号

分类号:G06F9/54(20060101);G06F9/50(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.10.23#授权;2017.06.23#实质审查的生效;2017.05.31#公开

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

主权项:1.一种多容器系统中系统资源的管理方法,其特征在于,包括:通过系统内核来创建用于管理系统内核的设备资源的容器实例层,所述通过系统内核来创建用于管理系统内核的设备资源的容器实例层,包括:基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层;通过调用所述容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;所述设备资源包括物理设备资源和虚拟设备资源中的至少一项;所述物理设备资源包括音视频设备资源、输入输出设备资源、通信设备资源中的至少一项;所述虚拟设备资源包括cgroup资源;通过所述容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。

全文数据:多容器系统中系统资源的管理方法及管理装置技术领域[0001]本发明涉及计算机技术领域,具体而言,本发明涉及一种多容器系统中系统资源的管理方法,及一种多容器系统中系统资源的管理装置。背景技术[0002]随着当今计算机技术的发展,终端设备的各项软硬件配置越来越高,一些高端配置的终端设备运行效果己和桌面设备的相应配置实现的效果接近,这为操作系统的虚拟化奠定了基础;另一方面,用户对于终端设备使用场景的多样性与日俱增,终端设备不仅用于日常生活娱乐,还用于工作学习等重要场景。然而,随着用户的使用需求地不断提高,用户的安全与隐私问题也日益凸显。在用户的使用过程,终端设备上会产生多种的用户隐私信息,如各种账号,支付密码等,但是,当今网络中的各种病毒木马一直在不停寻找机会向各终端设备进行非法入侵,以盗取用户的隐私信息,这种情况下在一个隔离的环境中运行敏感软件是更加安全的做法。因此,出现了同一终端设备中根据不同的用户需求提供不同运行环境的解决方案,如设置特定用户在特定的受限运行环境下使用终端设备,或为同一用户在终纟而设备中的不冋使用场景设置不冋的运彳丁环境。因此急需在终端设备中实现系统的虚拟化。[0003]现有技术中,桌面系统中的虚拟化技术已比较成熟,厂商也都提供了硬件支持,各种虚拟化解决方案也都使用广泛。但是,在终端设备的平台上,由于计算能力相对有限,且终端处理器对虚拟化的支持没有桌面系统中那么成熟完善,同时终端平台的各种硬件设备种类繁多,因此,尚无有效的技术方案来解决终端设备中对各种设备的虚拟化的问题。发明内容[0004]为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:[0005]本发明的实施例提出一种多容器系统中系统资源的管理方法,包括:[0006]通过系统内核来创建用于管理系统内核的设备资源的容器实例层;[0007]通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;[0008]通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。[0009]优选地,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,包括:[0010]基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。[0011]优选地,设备资源包括物理设备资源和虚拟设备资源中的至少一项;[0012]物理设备资源包括音视频设备资源、输入输出设备资源、通信设备资源中的至少一项;[0013]虚拟设备资源包括cgroup资源。[00M]优选地,通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,还包括:[0015]通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。[0016]可选地,当多容器系统中的两个容器系统发生前后台切换时,该方法还包括:[0017]通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。[0018]本发明的另一实施例提出了一种多容器系统中系统资源的管理装置,包括:[0019]第一创建模块,用于通过系统内核来创建用于管理系统内核的设备资源的容器实例层;[0020]第二创建模块,用于通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;[0021]第一配置模块,用于通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。[0022]优选地,第一创建模块用于[0023]基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。[0024]优选地,设备资源包括物理设备资源和虚拟设备资源中的至少一项;[0025]物理设备资源包括音视频设备资源、输入输出设备资源、通信设备资源中的至少一项;[0026]虚拟设备资源包括cgroup资源。[0027]优选地,第一配置模块,还包括:[0028]配置单元,用于通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。[0029]可选地,当多容器系统中的两个容器系统发生前后台切换时,该装置还包括:[0030]第二配置模块,用于通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。[0031]本发明的实施例中,提出了一种多容器系统中系统资源的管理方案,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,为后续创建可实现将系统内核中设备资源虚拟化的容器系统提供了必要的前提保障;通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例,实现了创建的容器系统与容器实例层中的容器实例一一对应,为统一管理系统内核中的系统资源提供了必要的前提保障;随后,实现了通过容器实例层统一管理系统内核中的系统资源,并在创建的容器系统中实现对系统内核中设备资源的虚拟化,使得创建的容器系统可运行一个完整的操作系统;通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,并根据不同容器实例的使用需求,对系统内核的资源进行差异化的配置,满足了用户的个性化使用需求;同时,通过合理配置各容器实例使用的系统资源,极大的提高了系统运行的效率,避免了系统资源浪费的情况;进一步地,提高了用户的终端使用体验。[0032]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明[0033]本发明上述的和或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:[0034]图1为本发明中一个实施例的多系统终端设备中各容器系统间的关系示意图;[0035]图2为本发明中一个实施例的多容器系统中系统资源的管理方法的流程图;[0036]图3为本发明中另一实施例的多容器系统中系统资源的管理装置的结构示意图。具体实施方式[0037]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。[0038]本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和或它们的组。应该理解,当我们称元件被“连接”或“轉接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。[0039]本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。[0040]本发明的实施例中的多操作系统包括至少两个操作系统,其中,操作系统可包括各种操作系统,例如android操作系统等。本发明的实施例中的多操作系统可基于多种虚拟技术来实现,下文以Linux系统下的容器技术为例来进行实施例的详述。其中,使用Linux容器技术实现的多操作系统,在每个容器中装入独立的操作系统,多个操作系统之间相互独立,且多个操作系统运行在同一台物理终端设备上。[0041]下面结合附图具体介绍本发明实施例的技术方案。[0042]本发明实施例的终端设备的内部结构的框架示意图如图1所示,包括:两个以上的容器系统。其中,两个以上容器系统可以包括容器系统〇Sl、容器系统0S2、…、0Sn。!!为正整数。[0043]其中,本发明实施例中的容器系统,可以是设置在以Linuxcontainer容器虚拟化技术创建的容器中的操作系统。操作系统可以为传统意义上的Linux操作系统或Unix操作系统,也可以是基于Linux操作系统衍生出来的Android系统、Ubuntu系统或FireFox系统等,还可以为以Windows平台为基础的windows系统等等。实际上,本发明中的容器系统不限于前述例举的操作系统,可以涵盖所有能够在容器中运行的操作系统。[0044]优选地,容器系统可以是上述传统的操作系统,也可以是对传统的kernel进行改进和或在kernel之外例如框架层和应用层增加功能模块之后,得到的操作系统。其中,各个容器系统共享同一系统内核,当各容器中的操作系统为Linux操作系统或基于Linux操作系统衍生出来的系统时,各容器系统为基于Linuxkernelnamespace框架之上的,通过容器实例层,增加了对终端设备中设备资源的管理功能模块后,得到的操作系统。[0045]优选地,容器系统可以通过预定义的通道或容器通道与其他容器系统进行通信,预定义的通道可以是socket套接字通道。[0046]图2为本发明中一个实施例的多容器系统中系统资源的管理方法的流程图。[0047]本发明的实施例中,各步骤所执行的内容概述如下:步骤S210:通过系统内核来创建用于管理系统内核的设备资源的容器实例层;步骤S220:通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;步骤S230:通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。[0048]本发明的实施例中,提出了一种多容器系统中系统资源的管理方法,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,为后续创建可实现将系统内核中设备资源虚拟化的容器系统提供了必要的前提保障;通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例,实现了创建的容器系统与容器实例层中的容器实例一一对应,为统一管理系统内核中的系统资源提供了必要的前提保障;随后,实现了通过容器实例层统一管理系统内核中的系统资源,并在创建的容器系统中实现对系统内核中设备资源的虚拟化,使得创建的容器系统可运行一个完整的操作系统;通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,并根据不同容器实例的使用需求,对系统内核的资源进行差异化的配置,满足了用户的个性化使用需求;同时,通过合理配置各容器实例使用的系统资源,极大的提高了系统运行的效率,避免了系统资源浪费的情况;进一步地,提高了用户的终端使用体验。以下针对各个步骤的具体实现做进一步的说明:[0049]步骤SMO:通过系统内核来创建用于管理系统内核的设备资源的容器实例层。[0050]具体地,通过多系统终端设备中共享的系统内核来创建用于管理其系统内核的设备资源的容器实例层。[0051]优选地,基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。[0052]其中,设备资源包括物理设备资源和虚拟设备资源中的至少一项。[0053]物理设备资源包括音视频设备资源,如video资源、输入输出设备资源,如input资源、通信设备资源,如WIFI资源中的至少一项。[0054]虚拟设备资源包括cgroup资源。cgroup资源为controllergroup资源,最初由Google的工程师提出,后被整合进Linux内核中用于将任意进程进行分组化管理的Linux内核功能,同时还可以控制进程的资源占用CTO、内存等的占用情况,cgroup本身提供将进程进行分组化管理的功能和接口的基础结构。[0055]例如f多系统的终端设备钟,共享同一系统内核,如Linuxkernel,基于Linux内核的资源隔禹机制,如Linuxkernelnamespace框架,来创建用于管理Linux系统内核中的物理设备资源和虚拟设备资源的容器实例层,以实现物理设备资源和虚拟设备资源的虚拟化管理,从而使得通过容器实例层创建的容器可以运行一个完整的操作系统。[0056]需要说明的是,本领域技术人员可以了解到,Linux内核的资源隔离机制,如Linuxkernelnamespace框架,该框架提供了这六种namespace命名空间)隔离的系统调用,包括UTSnamespace注机名与域名命名空间)、ipcnamespace信号量、消息队列和共享内存命名空间)、PIDnamespace进程编号命名空间)、Networknamespace网络设备、网络栈、端口等命名空间)、Mountnamespace文件系统挂载点命名空间)以及Usernamespace用户和用户组命名空间),使得PID、IPC、Netw〇rk等系统资源不再是系统全局性的,而是属于某个特定的namespace。其中,每个namespace下的资源对于其他namespace下的资源都是不可见的,因此在操作系统层面上看,就会出现多个相同PID的进程,如系统中可以同时存在三个进程号为0,1和2的进程,由于它们属于不同的namespace,所以它们之间对系统的调用并不冲突。而在用户层面上只能看到属于用户自己namespace下的系统资源,因此,使得每个namespace看上去就像一个单独的Linux系统,但是Linuxkernelnamespace框架中并未提供对系统内核中设备资源的隔离调用。[0057]步骤SUO:通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例。[0058]例如,在多系统的终端设备A中,共享同一系统内核Linuxkernel,通过调用已创建的容器实例层的相关预定接口,如InterfaceA,来创建容器系统OSi和容器系统0S2,使得容器实例层中容器系统OSi的实例与用户在终端设备A中创建的容器系统〇Si对应,以及容器实例层中容器系统〇S2的实例与用户在终端设备A中创建的容器系统0S2对应;并创建容器系统〇Si中针对多个设备资源,如video、input和cgroup等系统资源的资源实例,以及创建容器系统0S2中针对多个设备资源,如video、input和cgroup等系统资源的资源实例。[0059]需要说明的是,本领域技术人员可以理解,在软件开发人员研发过程中,创建的实例即创建相应的实体,如通过调用容器实例层的相关接口来可创建多个容器的实例,即可创建多个操作系统之间相互独立的容器系统;又如创建各个容器系统中包括的针对多个设备资源的资源实例,即创建针对多个设备资源的具体资源的相关信息等。[0060]步骤S230:通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。[0061]具体地,通过容器实例层对各个容器系统中,针对多个设备资源的资源实例在各个容器系统中进行相应的配置。[0062]例如,在多系统的终端设备A中,共享同一系统内核Linuxkernel,通过已创建的容器实例层,针对video、input和cgroup等设备资源的资源实例,在容器系统〇Si和容器系统0S2中进行相应配置,如在容器系统〇Si中,将video设备资源的资源实例配置为不启用,在容器系统0S2中,将video设备资源的资源实例配置为启用等。[0063]优选地,在步骤S230中,通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。[0064]例如,在多系统的终端设备A中,共孚同一系统内核Linuxkernel,预设的设备资源配置信息,如在容器系统^:中,将video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,在容器系统0S2中,将video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为不启用;通过已创建的容器实例层,根据预设的设备资源配置信息,在容器系统OSi*,不启用video和input设备资源的资源实例以及启用cgroup设备资源的资源实例;在容器系统^中,启用video和input设备资源的资源实例以及不启用cgroup设备资源的资源实例。[0065]在一优选实施例中,当多容器系统中的两个容器系统发生前后台切换时,该方法还包括步骤SMO;步骤S240:通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。[0066]在多系统的终端设备A中,共享同一系统内核Linuxkernel,通过容器实例层创建容器系统〇Si和容器系统0S2,根据预设的设备资源配置信息,如当容器系统〇Si或容器系统0S2当前处于前台时,将当前处于前台的容器系统的video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为启用,且cgroup设备资源的资源实例中对终端设备A中的CKJ的占用率配置为23,当容器系统OSi或容器系统〇S2当前处于后台时,将当前处于后台的容器系统的video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为13;当前处于前台的容器系统为容器系统〇Si,若用户通过多系统终端设备的人机交互界面进行系统切换操作,将容器系统〇S2切换至前台,将容器系统OSi切换至后台,则将切换后处于前台的容器系统0S2的video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统0S2的cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为23,同时,将切换后处于后台的容器系统〇Si的video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统OSj^cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为13。[0067]图3为本发明中另一实施例的多容器系统中系统资源的管理装置的结构示意图。[0068]本发明的实施例中,各模块所执行的内容概述如下:第一创建模块310通过系统内核来创建用于管理系统内核的设备资源的容器实例层;第二创建模块320通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例;第一配置模块330通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。[0069]本发明的实施例中,提出了一种多容器系统中系统资源的管理装置,通过系统内核来创建用于管理系统内核的设备资源的容器实例层,为后续创建可实现将系统内核中设备资源虚拟化的容器系统提供了必要的前提保障;通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例,实现了创建的容器系统与容器实例层中的容器实例一一对应,为统一管理系统内核中的系统资源提供了必要的前提保障;随后,实现了通过容器实例层统一管理系统内核中的系统资源,并在创建的容器系统中实现对系统内核中设备资源的虚拟化,使得创建的容器系统可运行一个完整的操作系统;通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置,并根据不同容器实例的使用需求,对系统内核的资源进行差异化的配置,满足了用户的个性化使用需求;同时,通过合理配置各容器实例使用的系统资源,极大的提高了系统运行的效率,避免了系统资源浪费的情况;进一步地,提高了用户的终端使用体验。以下针对各个模块的具体实现做进一步的说明:[0070]第一创建模块310通过系统内核来创建用于管理系统内核的设备资源的容器实例层。[0071]具体地,通过多系统终端设备中共享的系统内核来创建用于管理其系统内核的设备资源的容器实例层。[0072]优选地,基于Linux内核的资源隔离机制来创建用于管理系统内核的设备资源的容器实例层。[0073]其中,设备资源包括物理设备资源和虚拟设备资源中的至少一项。[0074]物理设备资源包括音视频设备资源,如video资源、输入输出设备资源,如input资源、通信设备资源,如WIFI资源中的至少一项。[0075]虚拟设备资源包括cgroup资源。cgroup资源为controllergroup资源,最初由Google的工程师提出,后被整合进Linux内核中用于将任意进程进行分组化管理的Linux内核功能,同时还可以控制进程的资源占用CPU、内存等的占用情况,cgroup本身提供将进程进行分组化管理的功能和接口的基础结构。[0076]例如,在多系统的终端设备A中,共享同一系统内核,如Linuxkernel,基于Linux内核的资源隔尚机制,如Linuxkernelnamespace框架,来创建用于管理Linux系统内核中的物理设备资源和虚拟设备资源的容器实例层,以实现物理设备资源和虚拟设备资源的虚拟化管理,从而使得通过容器实例层创建的容器可以运行一个完整的操作系统。[0077]需要说明的是,本领域技术人员可以了解到,Linux内核的资源隔离机制,如Linuxkernelnamespace框架,该框架提供了这六种nameSpace命名空间)隔离的系统调用,包括UTSnamespace主机名与域名命名空间)、IPCnamespace信号量、消息队列和共享内存命名空间)、PIDnamespace进程编号命名空间)、Networknamespace网络设备、网络栈、端口等命名空间)、Mountnamespace文件系统挂载点命名空间)以及Usernamespace用户和用户组命名空间),使得PID、IPC、Network等系统资源不再是系统全局性的,而是属于某个特定的namespace。其中,每个namespace下的资源对于其他namespace下的资源都是不可见的,因此在操作系统层面上看,就会出现多个相同PID的进程,如系统中可以同时存在三个进程号为0,1和2的进程,由于它们属于不同的nameSpace,所以它们之间对系统的调用并不冲突。而在用户层面上只能看到属于用户自己namespace下的系统资源,因此,使得每个namespace看上去就像一个单独的Linux系统,但是Linuxkernelnamespace框架中并未提供对系统内核中设备资源的隔离调用。[0078]第二创建模块320通过调用容器实例层的相关接口来创建多个容器系统,并创建各个容器系统中包括的针对多个设备资源的资源实例。[0079]例如,在多系统的终端设备A中,共享同一系统内核Linuxkernel,通过调用已创建的容器实例层的相关预定接口,如InterfaceA,来创建容器系统〇Si和容器系统〇S2,使得容器实例层中容器系统OSi的实例与用户在终端设备A中创建的容器系统〇Si对应,以及容器实例层中容器系统0¾的实例与用户在终端设备A中创建的容器系统0对应;并创建容器系-充OSi中针对多个设备资源,如video、input和cgroup等系统资源的资源实例,以及创建容器系统0S2中针对多个设备资源,如video、input和cgroup等系统资源的资源实例。[0080]需要说明的是,本领域技术人员可以理解,在软件开发人员研发过程中,创建的实例即创建相应的实体,如通过调用容器实例层的相关接口来可创建多个容器的实例,即可创建多个操作系统之间相互独立的容器系统;又如创建各个容器系统中包括的针对多个设备资源的资源实例,即创建针对多个设备资源的具体资源的相关信息等。[0081]第一配置模块330通过容器实例层对各个容器系统中针对多个设备资源的资源实例进行相应的配置。[0082]具体地,通过容器实例层对各个容器系统中,针对多个设备资源的资源实例在各个容器系统中进行相应的配置。[0083]例如,在多系统的终端设备A中,共享同一系统内核Linuxkernel,通过己创建的容器实例层,针对video、input和cgroup等设备资源的资源实例,在容器系统〇Si和容器系统〇S2中进行相应配置,如在容器系统OSi*,将video设备资源的资源实例配置为不启用,在容器系统〇S2中,将video设备资源的资源实例配置为启用等。[0084]优选地,第一配置模块330进一步包括配置单元,配置单元通过容器实例层,根据预设的设备资源配置信息,对各个容器系统中针对多个设备资源的资源实例进行相应的配置,设备资源配置信息包括各个容器系统与为其分配的设备资源名称的对应关系。[0085]例如,在多系统的终端设备A中,共享同一系统内核Linuxkernel,预设的设备资源配置信息,如在容器系统^:中,将video和input设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,在容器系统〇中,将video和input设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为不启用;通过已创建的容器实例层,根据预设的设备资源配置信息,在容器系统〇Si中,不启用video和input设备资源的资源实例以及启用cgroup设备资源的资源实例;在容器系统〇S2中,启用video和i叩ut设备资源的资源实例以及不启用cgroup设备资源的资源实例。[0086]在一优选实施例中,当多容器系统中的两个容器系统发生前后台切换时,该装置还包括第二配置模块;第二配置模块通过容器实例层,根据预设的设备资源配置信息,对切换后的两个容器系统的针对多个设备资源的资源实例进行重新配置。[0087]在多系统的终端设备A中,共享同一系统内核Linuxkernel,通过容器实例层创建容器系统〇Si和容器系统0S2,根据预设的设备资源配置信息,如当容器系统OSi或容器系统0S2当前处于前台时,将当前处于前台的容器系统的video和丨叩此设备资源的资源实例配置为启用以及将Cgroup设备资源的资源实例配置为启用,且Cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为23,当容器系统OS:或容器系统〇S2当前处于后台时,将当前处于后台的容器系统的video和inPut设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且cgrouP设备资源的资源实例中对终端设备A中的CTO的占用率配置为13;当前处于前台的容器系统为容器系统〇Si,若用户通过多系统终端设备的人机交互界面进行系统切换操作,将容器系统0切换至前台,将容器系统〇Si切换至后台,则将切换后处于前台的容器系统0的video和inPut设备资源的资源实例配置为启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统〇S2的cgroup设备资源的资源实例中对终端设备A中的CPU的占用率配置为23,同时,将切换后处于后台的容器系统OSi的video和i叩ut设备资源的资源实例配置为不启用以及将cgroup设备资源的资源实例配置为启用,且将容器系统031的^1'〇卯设备资源的资源实例中对终端设备A中的CRJ的占用率配置为13。[0088]本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备例如,计算机可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROMRead-OnlyMemory,只读存储器)、RAMRandomAccessMemory,随即存储器)、EPR0MErasableProgrammableRead-OnlyMemory,可擦写可编程只读存储器)、EEPR0MElectricallyErasableProgrammableRead-OnlyMemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备例如,计算机以能够读的形式存储或传输信息的任何介质。[0089]本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和或框图和或流图中的每个框以及这些结构图和或框图和或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和或框图和或流图的框或多个框中指定的方案。[0090]本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。[0091]以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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

百度查询: 北京元心科技有限公司 多容器系统中系统资源的管理方法及管理装置