CN109491763B - 一种***部署方法、装置及电子设备 - Google Patents
一种***部署方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109491763B CN109491763B CN201811352294.9A CN201811352294A CN109491763B CN 109491763 B CN109491763 B CN 109491763B CN 201811352294 A CN201811352294 A CN 201811352294A CN 109491763 B CN109491763 B CN 109491763B
- Authority
- CN
- China
- Prior art keywords
- service
- deployed
- information
- deployment
- preset
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种***部署方法、装置及电子设备。具体方案如下:确定针对待部署***进行部署所需的内容信息;基于内容信息,根据预设部署顺序和预设依赖关系,部署待部署***。通过本发明实施例提供的方案,可以根据待部署***部署时所需的内容信息,按照预设部署顺序和预设依赖关系,自动部署待部署***,并且由于预设部署顺序和预设依赖关系是预先设定的,在***部署过程中,不需要逐一发现依赖关系,确定***的部署顺序,大大缩短了***部署所需的时间,提高了***部署的效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种***部署方法、装置及电子设备。
背景技术
随着容器(Container)技术的不断发展,采用容器技术部署***得到广泛应用,为用户带来便利,例如,可以采用容器技术部署线上环境、云计算***以及测试***等。所谓容器技术是一种轻量级的操作***级虚拟化技术,指的是可以允许一个操作***上的用户空间被分割成多个独立的单元,这些单元可以在内核中独立运行,彼此之间互不干扰,从而形成一个相对独立的空间,这个空间就是容器。因此,采用容器技术部署的***中,不同容器中所包含的服务在运行时是相互独立、互不干扰的。例如,可以部署一个测试***包含不同版本的Windows***,测试某软件在每一个版本中的运行情况,而每个版本的Windows***就相当于一个容器,在测试时彼此之间相互独立、互不干扰。
但是,在***部署过程中,需要逐一对***中的每个容器进行部署。针对每一个容器,该容器对应一个服务集群,该服务集群中可以包含多个服务组、每个服务组中又可以包含多个服务,每个服务又可以包含多个镜像文件。针对***中的任意一个服务,其部署步骤往往需要包括,合并分支到master(上线分支/主分支),其中,分支指的是该服务中包含的多个镜像文件对应的代码,通过对这些代码进行整理,发现每一分支之间的依赖关系,并根据依赖关系对分支进行合并,得到该服务的master;根据master中每一镜像文件的特征或者该服务的特征,生成每一镜像文件对应的标签,并利用CI(Continuous Integration,持续集成)技术对该master进行打包,得到一个完整的服务。在一个服务的部署过程中,***管理员在对该服务中包含的多个镜像文件进行整理合并过程中,耗费较多的时间。然而一个***中包含的服务数往往不止一个,因此,***管理员在部署***的过程中,需要耗费大量时间逐一对该***中包含的每个服务进行部署,才能得到一个***,***部署效率低。
发明内容
本发明实施例的目的在于提供一种***部署方法、装置及电子设备,以实现根据待部署***部署时所需内容的内容信息,结合预设部署顺序和预设依赖关系,自动部署待部署***,提高***部署的效率。具体技术方案如下:
本发明实施例提供了一种***部署方法,所述方法,包括:
确定针对待部署***进行部署所需的内容信息;
基于所述内容信息,按照预设部署顺序和预设依赖关系,部署所述待部署***,其中,所述预设部署顺序表示所述内容信息所表示的内容在部署时的先后顺序,所述预设依赖关系表示所述内容信息所表示的不同内容之间的依赖关系。
进一步的,所述确定针对待部署***进行部署所需的内容信息,包括:
针对待部署***,确定对所述待部署***部署所需的服务集群信息、服务组信息、服务信息以及镜像文件信息,其中,所述服务集群信息表示所述待部署***包括的服务集群,所述服务组信息表示所述待部署***包括的服务组,所述服务信息表示所述待部署***包括的服务,所述镜像文件信息表示所述待部署***包括的镜像文件。
进一步的,所述服务集群信息至少包括:服务集群的名称、数量和版本号;
所述服务组信息至少包括:服务组的名称、数量和版本号;
所述服务信息至少包括:服务的名称、数量和版本号;
所述镜像文件信息至少包括:镜像文件的ID和数量。
进一步的,所述预设部署顺序表示依次按照服务集群、服务组、服务和镜像文件的顺序部署所述待部署***;
所述预设依赖关系包括:每个服务集群包含的不同服务组之间的依赖关系,每个所述服务组包含的不同服务之间的依赖关系,以及每个所述服务中不同镜像文件之间的依赖关系。
进一步的,述基于所述内容信息,按照预设部署顺序和预设依赖关系,部署所述待部署***,包括:
针对所述待部署***,按照所述预设部署顺序,部署所述服务集群信息表示的服务集群;
针对已部署的每个所述服务集群,按照所述预设部署顺序,以及该服务集群所包含的所述服务组信息表示的不同服务组之间的依赖关系,部署该服务集群中的各服务组;
针对已部署的每个所述服务组,按照所述预设部署顺序,以及该服务组所包含的所述服务信息表示的不同服务之间的依赖关系,部署该服务组中的各服务;
针对已部署的每个所述服务,按照所述预设部署顺序,以及该服务所包含的所述镜像文件信息表示的不同镜像文件之间的依赖关系,部署该服务中的各镜像文件。
进一步的,所述方法,还包括:
针对所述待部署***,基于调整信息,对所述待部署***中所包含的内容进行调整,得到新的待部署***,其中,所述调整信息表示针对所述待部署***进行调整所需的内容信息,以及调整所需的内容信息表示的内容与所述待部署***中原有内容的依赖关系。
本发明实施例还提供了一种***部署装置,所述装置,包括:
内容信息确定模块,用于确定针对待部署***进行部署所需的内容信息;
待部署***部署模块,用于基于所述内容信息,按照预设部署顺序和预设依赖关系,部署所述待部署***,其中,所述预设部署顺序表示所述内容信息所表示的内容在部署时的先后顺序,所述预设依赖关系表示所述内容信息所表示的不同内容之间的依赖关系。
进一步的,所述内容信息确定模块,具体用于针对待部署***,确定对所述待部署***部署所需的服务集群信息、服务组信息、服务信息以及镜像文件信息,其中,所述服务集群信息表示所述待部署***包括的服务集群,所述服务组信息表示所述待部署***包括的服务组,所述服务信息表示所述待部署***包括的服务,所述镜像文件信息表示所述待部署***包括的镜像文件。
进一步的,所述服务集群信息至少包括:服务集群的名称、数量和版本号;
所述服务组信息至少包括:服务组的名称、数量和版本号;
所述服务信息至少包括:服务的名称、数量和版本号;
所述镜像文件信息至少包括:镜像文件的ID和数量。
进一步的,所述预设部署顺序表示依次按照服务集群、服务组、服务和镜像文件的顺序部署所述待部署***;
所述预设依赖关系包括:每个服务集群包含的不同服务组之间的依赖关系,每个所述服务组包含的不同服务之间的依赖关系,以及每个所述服务中不同镜像文件之间的依赖关系。
进一步的,所述待部署***部署模块,包括:
服务集群部署子模块,用于针对所述待部署***,按照所述预设部署顺序,部署所述服务集群信息表示的服务集群;
服务组部署子模块,用于针对已部署的每个所述服务集群,按照所述预设部署顺序,以及该服务集群所包含的所述服务组信息表示的不同服务组之间的依赖关系,部署该服务集群中的各服务组;
服务部署子模块,用于针对已部署的每个所述服务组,按照所述预设部署顺序,以及该服务组所包含的所述服务信息表示的不同服务之间的依赖关系,部署该服务组中的各服务;
镜像文件部署子模块,用于针对已部署的每个所述服务,按照所述预设部署顺序,以及该服务所包含的所述镜像文件信息表示的不同镜像文件之间的依赖关系,部署该服务中的各镜像文件。
进一步的,所述装置,还包括:
待部署***调整模块,用于针对所述待部署***,基于调整信息,对所述待部署***中所包含的内容进行调整,得到新的待部署***,其中,所述调整信息表示针对所述待部署***进行调整所需的内容信息,以及调整所需的内容信息表示的内容与所述待部署***中原有内容的依赖关系。
本发明实施例还提供了一种电子设备,所述电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的***部署方法步骤。
本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一***部署方法的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一***部署方法。
本发明实施例提供的一种***部署方法、装置及电子设备,可以确定针对待部署***进行部署所需的内容信息,基于内容信息,根据预设部署顺序和预设依赖关系,部署待部署***。通过本发明实施例可以根据待部署***部署时所需的内容信息,结合预设部署顺序和预设依赖关系,自动部署待部署***,并且由于预设部署顺序和预设依赖关系是预先设定的,在***部署过程中,不需要逐一发现依赖关系,确定***的部署顺序,大大缩短了***部署所需的时间,提高了***部署的效率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种***部署方法的流程图;
图2为本发明实施例提供的一种***部署装置的结构示意图;
图3为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供的一种***部署方法、装置及电子设备,可以确定针对待部署***进行部署所需的内容信息,基于内容信息,根据预设部署顺序和预设依赖关系,部署待部署***。通过本发明实施例可以根据待部署***部署时所需的内容信息,结合预设部署顺序和预设依赖关系,自动部署待部署***,并且由于预设部署顺序和预设依赖关系是预先设定的,在***部署过程中,不需要逐一发现依赖关系,确定***的部署顺序,大大缩短了***部署所需的时间,提高了***部署的效率。
本发明实施例提供了一种***部署方法,如图1所示,可以包括以下步骤:
步骤S101,确定针对待部署***进行部署所需的内容信息。
在本步骤中,可以针对待部署***,确定对待部署***部署所需的服务集群信息、服务组信息、服务信息以及镜像文件信息。
具体的,在待部署***中,可以包括一个或者多个容器,每个容器相当于一个服务集群,每个服务集群中可以包含多个服务组,每个服务组可以包含多个服务,每个服务可以包含多个镜像文件。因此,针对待部署***,在部署前需要确定待部署***部署时所需的内容信息。根据上述描述,待部署***部署时所需的内容信息可以包括服务集群信息、服务组信息、服务信息以及镜像文件信息。其中,服务集群信息表示待部署***中包括的各服务集群,服务组信息表示待部署***中包括的各服务组,服务信息表示待部署***中包括的各服务,镜像文件信息表示待部署***中包括的各镜像文件。
进一步的,上述服务集群信息至少可以包括:服务集群的名称、数量和版本号。
上述服务组信息至少可以包括:服务组的名称、数量和版本号。
上述服务信息至少可以包括:服务的名称、数量和版本号。
上述镜像文件信息至少可以包括:镜像文件的ID和数量。
对于上述针对待部署***部署所需的内容信息进行举例说明,以开源容器引擎Docker为例部署待部署***,若现需要在一软件测试***中的部署一个单元测试容器,则该单元测试容器可以用服务集群表示;在该单元测试容器中可以包括多个服务组,例如,单元测试的模拟环境对应的服务组、以及功能测试对应的服务组等;每个服务组中又可以包括多个服务,以功能测试对应的服务组为例,可以包括单元接口测试对应的服务、局部数据结构测试对应的服务、边界条件测试对应的服务等多种服务;每个服务又可以由多个镜像文件构成的,例如,测试用例对应的镜像文件、服务监控的镜像文件等。
在本发明实施例中,上述服务集群信息、服务组信息、服务信息以及镜像文件信息都是待部署***部署时所需的基础内容信息,但是在***的实际部署过程中,需要根据部署的具体需求,确定上述内容信息所表示的内容,例如,针对服务集群信息,在实际部署过程中,其所包含的内容信息应当还有IP地址等其他信息。因此,上述针对待部署***进行部署所需的内容信息的确定,可以根据实际部署的需求进行拓展,在此就不做具体限定了。
步骤S102,基于内容信息,按照预设部署顺序和预设依赖关系,部署待部署***。
在本步骤中,可以根据步骤S101确定的内容信息,按照预设部署顺序和预设依赖关系,依次部署待部署***中的服务集群、服务组、服务以及镜像文件,完成待部署***的部署。
具体的,上述预设部署顺序表示依次按照服务集群、服务组、服务和镜像文件的顺序部署待部署***。
上述预设依赖关系可以包括:每个服务集群包含的不同服务组之间的依赖关系,每个服务组包含的不同服务之间的依赖关系,以及每个服务中不同镜像文件之间的依赖关系。
将上述内容信息,按照上述预设部署顺序和预设依赖关系,部署得到部署***。
进一步的,针对待部署***,可以按照预设部署顺序,部署服务集群信息表示的服务集群。
针对已部署的每个服务集群,可以按照预设部署顺序,以及该服务集群所包含的服务组信息表示的不同服务组之间的依赖关系,部署该服务集群中的各服务组。
针对已部署的每个服务组,可以按照预设部署顺序,以及该服务组所包含的服务信息表示的不同服务之间的依赖关系,部署该服务组中的各服务。
针对已部署的每个服务,可以按照预设部署顺序,以及该服务所包含的镜像文件信息表示的不同镜像文件之间的依赖关系,部署该服务中的各镜像文件。
具体的,以word为例进行说明,假设现要部署在一应用***中部署一个可以独立运行的word软件。根据上述方法,可以根据针对该word软件进行部署所需的内容信息,部署word软件,具体实施方式可以如下:
首先可以根据上述内容信息中的服务集群信息,部署关于word软件的服务集群,例如,可以将该服务集群的名称设定为word,版本号可以设定为v1.1等形式的。
然后,在已经部署好的服务集群word中,根据上述内容信息中的服务组信息,以及每个服务组之间的依赖关系,部署服务集群中的各服务组,假设服务集群word中包括的服务组有名称为***、页面布局、引用和视图等对应的服务组,根据各服务组之间的依赖关系,可以按照一定的顺序部署各服务组,当然,也可以采用其他自定义的顺序部署。
接着,在部署好的各服务组中,根据上述内容信息中的服务信息,以及每个服务组之间的依赖关系,部署每个服务组中的各服务,以名称为页面布局的服务组为例,在该服务组中可以包括的服务有文字方向、页边距、纸张方向等。
最后,在部署好的各服务中,根据上述内容信息中的镜像文件信息,以及每个镜像文件之间的依赖关系,部署每个服务中的镜像文件,以服务名称为纸张方向为例进行说明,纸张方向可选的有横向以及纵向,可以根据横向和纵向所对应的镜像文件,对服务为纸张方向中的镜像文件进行部署。
关于上述镜像文件,在上述Docker中,可以利用Dockerfile中创建所需的镜像文件,也可以从Docker仓库中获取所需的镜像文件,当然,还可以从其他开源工具的镜像仓库中获取所需的镜像文件。
在本发明实施例中,上述待部署***中的每个服务集群,内容实质上是不同的镜像文件,一般表示为JAR(Java Archive,Java归档文件)包,上述镜像文件通过不断的持续集成打包为多个服务,以此类推,最终得到JAR包。此外,在***部署过程中,上述预设依赖关系,除了可以参考预设依赖关系部署***中的每个服务以外,更重要的是,保证每个服务组中的服务,以及每个服务中的镜像文件在部署时的有序性。例如,在部署上述名称为页面布局的服务组中的纸张方向时,根据预设依赖关系,不会将其部署到名称为视图的服务组的页面视图中。
进一步的,针对待部署***,可以基于调整信息,对待部署***中所包含的内容进行调整,得到新的待部署***。其中,调整信息表示针对待部署***进行调整所需的内容信息,以及调整所需的内容信息表示的内容与待部署***中原有内容的依赖关系。
具体的,仍旧以上述word为例进行说明,假设现需要在上述word容器中名称为***的服务组中,增加一个数学公式输入的服务,可以通过该服务对应的调整信息,对上述word容器中的内容进行增加,得到新的word容器。
在本发明实施例中,上述对待部署***的调整过程主要是对待部署***中的内容进行调整,例如,可以通过待部署***的API(Application Programming Interface,应用程序编程接口)接口,对待部署***中包含的内容进行创建、销毁等。除此以外,无论是上述待部署***的部署过程,还是调整过程,都仅仅是针对待部署***中的服务进行,在实际部署过程中,还需要部署上述待部署***的网关、服务组监控、服务监控等,具体部署方式,可以参照上述服务部署方法进行部署。
由上述可知,采用本发明实施例提供的方法,可以根据针对待部署***部署所需的内容信息,按照预设部署顺序和预设依赖关系,自动部署待部署***。由于预设部署顺序和预设依赖关系是预先设定的,在***部署过程中,不需要逐一发现依赖关系,确定***的部署顺序,大大缩短了***部署所需的时间,提高了***部署的效率。
在本发明实施例中,上述***部署方法是根据内容信息,按照预设部署顺序和预设依赖关系,依次对待部署***中的服务集群、服务组、服务以及镜像文件进行部署,得到部署后的待部署***的。但是在实际部署过程中,根据内容信息、预设部署顺序以及预设依赖关系,***部署的方法并不是唯一的。
一个实施例中,可以根据内容信息、预设部署顺序以及预设依赖关系,确定待部署***的基本框架;再根据内容信息以及预设依赖关系,对该基本框架中的每个镜像文件、服务、服务组以及服务集群进行部署。
仍旧以word为例进行说明,可以根据word部署所需的内容信息、预设部署顺序以及预设依赖福安息,可以选确定word的基本框架。例如,该基本框架可以包括标题栏、菜单栏、文本编辑区等,其中,菜单栏中可以包括页面布局、审阅、视图等。在确定word的基本框架后,可以根据内容信息和预设依赖关系,在该基本框架中部署对应的镜像文件,得到部署好的word。例如,针对页面布局中的页边距服务进行部署,根据页边距部署所需的镜像文件以及预设依赖关系部署页边距服务。
另一实施例中,可以根据内容信息以及预设依赖关系,部署每一个服务;再根据内容信息、预设部署顺序以及预设依赖关系,将每一个服务进行组合得到对应的服务组,并将每一个服务组进行组合得到服务集群,进而得到部署好的待部署***。具体部署方法,可以参考本发明实施例提供的部署方法,在此就不做具体说明了。
由上述可知,根据待部署***部署是所需的内容信息、预设部署顺序以及预设依赖关系,可以采用不同的部署方法得到部署后的***,***部署方法具有很好的灵活性。
另外,在***部署过程中,针对每个镜像文件、服务、服务组以及服务集群可以实际情况有选择性的进行部署。例如,在***部署过程中,可能存在一些常用的镜像文件、服务或者服务组,如数据监控、数据检索等,可以对这些常用的镜像文件、服务或者服务组进行存储,在需要时直接进行调用,不需要重新进行部署,缩短***部署的时间。
综上所述,通过本发明实施例提供的***部署方法,可以根据待部署***部署时所需的内容信息,结合预设部署顺序和预设依赖关系,自动对待部署***进行部署,并且由于预设部署顺序和预设依赖关系是预先设定的,在***部署过程中,不需要逐一发现依赖关系,确定***的部署顺序,大大缩短了***部署所需的时间,提高了***部署的效率。
在本发明实施例中,关于上述待部署***的应用领域是十分广泛的,除了上述实施例中的软件测试***的部署,还可以应用到云计算、线上环境部署、游戏等领域中。因此,针对上述待部署***,在部署完成时,往往需要对待部署***进行测试或者模拟上线,所以在待部署***进行部署的过程中,可以采用已有的灰度部署、蓝绿部署或滚动部署等***部署方法,对待部署***进行部署。以灰度部署为例进行说明,若上述待部署***中需要部署有6个服务集群,在对待部署***进行测试或模拟上线时,可以根据通过对上述API接口控制所部署***中服务集群的运行,例如,可以让待部署***先运行其中3个服务集群,若这3个服务集群没有出现问题,则同时运行6个服务集群。
基于同一中发明构思,根据上述本发明实施提供的一种***部署方法,本发明实施例还提供了一种***部署装置,如图2所示,可以包括以下模块:
内容信息确定模块201,用于确定针对待部署***进行部署所需的内容信息。
待部署***部署模块202,用于基于内容信息,按照预设部署顺序和预设依赖关系,部署待部署***,其中,预设部署顺序表示内容信息所表示的内容在部署时的先后顺序,预设依赖关系表示内容信息所表示的不同内容之间的依赖关系。
进一步的,内容信息确定模块201,具体用于针对待部署***,确定对待部署***部署所需的服务集群信息、服务组信息、服务信息以及镜像文件信息,其中,服务集群信息表示待部署***包括的服务集群,服务组信息表示待部署***包括的服务组,服务信息表示待部署***包括的服务,镜像文件信息表示待部署***包括的镜像文件。
进一步的,服务集群信息至少包括:服务集群的名称、数量和版本号。
服务组信息至少包括:服务组的名称、数量和版本号。
服务信息至少包括:服务的名称、数量和版本号。
镜像文件信息至少包括:镜像文件的ID和数量。
进一步的,预设部署顺序表示依次按照服务集群、服务组、服务和镜像文件的顺序部署待部署***。
预设依赖关系包括:每个服务集群包含的不同服务组之间的依赖关系,每个服务组包含的不同服务之间的依赖关系,以及每个服务中不同镜像文件之间的依赖关系。
进一步的,待部署***部署模块202,包括:
服务集群部署子模块,用于针对待部署***,按照预设部署顺序,部署服务集群信息表示的服务集群。
服务组部署子模块,用于针对已部署的每个服务集群,按照预设部署顺序,以及该服务集群所包含的服务组信息表示的不同服务组之间的依赖关系,部署该服务集群中的各服务组。
服务部署子模块,用于针对已部署的每个服务组,按照预设部署顺序,以及该服务组所包含的服务信息表示的不同服务之间的依赖关系,部署该服务组中的各服务。
镜像文件部署子模块,用于针对已部署的每个服务,按照预设部署顺序,以及该服务所包含的镜像文件信息表示的不同镜像文件之间的依赖关系,部署该服务中的各镜像文件。
进一步的,上述装置,还包括:
待部署***调整模块,用于针对待部署***,基于调整信息,对待部署***中所包含的内容进行调整,得到新的待部署***,其中,调整信息表示针对待部署***进行调整所需的内容信息,以及调整所需的内容信息表示的内容与待部署***中原有内容的依赖关系。
本发明实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
确定针对待部署***进行部署所需的内容信息;
基于内容信息,按照预设部署顺序和预设依赖关系,部署待部署***,其中,预设部署顺序表示内容信息所表示的内容在部署时的先后顺序,预设依赖关系表示内容信息所表示的不同内容之间的依赖关系。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一***部署方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一***部署方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种***部署方法,其特征在于,包括:
确定针对待部署***进行部署所需的内容信息;
基于所述内容信息,按照预设部署顺序和预设依赖关系,部署所述待部署***,其中,所述预设部署顺序表示所述内容信息所表示的内容在部署时的先后顺序,所述预设依赖关系表示所述内容信息所表示的不同内容之间的依赖关系;
所述预设依赖关系包括:每个服务集群包含的不同服务组之间的依赖关系,每个所述服务组包含的不同服务之间的依赖关系,以及每个所述服务中不同镜像文件之间的依赖关系;
在所述基于所述内容信息,按照预设部署顺序和预设依赖关系,部署所述待部署***之后,还包括:
针对所述待部署***,基于调整信息,对所述待部署***中所包含的内容进行调整,得到新的待部署***,其中,所述调整信息表示针对所述待部署***进行调整所需的内容信息,以及调整所需的内容信息表示的内容与所述待部署***中原有内容的依赖关系。
2.根据权利要求1所述的方法,其特征在于,所述确定针对待部署***进行部署所需的内容信息,包括:
针对待部署***,确定对所述待部署***部署所需的服务集群信息、服务组信息、服务信息以及镜像文件信息,其中,所述服务集群信息表示所述待部署***包括的服务集群,所述服务组信息表示所述待部署***包括的服务组,所述服务信息表示所述待部署***包括的服务,所述镜像文件信息表示所述待部署***包括的镜像文件。
3.根据权利要求2所述的方法,其特征在于,所述服务集群信息至少包括:服务集群的名称、数量和版本号;
所述服务组信息至少包括:服务组的名称、数量和版本号;
所述服务信息至少包括:服务的名称、数量和版本号;
所述镜像文件信息至少包括:镜像文件的ID和数量。
4.根据权利要求1所述的方法,其特征在于,所述预设部署顺序表示依次按照服务集群、服务组、服务和镜像文件的顺序部署所述待部署***。
5.根据权利要求2或3所述的方法,其特征在于,所述基于所述内容信息,按照预设部署顺序和预设依赖关系,部署所述待部署***,包括:
针对所述待部署***,按照所述预设部署顺序,部署所述服务集群信息表示的服务集群;
针对已部署的每个所述服务集群,按照所述预设部署顺序,以及该服务集群所包含的所述服务组信息表示的不同服务组之间的依赖关系,部署该服务集群中的各服务组;
针对已部署的每个所述服务组,按照所述预设部署顺序,以及该服务组所包含的所述服务信息表示的不同服务之间的依赖关系,部署该服务组中的各服务;
针对已部署的每个所述服务,按照所述预设部署顺序,以及该服务所包含的所述镜像文件信息表示的不同镜像文件之间的依赖关系,部署该服务中的各镜像文件。
6.一种***部署装置,其特征在于,包括:
内容信息确定模块,用于确定针对待部署***进行部署所需的内容信息;
待部署***部署模块,用于基于所述内容信息,按照预设部署顺序和预设依赖关系,部署所述待部署***,其中,所述预设部署顺序表示所述内容信息所表示的内容在部署时的先后顺序,所述预设依赖关系表示所述内容信息所表示的不同内容之间的依赖关系;
所述预设依赖关系包括:每个服务集群包含的不同服务组之间的依赖关系,每个所述服务组包含的不同服务之间的依赖关系,以及每个所述服务中不同镜像文件之间的依赖关系;
所述装置还包括:
待部署***调整模块,用于针对所述待部署***,基于调整信息,对所述待部署***中所包含的内容进行调整,得到新的待部署***,其中,所述调整信息表示针对所述待部署***进行调整所需的内容信息,以及调整所需的内容信息表示的内容与所述待部署***中原有内容的依赖关系。
7.根据权利要求6所述的装置,其特征在于,所述内容信息确定模块,具体用于针对待部署***,确定对所述待部署***部署所需的服务集群信息、服务组信息、服务信息以及镜像文件信息,其中,所述服务集群信息表示所述待部署***包括的服务集群,所述服务组信息表示所述待部署***包括的服务组,所述服务信息表示所述待部署***包括的服务,所述镜像文件信息表示所述待部署***包括的镜像文件。
8.根据权利要求7所述的装置,其特征在于,所述服务集群信息至少包括:服务集群的名称、数量和版本号;
所述服务组信息至少包括:服务组的名称、数量和版本号;
所述服务信息至少包括:服务的名称、数量和版本号;
所述镜像文件信息至少包括:镜像文件的ID和数量。
9.根据权利要求6所述的装置,其特征在于,所述预设部署顺序表示依次按照服务集群、服务组、服务和镜像文件的顺序部署所述待部署***。
10.根据权利要求7或8所述的装置,其特征在于,所述待部署***部署模块,包括:
服务集群部署子模块,用于针对所述待部署***,按照所述预设部署顺序,部署所述服务集群信息表示的服务集群;
服务组部署子模块,用于针对已部署的每个所述服务集群,按照所述预设部署顺序,以及该服务集群所包含的所述服务组信息表示的不同服务组之间的依赖关系,部署该服务集群中的各服务组;
服务部署子模块,用于针对已部署的每个所述服务组,按照所述预设部署顺序,以及该服务组所包含的所述服务信息表示的不同服务之间的依赖关系,部署该服务组中的各服务;
镜像文件部署子模块,用于针对已部署的每个所述服务,按照所述预设部署顺序,以及该服务所包含的所述镜像文件信息表示的不同镜像文件之间的依赖关系,部署该服务中的各镜像文件。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811352294.9A CN109491763B (zh) | 2018-11-14 | 2018-11-14 | 一种***部署方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811352294.9A CN109491763B (zh) | 2018-11-14 | 2018-11-14 | 一种***部署方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109491763A CN109491763A (zh) | 2019-03-19 |
CN109491763B true CN109491763B (zh) | 2021-07-20 |
Family
ID=65695835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811352294.9A Active CN109491763B (zh) | 2018-11-14 | 2018-11-14 | 一种***部署方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491763B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933337A (zh) * | 2019-03-25 | 2019-06-25 | 北京易链天下技术服务有限公司 | 一种单机多服务的一键部署策略方法 |
CN110781005B (zh) * | 2019-10-25 | 2022-09-30 | 新华三大数据技术有限公司 | 资源回收方法、装置及节点 |
CN110825391B (zh) * | 2019-10-31 | 2023-10-13 | 北京金山云网络技术有限公司 | 服务管理方法、装置、电子设备及存储介质 |
CN110908918A (zh) * | 2019-11-29 | 2020-03-24 | 北京网聘咨询有限公司 | 针对多个相互依赖的node.js模块的单元测试方法及装置 |
CN113031971B (zh) * | 2019-12-25 | 2022-04-29 | 北京世纪好未来教育科技有限公司 | 软件部署方法、***及计算机存储介质 |
CN113127006B (zh) * | 2019-12-30 | 2024-03-29 | 北京懿医云科技有限公司 | 服务部署方法、装置、设备及存储介质 |
CN113032049B (zh) * | 2021-04-13 | 2024-06-11 | 北京华胜天成科技股份有限公司 | 基于任务启动策略的应用***部署方法及装置和电子设备 |
CN113504972A (zh) * | 2021-07-26 | 2021-10-15 | 京东科技控股股份有限公司 | 一种服务部署方法及装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1117039A2 (en) * | 2000-01-10 | 2001-07-18 | Sun Microsystems, Inc. | Controlled take over of services by remaining nodes of clustered computing system |
CN108737468A (zh) * | 2017-04-19 | 2018-11-02 | 中兴通讯股份有限公司 | 云平台服务集群、构建方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945530B (zh) * | 2006-11-07 | 2010-05-12 | 中兴通讯股份有限公司 | 一种具有依赖关系组件的部署***和方法 |
CN104765620B (zh) * | 2014-01-02 | 2018-01-26 | 国际商业机器公司 | 一种程序模块部署的方法和*** |
US10795706B2 (en) * | 2016-06-06 | 2020-10-06 | Vmware, Inc. | Multitier application blueprint representation in open virtualization format package |
US10936331B2 (en) * | 2017-02-23 | 2021-03-02 | International Business Machines Corporation | Running a kernel-dependent application in a container |
CN107491329B (zh) * | 2017-08-04 | 2021-03-16 | 上海携程商务有限公司 | Docker镜像构建方法、设备、存储介质以及电子装置 |
CN107870845B (zh) * | 2017-10-19 | 2020-10-27 | 北京工业大数据创新中心有限公司 | 面向微服务架构应用的管理方法及*** |
CN107885551A (zh) * | 2017-11-27 | 2018-04-06 | 山东浪潮商用***有限公司 | 一种服务部署方法、装置、可读介质及存储控制器 |
CN108762769B (zh) * | 2018-06-04 | 2022-06-21 | 万惠投资管理有限公司 | 微服务应用编排和部署方法、装置及计算机终端 |
-
2018
- 2018-11-14 CN CN201811352294.9A patent/CN109491763B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1117039A2 (en) * | 2000-01-10 | 2001-07-18 | Sun Microsystems, Inc. | Controlled take over of services by remaining nodes of clustered computing system |
CN108737468A (zh) * | 2017-04-19 | 2018-11-02 | 中兴通讯股份有限公司 | 云平台服务集群、构建方法及装置 |
Non-Patent Citations (2)
Title |
---|
《Single System Image clustering using Kerrighed》;K. V. Sandhya et al.;《2011 Third International Conference on Advanced Computing》;20120409;全文 * |
《基于云技术的ELC集群式服务器架构设计与实现》;张文;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20141115;第2014年卷(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109491763A (zh) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491763B (zh) | 一种***部署方法、装置及电子设备 | |
EP3563243B1 (en) | Determining application test results using screenshot metadata | |
US11288395B2 (en) | Metadata storage architecture and data aggregation | |
US10310965B2 (en) | Dynamic virtual testing environment for webpages | |
US10990507B2 (en) | System and method for provisioning a virtual machine test environment | |
CN113778442A (zh) | 一种***菜单生成方法、装置、设备及存储介质 | |
CN110795331A (zh) | 软件测试的方法和装置 | |
CN110365776B (zh) | 图片批量下载方法、装置、电子设备及存储介质 | |
CN114860272A (zh) | 一种操作***安装方法、计算设备及存储介质 | |
CN114237754A (zh) | 一种数据加载方法、装置、电子设备以及存储介质 | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
CN111813379A (zh) | 应用部署方法及装置、电子设备、计算机可读存储介质 | |
US10146664B2 (en) | Virtual test environment for webpages with automation features | |
CN114391136A (zh) | 增强的虚拟机镜像管理*** | |
CN109582347B (zh) | 一种获取前端代码的方法及装置 | |
CN113157549A (zh) | 软件代码测试*** | |
CN115809193A (zh) | 前端逆向异常数据健壮性检测方法、装置及存储介质 | |
CN112506781B (zh) | 测试监控方法、装置、电子设备、存储介质及程序产品 | |
CN114691527A (zh) | 单元测试案例生成方法、装置、设备、介质和程序产品 | |
CN114221996A (zh) | 一种服务调用方法、装置、电子设备、存储介质 | |
CN113934453B (zh) | 风险检测方法、装置及存储介质 | |
US20180143949A1 (en) | Web Content Extension System and Platform | |
US12039473B2 (en) | Software development project infrastructure builder tool | |
CN117271309A (zh) | 业务测试方法、***、电子设备和存储介质 | |
CN114341847B (zh) | 对容器的外部操作与突变事件的对应关系 |
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 |