一种实现用户隔离的方法及系统技术方案

技术编号:15704768 阅读:88 留言:0更新日期:2017-06-26 09:32
本发明专利技术公开一种实现用户隔离的方法及系统,用于解决现有技术中使用GPU编程环境导致运行环境冲突以及代码运算速度缓慢的技术问题。方法包括:控制服务器接收携带有目标docker镜像的软件资源信息和硬件资源信息的用户请求;控制服务器根据所述用户请求中的软件资源信息指示选取的构建服务器生成目标docker镜像;控制服务器根据所述用户请求中的硬件资源信息从图形处理器GPU服务器集群中选取满足所述硬件资源的GPU服务器,并指示所述GPU服务器启动所述目标docker镜像。采用本发明专利技术技术方案,解决了满足各用户所需的运行环境,并提高代码运算速度。

【技术实现步骤摘要】
一种实现用户隔离的方法及系统
本专利技术涉及计算机领域,特别涉及一种实现用户隔离的方法及系统。
技术介绍
目前,在使用GPU(GraphicsProcessingUnit,图形处理器)编程环境中,GPU服务器通常是以普通服务器的形式被使用,如图1所示,多个用户使用同一个GPU服务器,该多个用户分别将自己的代码上传到该同一个GPU服务器上进行处理。该种使用方式,使得多个用户共用使用同一个运行环境且多个用户之间没有相互隔离。然而,在实际应用中,不同的用户对运行环境的需求不一样,例如用户A需要使用软件1,而用户B需要使用软件2,又或者多个用户即使需要的软件一样但是需要该软件的版本不一致,从而将可能导致多个用户的代码的运行环境产生冲突,难以找到一个满足所有用户需求的基础环境,基础环境难以维护。另外,多个用户共同使用同一个GPU服务器处理代码,将可能会存在互相抢占GPU服务器使用权,导致代码运算速度缓慢的问题。
技术实现思路
鉴于上述问题,本专利技术提供一种实现用户隔离的方法及系统,以解决现有技术中使用GPU编程环境导致运行环境冲突以及代码运算速度缓慢的技术问题。本专利技术实施例,第一方面,提供一种实现用户隔离的方法,方法包括:控制服务器接收携带有目标docker镜像的软件资源信息和硬件资源信息的用户请求;控制服务器根据所述用户请求中的软件资源信息指示选取的构建服务器生成目标docker镜像;控制服务器根据所述用户请求中的硬件资源信息从图形处理器GPU服务器集群中选取满足所述硬件资源的GPU服务器,并指示所述GPU服务器启动所述目标docker镜像。本专利技术实施例,第二方面,提供一种实现用户隔离的系统,该系统包括:控制服务器,用于在接收携带有目标docker镜像的软件资源信息和硬件资源信息的用户请求时,根据所述用户请求中的软件资源信息向选取的构建服务器发送目标docker镜像生成请求;以及,从所述GPU服务器集群中选取满足所述用户请求中的硬件资源的GPU服务器,并向选取的GPU服务器发送目标docker镜像启动请求;构建服务器,用于根据接收到的目标docker镜像生成请求生成所述目标docker镜像;GPU服务器,用于根据接收到的目标docker镜像启动请求启动所述目标docker镜像。本专利技术技术方案,一方面,搭建GPU服务器集群,使用docker容器为不同的用户提供独立的运行环境,不同的用户可以根据自身的需求设置相应的运行环境,能够满足各个用户对运行环境的需求,克服现有技术中多个用户的运行环境发生冲突的问题;另一方面,针对不同的docker容器从GPU服务器集群中分配相应的宿主机,避免不同用户相互争夺GPU服务器使用权而导致代码运行速度缓慢的技术问题。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。图1为现有技术中多个用户使用同一GPU服务器的示意图;图2为本专利技术实施例中实现用户隔离的方法的流程图之一;图3为本专利技术实施例中实现用户隔离的方法的流程图之二;图4为本专利技术实施例中实现用户隔离的方法的流程图之三;图5为本专利技术实施例中实现用户隔离的方法的流程图之四;图6为本专利技术实施例中实现用户隔离的方法的流程图之五;图7为本专利技术实施例中实现用户隔离的系统的结构示意图之一;图8为本专利技术实施例中实现用户隔离的系统的结构示意图之二;图9为本专利技术实施例中实现用户隔离的系统的结构示意图之三;图10为本专利技术实施例中实现用户隔离的系统的结构示意图之四。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。实施例一参见图2,为本专利技术实施例中实现用户隔离的方法流程图,该方法包括:步骤S100、控制服务器接收携带有目标docker镜像的软件资源信息和硬件资源信息的用户请求;步骤S200、控制服务器根据所述用户请求中的软件资源信息指示选取的构建服务器生成目标docker镜像;步骤S300、控制服务器根据所述用户请求中的硬件资源信息从图形处理器GPU服务器集群中选取满足所述硬件资源的GPU服务器,并指示所述GPU服务器启动所述目标docker镜像。优选地,本专利技术实施例中,前述步骤S200中控制服务器根据所述用户请求中的软件资源信息指示选取的构建服务器生成目标docker镜像,可通过但不限于以下方式实现:步骤A1、控制服务器从预置的软件资源信息与软件工具信息的对应关系中,确定所述目标docker镜像的软件资源信息对应的软件工具信息,并生成携带有该软件工具信息的目标docker镜像生成请求;其中,软件资源信息与软件工具信息的对应关系可以通过列表、索引存储结构等方式存储,本申请对于该对应关系的存储方式不做严格限定。步骤A2、控制服务器将所述目标docker镜像生成请求发送给选取的构建服务器,以指示所述构建服务器生成目标docker镜像。本专利技术实施例中,控制服务器可以通过有线或无线的方式向选取的构建服务器发送目标docker镜像生成请求。本专利技术不做严格限定。优选地,本专利技术实施例中,构建服务器生成目标docker镜像可通过但不仅限于以下方式实现:步骤B1、根据所述目标docker镜像生成请求中的软件工具信息生成docker文件;步骤B2、根据所述docker文件生成用户个性化docker镜像;步骤B3、根据预置的基础镜像和所述用户个性化docker镜像,生成所述目标docker镜像。优选地,本专利技术实施例中,预先针对一些数据量大的常见软件工具包生成相应的基础镜像,后续在接收到软件工具信息时,对于该软件工具信息中包含的常见软件工具包无需再生成docker镜像,仅针对软件工具信息中的用户个性化的软件工具包生成Dockerfile文件,再根据Dockerfile文件生成用户个性化docker镜像,再将软件工具信息中的常见软件工具包对应的基础镜像和该用户个性化docker镜像合并生成目标docker镜像,从而提高了生成目标docker镜像的速度和效率。例如:将SSH、VNC认为是常见的软件工具包,可预先生成一个基于Ubuntu16.04并包含SSH(SecureShell,安全壳)服务、VNC(VirtualNetworkConsole,虚拟网络控制台)服务的基础镜像,用户个性化需求NumPy、OpenCV,则在其Dockerfile中增加安装NumPy、OpenCV的命令,从而生成一个用户的个性化目标docker镜像,此目标docker镜像基于Ubuntu16.04,并包含SSH、VNC、NumPy、OpenCV。优选地,本专利技术实施例,为更进一步提高docke本文档来自技高网
...
一种实现用户隔离的方法及系统

【技术保护点】
一种实现用户隔离的方法,其特征在于,包括:控制服务器接收携带有目标docker镜像的软件资源信息和硬件资源信息的用户请求;控制服务器根据所述用户请求中的软件资源信息指示选取的构建服务器生成目标docker镜像;控制服务器根据所述用户请求中的硬件资源信息从图形处理器GPU服务器集群中选取满足所述硬件资源的GPU服务器,并指示所述GPU服务器启动所述目标docker镜像。

【技术特征摘要】
1.一种实现用户隔离的方法,其特征在于,包括:控制服务器接收携带有目标docker镜像的软件资源信息和硬件资源信息的用户请求;控制服务器根据所述用户请求中的软件资源信息指示选取的构建服务器生成目标docker镜像;控制服务器根据所述用户请求中的硬件资源信息从图形处理器GPU服务器集群中选取满足所述硬件资源的GPU服务器,并指示所述GPU服务器启动所述目标docker镜像。2.根据权利要求1所述的方法,其特征在于,控制服务器根据所述用户请求中的软件资源信息指示选取的构建服务器生成目标docker镜像,具体包括:控制服务器从预置的软件资源信息与软件工具信息的对应关系中,确定所述目标docker镜像的软件资源信息对应的软件工具信息,并生成携带有该软件工具信息的目标docker镜像生成请求;所述控制服务器将所述目标docker镜像生成请求发送给选取的构建服务器,以指示所述构建服务器生成目标docker镜像。3.根据权利要求2所述的方法,其特征在于,构建服务器生成目标docker镜像,具体包括:根据所述目标docker镜像生成请求中的软件工具信息生成docker文件;根据所述docker文件生成用户个性化docker镜像;根据预置的基础镜像和所述用户个性化docker镜像,生成所述目标docker镜像。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述构建服务器将生成的目标docker镜像及该目标docker镜像对应的标识关联存储至预置的docker镜像仓库中;控制服务器指示所述GPU服务器启动所述目标docker镜像,具体包括:生成携带有所述目标docker镜像的标识的docker镜像启动请求,以指示所述GPU服务器启动所述目标docker镜像;GPU服务器启动所述目标docker镜像,具体包括:GPU服务器根据docker镜像启动请求中携带的标识,从所述docker镜像仓库中获取与该标识对应的目标docker镜像,并采用docker程序启动该目标docker镜像。5.根据权利要求1~4任一项所述的方法,其特征在于,还包括:所述GPU服务器成功启动所述目标docker镜像之后,向所述控制服务器发送携带有端口信息的成功启动消息;所述控制服务器向发起用户请求的用户反馈包含所述端口信息的响应信息。6.根据权利要求1~4任一项所述的方法,其特征在于,在控制服务器接收所述用户请求之前,还包括:负载均衡控制器,在接收到所述用户请求时,从预设的控制服务器集群中选取一个控制服务器以及从预置的构建服务器集群中选取一个构建服务器,并将所述用户请求以及选取的构建服务器的标识发送给所述控制服务器。7.根据权利要求1~4任一项所述的方法,其特征在于,在控制服务器接收所述用户请求之前,还包括:负载均衡控制器在接收到所述用户请求时,从预设的控制服务器集群中选取一个控制服务器,并将该用户请求发送给所述控制服务器;控制服务器接收所述用户请求之后,还包括:从预...

【专利技术属性】
技术研发人员:刘金鑫王路朴光智
申请(专利权)人:北京图森未来科技有限公司
类型:发明
国别省市:北京,11

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

1