使用容器进行多进程启动的方法及装置的制造方法

文档序号:8922437阅读:357来源:国知局
使用容器进行多进程启动的方法及装置的制造方法
【技术领域】
[0001]本发明涉及web平台技术领域,特别是涉及一种使用容器进行多进程启动的方法及装置。
【背景技术】
[0002]为了能够节省硬件资源,虚拟化技术得到越来越多的认可及使用。虚拟化技术是一种资源管理技术,是将计算机的各种实体资源,如服务器,予以抽象、转换后呈现出来,打破实体机构间不可分割的障碍。目前,为了节省服务器资源,通过Xen虚拟化技术将一台服务器虚拟出多台服务器,虚拟出的多台服务器之间共享包括内核在内的一个完整的系统镜像,同时一个服务器上能够允许多个进程同时运行,以满足不同业务的应用需求。在通过Xen虚拟化技术虚拟服务器时,需要在实体服务器上构建一个虚拟化层,基于虚拟化层虚拟多个服务器,确保了虚拟的多个服务器之间运行空间的隔离,但是,由于虚拟化层的构建,导致虚拟服务器与系统内核不是直接进行交互,因此,使得虚拟服务器的性能不能满足不同业务的更多需求。
[0003]为了解决上述问题,可以将服务器上的不同业务分离到容器中,容器的构建无需构建虚拟化层,就能提供隔离的运行空间,即每个容器内都包含一个独享的完整运行空间,构建后的容器可以与系统内核直接进行交互,提高了中央处理器(Central ProcessingUnit,CPU)、内存等硬件资源的处理效率。但是,容器一次往往允许运行一个进程,而执行一个业务往往需要多个进程的支持,从而导致在业务执行过程中需要使用多个容器,造成资源的浪费。

【发明内容】

[0004]有鉴于此,本发明提供的一种使用容器进行多进程启动的方法及装置,主要目的在于解决容器一次往往允许运行一个进程,而执行一个业务往往需要多个进程的支持,从而导致在业务执行过程中需要使用多个容器,造成资源的浪费的问题。
[0005]依据本发明一个方面,本发明提供了一种使用容器进行多进程启动的方法,包括:
[0006]对容器进程控件设置预设目录,所述容器进程控件能够通过调用一个目标进程实现多个子进程的调用;
[0007]加载所述预设目录中的脚本文件,获得容器镜像,所述脚本文件包含待启动服务项所必须的功能应用,所述功能应用在运行时需要由多个进程执行完成;
[0008]运行所述容器镜像,以启动所述多个子进程。
[0009]依据本发明另一个方面,本发明提供了一种使用容器进行多进程启动的装置,包括:
[0010]设置单元,用于对容器进程控件设置预设目录,所述容器进程控件能够通过调用一个目标进程实现多个子进程的调用;
[0011]加载单元,用于加载所述设置单元设置的所述预设目录中的脚本文件,所述脚本文件包含待启动服务项所必须的功能应用,所述功能应用在运行时需要由多个进程执行完成;
[0012]获取单元,用于在所述加载单元加载所述预设目录中的脚本文件之后,获得容器镜像;
[0013]运行单元,用于运行所述获取单元获取的所述容器镜像,以启动所述多个子进程。
[0014]借由上述技术方案,本发明提供的使用容器进行多进程启动的方法及装置,首先在容器进程控件中设置预设目录,加载预设目录中的脚本文件,获取容器镜像,由于容器进程控件能够通过调用一个目标进程实现多个子进程的调用,将容器进程控件与脚本文件进行“捆绑”,本发明中可以将脚本文件中包含的功能应用在运行时需要的多个进程作为容器进程控件调用目标进程的子进程,因此,当容器镜像运行时,实现使用一个容器启动多个进程。
[0015]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0016]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0017]图1示出了本发明实施例提供的一种使用容器进行多进程启动的方法的流程图;
[0018]图2示出了本发明实施例提供的一种使用容器进行多进程启动的装置的组成框图;
[0019]图3示出了本发明实施例提供的另一种使用容器进行多进程启动的装置的组成框图;
[0020]图4示出了本发明实施例提供的另一种使用容器进行多进程启动的装置的组成框图。
【具体实施方式】
[0021]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0022]本发明实施例提供了一种使用容器进行多进程启动的方法,如图1所示,该方法包括:
[0023]101、对容器进程控件设置预设目录。
[0024]本发明实施例中,容器进程控件是从其他类型的容器中获取得到的,但是由于在开发容器进程控件时,往往使用不同的编程语言,从而使得容器进程控件的使用环境存在差异,可能导致一种容器内的功能服务不能直接应用到其他的容器中,因此,在本发明实施例使用的容器中运行从其他类型的容器中获取的容器进程控件时,需要对获取的该容器进程控件进行适配,生成能够适用于本发明实施例所述的容器中,适配后的该容器进程控件具有通过调用一个目标进程实现多个子进程的调用的服务。
[0025]对容器进程控件设置预设目录,其中,该预设目录为自定义的一个目录信息,本发明实施例设置预设目录的目的在于,当容器进程控件在调用一个目标进程时,能够通过预设目录的执行启动该目标进程所调用的多个子进程。
[0026]102、加载预设目录中的脚本文件,获得容器镜像。
[0027]脚本文件包含待启动服务项所必须的功能应用,功能应用在运行时需要由多个进程执行完成。需要说明的是,该脚本文件中仅包含待启动服务项所必须的功能应用,而未包含待启动服务项所非必须的功能应用,在后续容器在运行时,避免了启动待启动服务项所非必须的功能应用,节省了资源。在本发明实施例中,也可以将待启动服务项所非必须的功能应用添加到脚本文件中,本发明实施例中对脚本文件中包含的具体的功能应用不进行限定。
[0028]本发明实施例中,待启动服务项可以包括但不局限于以下内容,例如,待启动服务项为开机服务、关机服务;或者自动启动某个应用程序服务等等。具体的,本发明实施例对待启动服务项的内容不进行限定。
[0029]将脚本文件加载到步骤101中的容器进程控件中预设目录中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1