一种部署云服务组件的方法和装置与流程

文档序号:16848622发布日期:2019-02-12 22:32阅读:179来源:国知局
一种部署云服务组件的方法和装置与流程

本申请涉及涉及信息技术(informationtechnology,it)领域,尤其涉及一种部署云服务组件的方法和装置。



背景技术:

“云”是网络、互联网的一种比喻说法。云服务(cloudservice)是基于互联网的相关服务的增加、使用和交付模式,通过网络以按需、易扩展的方式获得所需服务。这种服务可以与it、软件和互联网相关,也可以是其他服务。云服务意味着计算能力也可作为一种商品通过互联网进行流通。多个有相关功能的云服务可以组成云服务套件(cloudservicesuit)。如图1所示,云服务套件可以包括多个云服务,每个云服务可以包括多个云服务组件(简称组件)。例如,云服务a包括组件a1、组件a2......组件am(m为正整数)。云服务之间可以存在依赖关系,例如,云服务a可以依赖于云服务b,即云服务b需要先部署,云服务a在云服务b部署之后才可以部署。类似的,组件之间也可以存在依赖关系,例如,组件a1可以依赖于组件a2,即组件a2需要先部署,组件a1在组件a2部署之后才可以部署。

如图2所示,当前云服务套件的部署方法是运维人员(或后台操作员)根据云服务之间的依赖关系手动指定云服务的部署顺序。该部署顺序通常是串行的,即一个云服务部署完成后再部署下一个云服务。在部署云服务时,云服务内部的各个组件的部署关系也是手动指定的,部署顺序也是串行的。云服务套件部署包含了云服务部署循环,云服务部署包含了组件部署循环。这种手动指定云服务套件的部署顺序的方法,导致云服务套件部署缓慢,部署效率差。



技术实现要素:

本申请实施例提供一种部署云服务组件的方法和装置,能够解决云服务套件部署时,手动指定云服务套件的部署顺序导致的部署缓慢,部署效率差的问题。

第一方面,本申请实施例提供一种部署云服务组件的方法,包括:服务器获取部署消息;其中,部署消息包括云服务套件标识,云服务套件标识指示的云服务套件包括至少两个云服务组件;服务器获取云服务套件标识指示的云服务套件所包括的云服务组件中的每个云服务组件的键值;服务器根据键值确定云服务套件标识指示的云服务套件所包括的云服务组件之间的依赖关系;依赖关系包括至少两个云服务组件之间不存在互相依赖关系和至少两个云服务组件之间存在互相依赖关系;服务器根据依赖关系对云服务套件标识指示的云服务套件所包括的云服务组件分组;对于每组云服务组件,若服务器确定该组云服务组件中的至少两个云服务组件之间不存在互相依赖关系,服务器并行部署该组云服务组件中的云服务组件;其中,至少两个云服务组件之间不存在互相依赖关系是指云服务组件提供的服务之间不存在互相依赖关系。这样一来,服务器可以根据云服务套件中云服务组件的键值确定不存在互相依赖关系的至少两个云服务组件,服务器可以并行部署不存在互相依赖关系的至少两个云服务组件。相比串行部署云服务组件,本申请可以提高部署效率,能够解决云服务套件部署时,手动指定云服务套件的部署顺序导致的部署缓慢,部署效率差的问题。

在第一方面的第一种可选的实现方式中,服务器根据依赖关系部署云服务组件包括:若服务器确定至少一组云服务组件中每组云服务组件中的云服务组件之间存在互相依赖关系,服务器串行部署至少一组云服务组件中每组云服务组件中的云服务组件。服务器在并行部署不存在互相依赖关系的云服务组件的基础上串行部署存在互相依赖关系的云服务组件,相比手动指定云服务套件的部署顺序,本申请能够解决云服务套件部署时,手动指定云服务套件的部署顺序导致的部署缓慢,部署效率差的问题。

在第一方面的第二种可选的实现方式中,服务器获取云服务套件标识指示的云服务套件所包括的云服务组件中的每个云服务组件的键值之前,服务器确定云服务套件标识指示的云服务套件是第一次部署,或服务器确定每个云服务组件的版本与前一次部署时的版本不同。如果云服务套件标识所指示的云服务套件前期已经被部署过,且该云服务套件中的各云服务组件的版本没有发生变化,即与前一次部署时的版本相同,那么该云服务套件的部署流程以及所需的数据和参数已经存在于数据库中;服务器可以按照该流程部署该云服务套件即可,节省运行资源。

在第一方面的第三种可选的实现方式中,对于云服务套件标识指示的云服务套件中的至少两个云服务组件,至少两个云服务组件包括第一云服务组件和第二云服务组件,服务器根据键值确定云服务套件标识指示的云服务套件所包括的云服务组件之间的依赖关系包括:服务器确定第一云服务组件是否缺少第一键值,第一键值对应的第一全球资源定位符url地址为空;若服务器确定第一云服务组件缺少第一键值,服务器确定与第一键值对应的第二键值,第二键值对应的第二url地址不为空;若服务器确定第二云服务组件包括第二键值,服务器确定第一云服务组件与第二云服务组件之间存在互相依赖关系。通常,第一键值用于指示第一云服务组件依赖其他云服务组件才能实现的功能,第二键值用于指示其他云服务组件可以直接提供的功能。

在第一方面的第四种可选的实现方式中,服务器确定第一云服务组件缺少的第一键值之前,方法还包括:服务器确定第一云服务组件是否为有状态云服务组件;若服务器确定第一云服务组件为有状态组件,服务器确定部署第一云服务组件的主组件;若服务器确定第一云服务组件为无状态组件,服务器确定设置第一云服务组件的组件实例部署数量为1;服务器运行第一云服务组件,并生成第一云服务组件的容器启动日志,容器启动日志用于指示第一云服务组件对应的运行参数,运行参数包括第一键值。如此一来,可以保证服务器只运行一次第一云服务组件,降低对系统资源的占用。这是由于若第一云服务组件为无状态组件,服务器默认部署多个第一云服务组件的组件实例,因此可以将实例数设置为1,以保证服务器只运行一次第一云服务组件。若第一云服务组件为有状态组件,该第一云服务组件已经生成一个对应的主组件,因此无需部署其他的组件实例,以保证服务器只运行一次第一云服务组件。

第二方面,本申请实施例提供一种服务器,包括:获取单元,用于获取部署消息;其中,部署消息包括云服务套件标识,云服务套件标识指示的云服务套件包括至少两个云服务组件;获取单元还用于,获取云服务套件标识指示的云服务套件所包括的云服务组件中的每个云服务组件的键值;确定单元,用于根据键值确定云服务套件标识指示的云服务套件所包括的云服务组件之间的依赖关系;依赖关系包括至少两个云服务组件之间不存在互相依赖关系和至少两个云服务组件之间存在互相依赖关系;分组单元,用于根据依赖关系对云服务套件标识指示的云服务套件所包括的云服务组件分组;部署单元,用于,对于每组云服务组件,若通过确定单元确定该组云服务组件中的至少两个云服务组件之间不存在互相依赖关系,并行部署该组云服务组件中的云服务组件;其中,至少两个云服务组件之间不存在互相依赖关系是指云服务组件提供的服务之间不存在互相依赖关系。

在第二方面的第一种可选的实现方式中,部署单元还用于:若通过确定单元确定至少一组云服务组件中每组云服务组件中的云服务组件之间存在互相依赖关系,串行部署至少一组云服务组件中每组云服务组件中的云服务组件。

在第二方面的第二种可选的实现方式中,确定单元还用于确定云服务套件标识指示的云服务套件是第一次部署,或确定单元还用于确定每个云服务组件的版本与前一次部署时的版本不同。

在第二方面的第三种可选的实现方式中,对于云服务套件标识指示的云服务套件中的至少两个云服务组件,至少两个云服务组件包括第一云服务组件和第二云服务组件,确定单元用于:确定第一云服务组件是否缺少第一键值,第一键值对应的第一全球资源定位符url地址为空;若确定第一云服务组件缺少第一键值,确定与第一键值对应的第二键值,第二键值对应的第二url地址不为空;若确定第二云服务组件包括第二键值,确定第一云服务组件与第二云服务组件之间存在互相依赖关系。

在第二方面的第四种可选的实现方式中,确定单元还用于:确定第一云服务组件是否为有状态云服务组件;若确定第一云服务组件为有状态组件,确定部署第一云服务组件的主组件;若确定第一云服务组件为无状态组件,确定设置第一云服务组件的组件实例部署数量为1;部署单元还用于,运行第一云服务组件,并生成第一云服务组件的容器启动日志,容器启动日志用于指示第一云服务组件对应的运行参数,运行参数包括第一键值。

第二方面及其各种可选的实现方式的技术效果可以参见第一方面及其各种可选的实现方式的技术效果,此处不再赘述。

第三方面,提供了一种服务器装置,该装置以芯片的产品形态存在,该装置包括处理器、存储器和收发组件,收发组件包括输入输出电路,存储器用于存储计算机执行指令,处理器通过执行存储器中存储的计算机执行指令实现第一方面提供的任意一种方法。

第四方面,本申请实施例提供了一种计算机存储介质,用于储存为上述服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。

由此,服务器根据部署消息中云服务套件标识确定待部署的云服务套件后,可以获取待部署的云服务套件中每个云服务组件的键值。服务器可以根据每个云服务组件的键值确定不存在互相依赖关系的至少两个云服务组件。而后,服务器可以并行部署不存在互相依赖关系的至少两个云服务组件。相比现有技术手动指定部署顺序且部署顺序为串行部署,本申请服务器能够并行部署云服务组件,能够解决云服务套件部署时,手动指定云服务套件的部署顺序导致的部署缓慢,部署效率差的问题。

附图说明

图1为一种云服务套件的结构示意图;

图2为一种部署云服务套件的流程示意图;

图3为本申请实施例提供的一种部署云服务套件的架构示意图;

图4为本申请实施例提供的一种部署服务后端服务器的内部结构示意图;

图5为本申请实施例提供的一种部署云服务套件的信号交互示意图;

图6为本申请实施例提供的一种登录云服务部署界面的示意图;

图7为本申请实施例提供的一种云服务部署界面示意图;

图8为本申请实施例提供的一种云服务部署进度界面示意图;

图9为本申请实施例提供的一种云服务部署失败界面示意图;

图10为本申请实施例提供的一种服务器的结构示意图;

图11为本申请实施例提供的一种服务器的结构示意图;

图12为本申请实施例提供的一种服务器的结构示意图。

具体实施方式

本申请可以应用于“云”部署场景,例如可以应用于云服务部署场景、云服务套件部署场景或者云服务组件部署场景。

如图3所示,本申请的系统架构可以包括认证服务器031、部署服务前端服务器032、消息队列服务器033、部署服务后端服务器034和服务运行服务器035。其中,认证服务器031可以用于用户的身份认证。部署服务前端服务器032可以接收用户的请求消息,对请求消息进行简单的解析与封装,并可以分发请求消息。消息队列服务器033可以用于对消息进行缓冲处理,并将消息以及该消息的订阅方进行绑定。部署服务后端服务器034可以订阅请求消息,对请求消息解析及处理,以及根据处理结果进行统一的编排调度。服务运行服务器035可以用于运行云服务套件、云服务和/或云服务组件。其中,部署服务前端服务器032可以为手机(mobilephone)、智能机、便携机、平板电脑、网络(web)服务器等。认证服务器031、消息队列服务器033、部署服务后端服务器034或服务运行服务器035可以为web服务器、应用程序服务器或超文本传输协议(hypertexttransferprotocol,http)服务器等,也可以为虚拟web服务器、虚拟应用程序服务器或虚拟http服务器等虚拟设备,也可以为一种分布式系统或集群,本申请不做限定。

如图4所示,为本申请提供的部署服务后端服务器的一种内部结构示意图。在本申请中,部署服务后端服务器可以包括部署引擎401、编排调度引擎402、存储器403、总线404和通信接口405。

其中,部署引擎401用于对部署消息进行解析,负责自动生成云服务组件的依赖关系,以及对云服务组件进行流水线部署。

编排调度引擎402用于对云服务组件的部署进行统一的编排调度,选择相应的服务运行服务器部署云服务组件。

存储器403可以包括程序模块,例如内核,中间件,应用程序接口(applicationprogrammersinterface,api)和应用。程序模块可以是有软件、固件或硬件、或其中的至少两种组成。存储器403可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据用户的请求所创建的数据等。此外,存储器403可以包括高速随机存取存储器,还可以包括非易失性存储器等。

总线404是连接所描述的元素的电路,并且在这些元素之间实现传输。例如,部署引擎401或编排调度引擎402通过总线404从其它元素接收到命令或消息,解密接收到的命令或消息,根据解密的命令或消息执行计算或数据处理。

通信接口405将部署服务后端服务器034与部署服务前端服务器032以及服务运行服务器035进行连接。可选的,该通信接口可以包括为射频(radiofrequency,rf)电路,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。其中,通信接口可以通过有线或无线连接到网络以连接到部署服务前端服务器032以及服务运行服务器,从而通过网络可以实现部署服务后端服务器034与部署服务前端服务器032以及服务运行服务器之间的通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进lte、无线保真(wirelessfidelity,wifi)、蓝牙等。

本领域技术人员可以理解,图4中示出的部署服务后端服务器的结构并不构成对部署服务后端服务器的限定,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本申请提供一种部署云服务组件的方法,以部署服务后端服务器为服务器为例进行说明。其基本过程为:服务器获取部署消息,部署消息包括云服务套件标识。服务器获取云服务套件标识指示的云服务套件所包括的云服务组件中的每个云服务组件的键值。服务器根据键值确定云服务组件之间的依赖关系。服务器根据依赖关系为云服务组件分组。对于每组云服务组件,若服务器确定该组云服务组件中的云服务组件之间不存在互相依赖关系,服务器并行部署该组云服务组件。

本申请实施例提供一种部署云服务组件的方法,以部署服务后端服务器为服务器为例,如图5所示,包括:

501、部署服务前端服务器接收用户发起的部署请求。

如图6所示,用户发起部署请求之前,可以先登录云服务部署界面。部署界面包括应用软件的部署界面和通过浏览器打开的部署界面等,本申请不做限定。用户可以通过用户名和密码登录部署界面。

而后,如图7所示,用户可以在部署服务前端服务器的用户界面(userinterface,ui)界面发起部署请求。例如但不限于通过通过鼠标或触控手势等点击开始部署按钮。可选的,用户还可以在部署服务前端服务器的命令行界面(command-lineinterface,cli)发起部署请求,例如但不限于通过通过键盘输入命令。

部署服务前端服务器接收到部署请求后,可以生成相应的部署消息。其中,部署消息包括云服务套件标识。本申请实施例中,云服务套件标识指示的云服务套件包括至少两个云服务组件。

在一种可能的设计中,部署消息还可以包括云服务标识和/或云服务组件标识。云服务套件标识指示的云服务套件包括云服务标识指示的云服务,每个云服务标识指示的云服务包括该云服务标识对应的云服务组件标识指示的云服务组件。

502、部署服务前端服务器向认证服务器发起认证请求。

即部署服务前端服务器根据发起部署请求的用户的用户身份,向认证服务器发起用户的身份认证请求。

503、认证服务器对用户身份进行认证。

若认证成功,认证服务器可以向部署服务前端服务器返回认证成功令牌(token),若认证失败,部署云服务的过程终止。

在一种可能的设计中,若认证成功,如图8所示,部署服务前端服务器可以向用户显示部署进度(图中的75%仅为示意)。若认证失败,如图9所示,部署服务前端服务器可以向用户显示部署失败,并可以询问用户是否重新部署。

504、部署服务前端服务器对认证成功的部署消息进行处理。

具体的,部署服务前端服务器可以将用户身份验证成功的部署消息放入到消息队列服务器中,同时将部署消息对应的元数据信息保存至数据库中。元数据信息可以包括云服务的一些概括信息,比如云服务套件的标识或名称、云服务数量、云服务的标识或名称,云服务组件的标识或名称、云服务组件数量、云服务组件大小,云服务组件的镜像所在地址等信息。数据库可以部署在与部署服务前端服务器、部署服务后端服务器等连接的服务器中,也可以部署在部署服务前端服务器或服务器中,本申请不做限定。这样一来,服务器可以从数据库中获取部署消息对应的元数据信息。

505、服务器获取部署消息。

服务器的部署引擎可以通过消息订阅机制从消息队列服务器中获取部署消息。

506、服务器确定云服务套件标识指示的云服务套件是否为第一次部署,或服务器确定每个云服务组件的版本是否与前一次部署时的版本不同。

即服务器的部署引擎对部署消息进行解析和处理,以确定云服务套件标识指示的云服务套件是否为第一次部署,或服务器确定每个云服务组件的版本是否与前一次部署时的版本不同。

如果云服务套件标识所指示的云服务套件前期已经被部署过,且该云服务套件中的各云服务组件的版本没有发生变化,即与前一次部署时的版本相同,那么该云服务套件的部署流程以及所需的数据和参数已经存在于数据库中;按照该流程部署该云服务套件即可。

如果云服务套件标识所指示的云服务套件前期没有被部署过,或者云服务套件标识所指示的云服务套件前期已经被部署过,但是该云服务套件中的每个云服务组件或个别云服务组件的版本发生变化,即与前一次部署时的版本不同,那么需要为该云服务套件重新确定部署流程。另外,服务器可以将云服务组件新的版本信息更新到数据库中。

507、服务器获取云服务套件标识指示的云服务套件所包括的云服务组件中的每个云服务组件的键值。

即服务器的部署引擎对部署消息进一步解析和处理,以获取云服务套件标识指示的云服务套件所包括的云服务组件中的每个云服务组件的键值。

具体的,服务器首先可以遍历云服务套件标识指示的云服务套件所包括的所有云服务组件。而后,服务器确定第一云服务组件是否为有状态云服务组件,第一云服务组件为所有云服务组件中的任一个。若服务器确定第一云服务组件为有状态组件,服务器确定部署第一云服务组件的主组件;若服务器确定第一云服务组件为无状态组件,服务器确定设置第一云服务组件的组件实例部署数量为1。如此一来,可以保证服务器只运行一次第一云服务组件。若第一云服务组件为无状态组件,服务器默认部署多个第一云服务组件的组件实例,因此可以将实例数设置为1,从而降低对系统资源的占用。若第一云服务组件为有状态组件,该第一云服务组件已经生成一个对应的主组件,因此无需部署其他的组件实例,从而降低对系统资源的占用。

服务器运行第一云服务组件,并生成第一云服务组件的容器启动日志(容器启动日志例如但不限于kubectllog或dockerlog等),容器启动日志用于指示第一云服务组件对应的运行参数。

服务器查看第一云服务组件的容器启动日志,确定第一云服务组件是否缺少第一键值,第一键值对应的url地址为空。若服务器确定第一云服务组件缺少第一键值,服务器可以将第一键值和第一键值对应的url地址存入到组件的需求(request)列表中。同时,服务器可以通过查看第一云服务组件的容器启动日志,确定第一云服务组件包括的第三键值和第三键值对应的url地址,其中,第三键值对应的url地址不为空。服务器可以将第三键值和第三键值对应的url地址存入到到提供(provider)列表中。也就是说,第一云服务组件可以有两种类型的键值,包括第一键值和第三键值。第一键值用于指示第一云服务组件依赖其他云服务组件才能实现的功能,第三键值用于指示第一云服务组件可以直接提供的功能。

进一步的,服务器可以将组件的request列表和provider列表保存到数据库中。

508、服务器根据键值确定云服务套件标识指示的云服务套件所包括的云服务组件之间的依赖关系。

即服务器的部署引擎根据键值确定云服务套件标识指示的云服务套件所包括的云服务组件之间的依赖关系。对于云服务套件标识指示的云服务套件中的至少两个云服务组件,若该至少两个云服务组件包括第一云服务组件和第二云服务组件,服务器根据第一云服务组件的第一键值确定与第一键值对应的第二键值,第二键值对应的第二url地址不为空。确定第二键值的一个重要依据是,第二键值与第一键值指向的关键值(value)是相同的。若服务器确定第二云服务组件包括第二键值,服务器确定第一云服务组件与第二云服务组件之间存在互相依赖关系,且第一云服务组件依赖于第二云服务组件。

需要说明的是,第一云服务组件缺少的第一键值可以有多个,每个缺少的键值可以对应不同的第二键值,从而服务器可以确定第一云服务组件同时与多个云服务组件之间存在互相依赖关系。

在一种可能的情况中,第一云服务组件可以没有第一键值,即不缺少第一键值,此时第一云服务组件可以不依赖于其他任何云服务组件。

进一步的,服务器可以根据依赖关系为云服务套件标识指示的云服务套件所包括的云服务组件分组。其中,每组云服务组件包括至少两个云服务组件,依赖关系包括至少两个云服务组件之间不存在互相依赖关系和至少两个云服务组件之间存在互相依赖关系。一方面,存在依赖关系的一组云服务组件包括至少一个依赖云服务组件和至少一个被依赖云服务组件。其中,依赖云服务组件依赖于被依赖云服务组件,即依赖云服务组件需要在被依赖云服务组件部署之后才可以进行部署。被依赖云服务组件和依赖云服务组件是相对的,即一个云服务组件既可以为依赖云服务组件,也可以为被依赖云服务组件。另一方面,不存在互相依赖关系的一组云服务组件可以包括不依赖任何其他云服务组件的云服务组件。不依赖任何其他云服务组件的云服务组件可以为被依赖云服务组件,但不会是依赖云服务组件。可以理解的是,若依赖云服务组件仅依赖一个被依赖云服务组件,那么该被依赖云服务组件部署之后,该依赖云服务组件可以视为不依赖任何其他云服务组件的云服务组件。

进一步的,服务器可以将云服务组件间的依赖关系保存到数据库中,至此,数据库中至少包含:元数据信息、云服务套件和/或云服务和/或云服务组件的版本、云服务组件的request列表、云服务组件的provider列表以及组件间的依赖关系。

509、对于每组云服务组件,若服务器确定该组云服务组件中的云服务组件之间不存在互相依赖关系,服务器并行部署该组云服务组件。

即对于每组云服务组件,若服务器的部署引擎确定该组云服务组件中的云服务组件之间不存在互相依赖关系,服务器的编排调度引擎选择相应的服务运行服务器并行部署该组云服务组件。其中,至少两个云服务组件之间不存在互相依赖关系是指至少两个云服务组件提供的服务之间不存在互相依赖关系。

举例来说,若服务器确定第一组云服务组件中至少两个云服务组件中的每个云服务组件没有缺少的第一键值,或服务器确定第一组云服务组件中至少两个云服务组件中的每个云服务组件都是不依赖其他任何云服务组件的云服务组件,服务器可以确定第一组云服务组件中的云服务组件之间不存在互相依赖关系,服务器可以并行部署第一组云服务组件中的每个云服务组件。

510、若服务器确定至少一组云服务组件中每组云服务组件中的云服务组件之间存在互相依赖关系,服务器串行部署至少一组云服务组件中每组云服务组件中的云服务组件。

即服务器的部署引擎确定至少一组云服务组件中每组云服务组件中的云服务组件之间存在互相依赖关系,服务器的编排调度引擎将云服务串行部署(承载)在服务运行服务器上。

举例来说,假设第二组云服务组件包括组件1与组件2,组件1与组件2之间存在互相依赖关系。第三组云服务组件包括组件3与组件4,组件3与组件4之间存在互相依赖关系。若组件1依赖于组件2,组件3依赖于组件4,服务器可以串行部署组件1和组件2,同时串行部署组件3和组件4。即服务器并行部署组件2和组件4,而后再并行部署组件1和组件3。

步骤509和步骤510所描述的过程即并行部署不存在互相依赖关系的一组云服务组件后,再并行部署与之前部署过的云服务组件存在依赖关系的云服务组件,相当于同时串行部署各组存在依赖关系的云服务组件。

511、服务运行服务器将部署结果放入到消息队列服务器中。

其中,部署结果包括部署成功、部署失败、部署部分成功等。

512、部署服务前端服务器呈现部署结果。

即部署前端服务器通过ui界面等向用户呈现部署结果。

由此,服务器根据部署消息中云服务套件标识确定待部署的云服务套件后,可以获取待部署的云服务套件中每个云服务组件的键值。服务器可以根据每个云服务组件的键值确定待部署的云服务套件中云服务组件之间的依赖关系。服务器可以并行部署不存在互相依赖关系的至少两个云服务组件,从而提高了部署效率。相比现有技术手动指定部署顺序且部署顺序为串行部署,本申请中,服务器可以并行部署不存在互相依赖关系的云服务组件,能够解决云服务套件部署时,手动指定云服务套件的部署顺序导致的部署缓慢,部署效率差的问题。

上述主要从服务器的角度对本申请实施例提供的方案进行了介绍。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中所涉及的服务器10的一种可能的结构示意图,服务器包括:获取单元1001,确定单元1002、分组单元1003和部署单元1004。获取单元1001用于支持服务器执行图5中的过程505和507。确定单元1002用于支持服务器执行图5中的过程506、508、509和510。分组单元1003用于支持服务器执行图5中的过程508。部署单元1004用于支持服务器执行图5中的过程509和510。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

在采用集成的单元的情况下,图11示出了上述实施例中所涉及的服务器的一种可能的结构示意图。服务器11包括:处理模块1101和通信模块1102。处理模块1101用于对服务器的动作进行控制管理,例如处理模块1101用于支持服务器执行图5中的过程506-510。通信模块1102用于支持服务器与其他网络实体的通信,例如与服务运行服务器、部署服务前端服务器之间的通信等。服务器还可以包括存储模块1103,用于存储服务器的程序代码和数据,例如用于存储本申请实施例中的云服务组件的第一键值和第二键值等。

其中,当处理模块1101是处理器,通信模块1102是通信接口,存储模块1103是存储器时,物联网服务器可以通过图12中的计算机设备(或系统)来实现。

图12所示为本申请实施例提供的计算机设备示意图。计算机设备1200包括至少一个处理器1201,通信总线1202,存储器1203以及至少一个通信接口1204。

处理器1201可以是一个通用中央处理器(centralprocessingunit,cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。

通信总线1202可包括一通路,在上述组件之间传送信息。

通信接口1204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。

存储器1203可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器1203用于存储执行本申请方案的应用程序代码,并由处理器1201来控制执行。处理器1201用于执行存储器1203中存储的应用程序代码,从而实现本专利方法中的功能。

在具体实现中,作为一种实施例,处理器1201可以包括一个或多个cpu,例如图12中的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备1200可以包括多个处理器,例如图12中的处理器1201和处理器1207。这些处理器中的每一个可以是一个单核

(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备1200还可以包括输出设备1205和输入设备1206。输出设备1205和处理器1201通信,可以以多种方式来显示信息。例如,输出设备1205可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备1206和处理器1201通信,可以以多种方式接受用户的输入。例如,输入设备1206可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备1200可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备1200可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图12中类似结构的设备。本申请实施例不限定计算机设备1200的类型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1