欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 资源部署方法及装置独创技术56663字

资源部署方法及装置

2021-02-23 05:12:19

资源部署方法及装置

  技术领域

  本说明书一个或多个实施例涉及云计算领域,尤其涉及一种资源部署方法及装置。

  背景技术

  在搭建网络项目时,通常需要部署项目相关的应用资源。例如,在用户搭建云端项目时,可以先绘制基础的资源架构图,然后由云端资源的运维人员按照资源架构图依次在各个资源控制台上对应用资源进行部署。或者,用户也可以通过脚本编辑器对资源接口进行手动配置,从而实现对资源部署脚本的编辑。

  发明内容

  有鉴于此,本说明书一个或多个实施例提供一种资源部署方法及装置。

  为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

  根据本说明书一个或多个实施例的第一方面,提出了一种资源部署方法,包括:

  展示资源配置界面,所述资源配置界面中包含对应于可用资源的配置组件;

  响应于用户针对其选取的至少一个所述配置组件实施的配置操作,确定所述配置操作指定的针对目标资源的配置参数;

  基于所述配置参数生成资源部署文件并将所述资源部署文件提交至服务端,以使所述服务端根据所述资源部署文件生成用于部署所述目标资源的资源部署脚本。

  根据本说明书一个或多个实施例的第二方面,提出了一种资源部署方法,包括:

  接收客户端提交的资源部署文件,所述资源部署文件由所述客户端根据用户针对至少一个配置组件实施的配置操作生成,所述资源配置组件被所述客户端展示在资源配置界面中;

  根据所述资源部署文件生成资源部署脚本,所述资源部署脚本用于部署对应于所述至少一个配置组件的目标资源。

  根据本说明书一个或多个实施例的第三方面,提出了一种资源部署装置,包括:

  界面展示单元,用于展示资源配置界面,所述资源配置界面中包含对应于可用资源的配置组件;

  参数确定单元,用于响应于用户针对其选取的至少一个所述配置组件实施的配置操作,确定所述配置操作指定的针对目标资源的配置参数;

  文件生成单元,用于基于所述配置参数生成资源部署文件并将所述资源部署文件提交至服务端,以使所述服务端根据所述资源部署文件生成用于部署所述目标资源的资源部署脚本。

  根据本说明书一个或多个实施例的第四方面,提出了一种资源部署装置,包括:

  文件接收单元,用于接收客户端提交的资源部署文件,所述资源部署文件由所述客户端根据用户针对至少一个配置组件实施的配置操作生成,所述资源配置组件被所述客户端展示在资源配置界面中;

  脚本生成单元,用于根据所述资源部署文件生成资源部署脚本,所述资源部署脚本用于部署对应于所述至少一个配置组件的目标资源。

  根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:

  处理器;

  用于存储处理器可执行指令的存储器;

  其中,所述处理器通过运行所述可执行指令以实现如第一方面或第二方面中任一项所述的方法。

  根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第二方面中任一项所述方法的步骤。

  附图说明

  图1是一示例性实施例提供的一种资源部署系统的架构示意图。

  图2是一示例性实施例提供的一种资源部署方法的流程图。

  图3是一示例性实施例提供的另一种资源部署方法的流程图。

  图4是一示例性实施例提供的一种资源部署方法的交互流程图。

  图5-图9(b)是一个或多个示例性实施例提供的一种或多种资源配置界面的展示效果示意图。

  图10是一示例性实施例提供的一种设备的结构示意图。

  图11是一示例性实施例提供的一种资源部署装置的框图。

  图12是一示例性实施例提供的另一种资源部署装置的框图。

  具体实施方式

  这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

  需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

  图1是一示例性实施例提供的一种资源部署系统的架构示意图。如图1所示,该系统可以包括网络10、服务器11、若干电子设备,比如计算机12、计算机13和计算机14等。

  服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器。在运行过程中,服务器11可以运行某一应用的服务器侧的程序,以实现该应用的相关应用功能,比如当该服务器11运行资源部署系统的程序时,可以实现为该资源部署系统的服务端,其中,该资源部署系统可以控制或部署可调用的应用资源。在本说明书一个或多个实施例的技术方案中,可由服务器11通过与计算机12-14上运行的客户端进行配合,以实现对可调用的应用资源进行自动化部署的技术方案。

  在本实施例中,资源部署系统不仅可以实现资源部署功能,还可以作为诸多其他功能的集成化功能平台,比如资源配置界面的展示、用户配置操作的检测、用户配置操作的动态及静态验证、部署文件的生成、目标资源的验证、资源部署脚本的生成等,本说明书一个或多个实施例并不对此进行限制。

  计算机12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:手机、平板设备、笔记本电脑、掌上电脑(PDAs,PersonalDigital Asistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,以实现该应用的相关应用功能,比如当该电子设备运行资源部署系统的程序时,可以实现为该资源部署系统的客户端。

  另外,资源部署系统客户端的应用程序可以被预先安装在电子设备上,使得该客户端可以在该电子设备上被启动并运行;当然,当采用诸如HTML5技术的“在线客户端”时,无需在电子设备上安装相应的应用程序,即可获得并运行该客户端。

  而对于计算机12-14与服务器11之间进行交互的网络10,可以包括多种类型的有线或无线网络。

  在搭建网络项目时,通常需要部署项目相关的应用资源。例如,在用户使用云端资源搭建云端项目时,可以先绘制基础的资源架构图,然后由云端资源的运维人员按照资源架构图依次在各个资源控制台上对应用资源进行部署。或者,用户也可以通过脚本编辑器对资源接口进行手动配置,从而实现对资源部署脚本的编辑。

  然而,无论是由运维人员在资源控制台上配置资源或根据参考手册编写资源部署脚本,再通过执行脚本实现资源部署,还是由用户使用脚本编辑器对资源接口进行手动配置以编辑资源部署脚本,运维人员和用户面对的都是底层的脚本或接口,而且是通过手动编辑实现对应用资源的部署,因此资源部署工作量较大,部署效率较低。

  为解决相关技术中存在的上述技术问题,本说明书提出一种资源部署方法,客户端按照资源可视化的原则为用户提供对应于可用资源的配置组件,并根据用户对配置组件实施的配置操作自动生成资源部署文件,服务端基于客户端提交的资源部署文件自动生成用于部署应用资源的脚本,从而用户仅需要在可视化的资源配置界面中完成对配置组件的简单配置,即可得到服务端自动生成的资源部署脚本,从而简化用户的配置操作,有助于实现对应用资源的高效部署。

  图2是一示例性实施例提供的一种资源部署方法的流程图。如图2所示,应用于客户端,可以包括以下步骤:

  步骤202,展示资源配置界面,所述资源配置界面中包含对应于可用资源的配置组件。

  在本实施例中,通过客户端和服务端之间的数据交互完成架构图绘制和资源部署脚本的自动生成。客户端中可以运行资源配置应用,该资源配置应用可以为独立的应用程序,也可以为通过浏览器展示并实现的“在线应用”,本说明书并不对此进行限制。用户可以控制客户端中运行的上述资源配置应用展示资源配置界面,进而通过对界面中展示的相关界面元素实施相应的控制操作,如绘制资源架构图等,实现对资源的配置,即绘制资源架构图。

  在本实施例中,涉及到的可用资源和目标资源的资源类型可以为云服务对应的云端资源,例如可以为存储资源、网络资源、安全资源、控制资源等;当然,也可以为本地资源,本申请对此并不进行限制。对于供用户使用的可用资源,可以预先生成相应的配置组件,例如,可用资源的提供方可以根据存储资源、网络资源、安全资源、控制资源等可用资源分别制作相应的配置组件。其中,上述配置组件用于展示在资源配置界面中供用户选取并进行相应的配置,为便于用户识别和选取对应于自身应用功能的配置组件,可以对上述配置组件的外观进行拟物化处理,从而令用户能够通过配置组件直观的获知其对应的可用资源,有助于降低用户的学习成本,提升用户使用体验。

  在本实施例中,上述配置组件的生成可以由服务端完成,或者由其他设备生成后提供并存储在服务端,当然也可以保存在其他存储设备中供服务端调用。相应的,对于独立的应用程序形式的客户端,其可以在安装资源配置应用的同时完成对配置组件的获取,例如将上述配置组件对应的配置文件集成在资源配置应用的安装包中;或者,也可以在安装完成上述资源配置应用之后,向服务端获取上述配置组件,或者还可以周期性向服务端获取配置组件,以实现对本地配置组件的更新;对于在线应用形式的客户端,可以在运行该客户端或在该客户端中打开上述资源配置界面时从服务端请求获取上述配置组件,本说明书对于配置组件的获取方式并不进行限制。服务端获取到上述配置组件后,可以相应的按照预设格式将其展示在资源配置界面的预设区域中,以便于用户从中选取其需要的配置组件。

  在一实施例中,客户端可以在资源展示界面中展示组件提示信息,该组件提示信息可以用于指示配置组件是否可用,以便用户仅选取可用的配置组件绘制资源架构图,避免绘制错误导致的返工;可以理解的是,上述配置组件是否可用即为配置组件对应的资源是否可用,而且,因为配置组件对应的可用资源可以同时供多个用户使用,因此为保证上述配置组件可用状态的准确性,客户端可以在展示该配置组件时或周期性向服务端获取其所对应资源的可用状态。或者,该组件提示信息也可以提示配置组件所对应的多个可用资源之间的关联关系,以便用户按照该关联关系选取多个配置组件绘制资源架构图,简化用户对于多个配置组件之间相互关系的识别难度,从而进一步简化用户操作。当然,上述组件提示信息也可以同时提示上述两种信息或者其他信息,不再赘述。

  步骤204,响应于用户针对其选取的至少一个所述配置组件实施的配置操作,确定所述配置操作指定的针对目标资源的配置参数。

  在本实施例中,用户可以从资源配置界面中展示的上述配置组件中选取应用需要的配置组件,并针对该配置组件实施配置操作。实际上,针对配置组件实施该配置操作的过程,即为通过拖、拉、连线等动作对配置组件进行处理以绘制资源架构图的过程。

  在一实施例中,考虑到用户可能为尚不熟悉资源部署流程的新手用户,可以在资源配置界面中为用户自动展示部署流程示意图或其他形式的说明信息,以便于用户绘制资源架构图。另外,还可以为用户自动推荐预设的优化配置方案,例如,可以预先生成多场景下的资源配置模板,从而根据用户欲绘制的资源架构图对应的应用场景,为用户推荐相应的资源配置模板供其选择,用户可以按照该资源配置模板绘制自己的资源架构图,或者也可以对该资源配置模板进行修改以得到自己的资源架构图。

  在一实施例中,在用户实施配置操作的过程中,客户端可以对配置操作及其对应的目标资源进行动态验证。例如,客户端可以验证配置操作是否满足预设的资源配置规则,并在配置操作不满足资源配置规则的情况下,展示关于配置操作的更正提示信息,以便用户根据该更正提示信息对其重新实施配置操作,从而保证绘制的资源架构图满足资源配置规则。通过在用户实施配置操作的过程中继续上述动态验证,有助于及时纠正用户的错误操作,避免了用户绘制完成资源架构图后再对错误进行更正带来的繁琐操作,从而进一步提升资源配置效率。其中,上述资源配置规则可以根据各个可用资源的资源特性及各个可用资源之间的数据传输关系预先设置,上述更正提示信息中还可以相应的包含不合法的原因以及修改建议等,不再赘述。

  进一步的,上述配置操作可以包括连接多个配置组件以绘制资源架构图的连接操作。相应的,在连接操作的实施过程中,客户端检测多个配置组件对应的多个可用资源之间是否满足预设的关联性规则(动态验证),以便根据该检测结果相应的展示更正提示信息。例如,RDS(Relational Database Service,关系型数据库)不能连接EIP(Elastic IPAddress,弹性IP地址),则客户端在检测到用户在RDS与EIP之间实施连线操作时,可以展示更正提示信息以提示用户当前的连接操作不满足关联性规则。在上述连接操作完成后,相应的得到用户绘制的资源架构图,此时客户端可以检测该资源架构图中包含的目标资源是否满足预设的合法性规则(静态验证)。当然,对于用户绘制的任一资源架构图,客户端也可以在绘制过程中进行上述动态验证,并在绘制完成后进行上述静态验证;另外,上述动态验证和静态验证的验证规则还可以包括其预设规则,不再赘述。

  在一实施例中,除上述连接操作外,用户针对配置组件进行的配置操作中还可以携带针对配置组件的指定参数值,从而在实施配置操作的过程中指定针对配置组件的参数值。相应的,在配置操作存在相应的指定参数值的情况下,客户端可以将配置操作对应的目标资源的资源参数设置为指定参数值;和/或,在配置操作不存在指定参数值的情况下,客户端可以将配置操作对应的目标资源的资源参数设置为预设的默认参数。通过上述方式,允许用户对更细粒度的参数值进行自定义设置,从而便于绘制更加符合用户实际应用要求的资源架构图,最终生成能够满足用户实际应用需求的资源部署脚本。例如,在配置组件为数据库的情况下,用户可以针对该数据库设置存储容量、数据最大吞吐量、访问接口等指定参数值;在配置组件为网络端口的情况下,用户可以针对该网络端口设置访问地址、网络带宽、端口协议等参数值。对于任一配置组件,用户可以进行上述自定义设置,当然在用户并未进行上述自定义设置的情况下,客户端可以为其自动设置预设的默认参数;当然,对于必须由用户设置的参数值,可以进一步提醒用户将进行自定义设置。

  在一实施例中,用户可以针对配置组件对应的目标资源实施辅助配置操作,以在目标资源之间建立边关系,即用于实现辅助部署功能的关联关系。相应的,在检测到用户针对目标资源实施的辅助配置操作的情况下,客户端可以为目标资源设置上述辅助配置操作指定的辅助部署参数,以使服务端基于该辅助部署参数生成对应于目标资源的辅助部署脚本,该辅助部署脚本用于实现预设的辅助部署功能。其中,上述辅助配置操作可以具有多种形式,例如用户可以在SLB(Server Load Balancer,负载均衡器)与ECS(Elastic ComputeService,云服务器)连线上配置监听端口,或者在NAT(Network Address Translation,网络地址转换)设备与ECS的连线上或NAT中配置访问规则、IP段等参数,不再赘述。通过上述辅助配置操作的实施,用户能够在指定的目标资源之间自动建立依赖关系,从而实现各个目标资源之间的资源联动。

  步骤206,基于所述配置参数生成资源部署文件并将所述资源部署文件提交至服务端,以使所述服务端根据所述资源部署文件生成用于部署所述目标资源的资源部署脚本。

  在本实施例中,客户端在确定配置参数后,可以生成相应的资源部署文件。其中,生成上述资源部署文件的过程,即为按照用户绘制的资源架构图生成满足预设规则的文件框架,并将资源架构图中各个配置组件对应的配置参数填充进该文件框架以生成资源部署文件的过程。上述资源部署文件的文件格式可以采用多种形式,例如可以为.xml(eXtensible Markup Language,可扩展标记语言)格式或json(Java Script ObjectNotation, JS对象简谱)格式,本说明书并不对此进行限制。

  在一实施例中,客户端根据配置参数生成的上述资源部署文件对应于目标资源架构,此时用户可以针对多个资源架构实施架构合并操作。相应的,客户端可以响应于用户针对目标资源架构实施的架构合并操作,确定待合并资源架构,然后根据目标资源架构与上述待合并资源架构分别对应的资源部署文件,生成合并部署文件,该合并部署文件用于生成针对目标资源架构与待合并资源架构对应的合并后资源架构的合并资源部署脚本,该合并资源部署脚本用于部署目标资源架构与待合并资源架构对应的全部目标资源。通过上述合并过程,客户端可以将包括目标资源架构和待合并资源架构在内的多个资源架构进行合并得到合并后资源架构,从而服务端可以根据对应于该合并后资源架构的合并部署文件生成相应的合并资源部署脚本,以便对全部目标资源进行集成部署,从而无论原有资源架构是否已部署对应资源,都可以在原有资源架构的基础上快速扩展新的资源,实现架构或功能的快速高效扩展,降低了架构扩展难度。

  进一步的,上述待合并资源架构可以由用户指定,以便用户根据实际应用变化进行架构调整,此时,客户端可以相应的确定用户指定的待合并资源架构。或者,在任一资源架构被预先添加有架构分类标识的情况下,客户端也可以将架构分类标识与目标资源架构的架构分类标识相同的资源架构确定为上述待合并资源架构,从而将同类型的资源架构进行合并,上述架构分类标识可以按照资源类型、应用类型等进行添加。实际上,上述待合并资源架构可以为尚未部署的新的资源架构,也可以为已经部署的资源架构,

  进一步的,客户端可以通过下述方式将生成合并部署文件:先确定目标资源架构对应的第一目标资源,以及待合并资源架构对应的第二目标资源,然后根据第一目标资源与第二目标资源的相同部分生成公共部署文件,并根据第一目标资源与第二目标资源的不同部分分别生成专用部署文件,最后按照预设规则合并公共部署文件与专用部署文件,从而得到合并部署文件。通过上述方式合并得到的合并部署文件能够同时生成对应于两个资源架构所对应全部目标资源的部署脚本,有效简化了用户的架构合并操作,并提升了架构合并及脚本生成效率。

  同时上述方式生成的资源部署文件,客户端可以将其提交至服务端用于生成相应的资源部署脚本。当然,在提交之前可以对该文件及其对应的目标资源进行进一步的规则验证,以保证该文件满足预设规则。另外,也可以在验证通过后检测提示用户,并在检测到用户实施的提交操作后向服务端提交上述资源部署文件,具体过程不再赘述。

  图3是一示例性实施例提供的另一种资源部署方法的流程图。如图3所示,应用于客户端,可以包括以下步骤:

  步骤302,接收客户端提交的资源部署文件,所述资源部署文件由所述客户端根据用户针对至少一个配置组件实施的配置操作生成,所述资源配置组件被所述客户端展示在资源配置界面中。

  在一实施例中,服务端可以在接收到资源部署文件后,确定目标资源的资源类型和/或资源需求量,然后访问对应于资源集合的资源管理接口,以验证资源集合中的可用资源是否符合上述资源类型,和/或是否满足上述资源需求量。其中,上述资源类型和资源需求量可以由用户在配置参数时对目标资源进行配置。相应的,在验证到上述可用资源符合资源类型以及资源需求量的情况下,服务端可以根据资源部署文件生成相应的资源部署脚本,当然,也可以向客户端返回验证结果并在用户确认后生成上述资源部署脚本;在验证到上述可用资源不符合资源类型或资源需求量的情况下,服务端可以向客户端返回验证结果和/或修改建议,以便用户按照该修改建议对配置参数进行修改,直至资源部署文件符合上述资源类型和资源需求量。当然,除资源类型和资源需求量之外,服务端还可以对目标资源进行其他方面的验证,不再赘述。

  步骤304,根据所述资源部署文件生成资源部署脚本,所述资源部署脚本用于部署对应于所述至少一个配置组件的目标资源。

  在一实施例中,服务端可以先将资源部署文件转换为对应于目标资源的DAG(Directed Acyclic Graph,有向无环图),再按照该有向无环图生成资源部署脚本。

  在一实施例中,在资源部署文件包含对应于目标资源的辅助部署参数的情况下,服务端还可以基于辅助部署参数生成对应于目标资源的辅助部署脚本,该辅助部署脚本用于实现预设的辅助部署功能,从而实现对用户所实施辅助部署操作的有效响应。通过上述辅助配置操作的实施,用户能够在指定的目标资源之间自动建立依赖关系,从而实现各个目标资源之间的资源联动。

  在本实施例中,通过上述方式生成的资源部署脚本可以运行在服务端,或者也可以由服务端发送至其他设备并运行。运行状态下的上述资源部署脚本用于对用户实施的配置操作所针对的目标资源进行部署,部署完成后的上述目标资源即用于实现用户的应用功能。

  通过上述实施例,用户可以在客户端中对配置组件实施配置操作以设置针对目标资源的配置参数,相应的,客户端按照该配置参数生成的资源配置文件并提交至服务端,服务端使用该资源配置文件生成针对目标资源的资源部署脚本,用于实现用户的应用功能。可见,用户仅需要在资源配置界面中对可视化的配置组件进行简单地参数配置以绘制资源架构图即可,而且因为配置组件与目标资源相互对应,因此实现了资源配置组件中的配置组件向用户呈现了对目标资源“所见即所得”的展示效果,用户体验更好;而且后续的文件和脚本生成过程由客户端和服务端自动完成,从而大大简化了用户的资源部署操作,有效提升了用户的资源部署效率。

  下面结合图4所示的一种资源部署方法的交互流程图,以及图5-图9(b)所示的资源配置界面的展示效果示意图,对客户端和服务端通过数据交互完成架构图绘制和资源部署脚本的自动生成的过程进行详细说明。如图4所示,该过程通过客户端与服务端之间的交互实现,该过程包括下述步骤:

  步骤402,客户端展示包含配置组件的资源配置界面。

  在本实施例中,客户端中运行有资源配置应用,该资源配置应用可以为独立的应用程序,也可以为通过浏览器展示并实现的“在线应用”,本说明书并不对此进行限制。进而,用户客户端可以在接收到用户的预设触发操作后,向用户展示资源配置界面,该界面中包含对应于可用资源的配置组件。上述配置组件可以由服务端其他设备按照可用资源预先生成,在生成过程中,可以对上述配置组件的外观进行拟物化处理,从而使用户能够通过配置组件直观的获知其对应的可用资源,以降低用户的学习成本,提升用户使用体验。

  上述可用资源即为可供用户调用以进行部署的资源,如存储资源、网络资源、安全资源、控制资源等,当然,不同用户对应的可用组员可以是不同的,例如用户U可以通过领取或购买的方式获取相应的可用资源,从而当其在客户端中登录并打开相应的资源配置界面后,该界面中展示的配置组件即为用户U可以使用的可用资源。

  例如,用户在客户端中针对资源配置界面的按钮、图标等展示控件实施点击、触控等预设触发操作后,客户端响应于该预设触发操作相应的展示出资源配置界面,并在该资源配置界面中展示配置组件。其中,上述配置组件可以由客户端在检测到上述预设触发操作后向服务端获取(图中未示出),或者由客户端一次性或周期性预先获取。

  以图5为例,资源配置界面中展示有配置组件候选区域501,该区域中展示有待用户选取的配置组件,配置组件可以按照组件类型分别展示在不同的展示区域中,如图中的存储资源、网络资源、安全资源、控制资源等多个折叠展示区域。当然,用户可以通过触发任一折叠展示区域中的展开图标,将折叠展示的配置组件区域展开,从而详细展示该折叠展示区域中包含的配置组件。界面右侧展示有架构图绘制区域502,用户可以通过将左侧配置组件候选区域501中展示的配置组件通过拖拉或点选的方式放置在右侧架构图绘制区域502的合适位置。

  如图5所示,当用户触发“存储组件”对应折叠展示区域中的展开图标后,该折叠展示区域被展开以展示配置组件601,显示效果如图6所示。客户端可以在资源展示界面中展示组件提示信息,该组件提示信息可以用于指示配置组件是否可用(图中未示出),以便用户仅选取可用的配置组件绘制资源架构图,一定程度上避免绘制错误导致的返工。可以理解的是,上述配置组件是否可用即为配置组件对应的资源是否可用,而且,因为配置组件对应的可用资源可以同时供多个用户使用,所以为保证上述配置组件可用状态的准确性,客户端可以在展示该配置组件时或周期性向服务端获取其所对应资源的可用状态。其中,上述组件提示信息可以具有多种展示形式,例如,可以将处于不可用状态的资源对应的配置组件展示为灰度图像,而处于可用状态的资源对应的配置组件展示为彩色图像;或者在不可用状态的资源对应的配置组件的右上角等特定位置展示“!”等形式的不可用标记,以便告知用户。或者,上述组件提示信息也可以提示配置组件所对应的多个可用资源之间的关联关系,以便用户按照该关联关系选取多个配置组件绘制资源架构图,简化用户对于多个配置组件之间相互关系的识别难度,从而进一步简化用户操作。例如,图6中的配置组件A和配置组件B之间具有预设的关联关系,相应的,可以通过关联区域边界602对二者的关联关系进行标注。当然,上述组件提示信息也可以同时提示上述两种信息或者其他信息,不再赘述。

  步骤404,客户端检测用户针对配置组件实施的配置操作。

  用户可以针对资源配置界面中展示的配置组件实施配置操作,以通过该操作为目标资源设置相应的资源参数。上述配置操作可以具有多种形式,例如可以为将配置组件从左侧展示区域拖拉至右侧绘图区域中的拖拽动作、打开绘图区域中的任一配置组件对应的参数配置详情页面的双击操作、在参数详情页面中对任一参数项输入或选取参数值对应的输入操作或选取操作等,不再赘述。

  如图6所述,用户可以通过鼠标拖拽界面左侧展示区域中的配置组件D,将其放置在界面右侧绘图区域中的位置603处。支持用户通过简单的拖拽方式绘制资源架构图,从而用户无需关注配置组件对应的底层脚本细节,而只需对配置组件整体进行拖拽、连线及参数配置即可,有效简化了用户对于资源架构图的绘制操作以及对于目标资源的部署操作,有助于提升资源部署效率。

  步骤406,客户端动态验证配置操作。

  对于用户实施的任一配置操作,客户端可以实时验证该操作是否符合预设的资源配置规则,并在配置操作不满足资源配置规则的情况下,展示关于配置操作的更正提示信息,以便用户根据该更正提示信息对其重新实施配置操作,从而保证绘制的资源架构图满足资源配置规则。其中,上述资源配置规则可以根据各个可用资源的资源特性及各个可用资源之间的数据传输关系预先设置,上述更正提示信息中还可以包含不合法原因及修改建议等,不再赘述。通过对用户所实施的配置操作进行动态验证,实现了对资源架构图所涉及目标资源及其架构合理性的自动化检查,从而无需用户关注各个目标资源的底层关联性,即可自动保证目标资源满足预设的关系、约束及属性特征,进而确保最终生成的资源部署脚本的合理性和有效性。

  如图7所示,当用户在绘图界面中放置有ECS 701和SLB 703之后,通过连接操作在二者之间绘制连线702。在用户实施连线操作的过程中,客户端可以相应的检测ECS 701和SLB 703之间是否满足预设的关联性规则,并进一步的根据该检测结果展示更正提示信息。在本实施中,ECS 701和SLB 703之间通常是允许直接连接(即满足预设的关联性规则)的,因此用户能够在二者之间正常的绘制连线702。假设用户在RDS和EIP之间实施连接操作,因为RDS和EIP通常无法直接连接(即不满足预设的关联性规则),因此客户端在检测到用户在RDS与EIP之间实施连线操作后,可以展示更正提示信息以提示用户当前的连接操作不满足关联性规则。

  步骤408,客户端根据配置操作设置目标资源的资源参数。

  在一实施例中,用户还可以通过双击的方式(或其他预设操作)打开ECS 701或SLB703的参数详情页面,然后通过选取或输入等方式在该页面中设置ECS 701和/或SLB 703的各个参数。如图8(a)所示,用户可以在ECS 701的参数详情页面中设置服务器数量、服务器容量、存储空间大小、CPU核数、访问地址、节点数量、IP地址段等。或者,如图8(b)所示,用户还可以通过上述方式打开上述连线702的参数详情页面,并相应地配置该连线(该连线表征ECS 701和SLB 703之间的数据传输通道)的通讯参数,如接口协议、传输速率、网络带宽、IP地址段等,不再一一赘述。

  在用户完成针对某一配置组件的参数配置后,配置后的该组件对应的可用资源即为相应的目标资源。

  在一实施例中,客户端可以根据用户针对目标资源实施的配置操作,为该目标资源自动设置预设参数。因为ECS中通常用于存储和处理对安全性要求较高的用户应用数据,所以在图7中,客户端在检测到用户将ECS 701放置在绘图区域时,检查当前是否已设置安全组,并在尚未设置的情况下自动设置安全组并配置默认参数,从而有效避免了用户忘记设置安全组可能导致的数据泄露及其他安全问题;还可以进一步告知用户该安全组的设置,以便用户检查或更改配置参数。又例如,用户绘制连线702之后,客户端可以将ECS 701的IP地址自动添加到SLB 703的Backend Server列表中,以进一步简化用户的参数配置操作。

  步骤410,客户端检测用户实施的辅助配置操作并设置辅助部署参数。

  在一实施例中,用户可以针对配置组件对应的目标资源实施辅助配置操作,相应的,在检测到用户针对目标资源实施的辅助配置操作的情况下,客户端可以为目标资源设置上述辅助配置操作指定的辅助部署参数,以使服务端基于该辅助部署参数生成对应于目标资源的辅助部署脚本,该辅助部署脚本用于实现预设的辅助部署功能。例如在图7中,用户可以通过触发连线702,在连线702上配置监听端口,从而在用户指定的ECS 701和SLB703之间自动建立依赖关系,以实现对二者之间数据传输的监听功能。或者,在NAT与ECS相连的情况下,用户可以在NAT与ECS的连线上或NAT中配置访问规则、IP地址段等参数,不再赘述。

  另外,客户端也可以自动设置辅助部署参数,如在ECS与RDS相互连接的场景下,客户端在检测到用户针对ECS与RDS实施的连接操作后,可以自动将ECS的IP地址添加至RDS的白名单中,从而进一步简化用户的设置操作。通过该方式,客户端能够自动补充资源架构图中缺失的必要资源或资源关系,从而避免用户误操作或忘记绘制导致的脚本生成失败或功能缺失,有效保证了资源架构图的可部署性。

  步骤412,客户端检测用户实施的架构合并操作并确定待合并资源架构。

  在一实施例中,客户端根据配置参数生成的资源部署文件可以对应于目标资源架构,此时用户可以针对多个资源架构实施架构合并操作。相应的,客户端可以响应于用户针对目标资源架构实施的架构合并操作,确定待合并资源架构。具体的,上述待合并资源架构可以由用户指定,以便用户根据实际应用变化进行架构调整,此时,客户端可以相应的确定用户指定的待合并资源架构。或者,在任一资源架构被预先添加有架构分类标识的情况下,客户端也可以将架构分类标识与目标资源架构的架构分类标识相同的资源架构确定为上述待合并资源架构,从而将同类型的资源架构进行合并,上述架构分类标识可以按照资源类型、应用类型等进行添加。

  另外,上述待合并资源架构可以为尚未部署的新的资源架构,也可以为已经部署的资源架构。用户可以通过该方式实现对多个资源架构之间的集成部署,从而可以在原有资源架构(无论是否已部署对应资源)的基础上快速扩展新的资源,实现架构或功能的快速高效扩展,降低了架构扩展难度。

  在上述实施例中,步骤404-408与步骤410、步骤412之间的并不存在必然的先后顺序,既可以按照如图4所示步骤404-408、步骤410、步骤412的顺序依次执行,也可以按照步骤410、步骤404-408、步骤412的顺序或者步骤410、步骤412、步骤404-408的顺序执行,即上述各个步骤之间的先后顺序可以根据实际情况进行调整,本说明书并不对此进行限制。

  步骤414,客户端生成资源部署文件。

  客户端生成上述资源部署文件的过程,即为按照用户绘制的资源架构图生成满足预设规则的文件框架,并将资源架构图中各个配置组件对应的配置参数填充进该文件框架以生成资源部署文件的过程。上述资源部署文件的文件格式可以采用多种形式,例如可为.xml格式或json格式,本说明书并不对此进行限制。

  在一实施例中,对应于前述实施例中的架构合并操作,客户端可以相应的生成合并部署文件:先确定目标资源架构对应的第一目标资源,以及待合并资源架构对应的第二目标资源,然后根据第一目标资源与第二目标资源的相同部分生成公共部署文件,并根据第一目标资源与第二目标资源的不同部分分别生成专用部署文件,最后按照预设规则合并公共部署文件与专用部署文件,从而得到合并部署文件。通过上述方式合并得到的合并部署文件能够同时生成对应于两个资源架构所对应全部目标资源的部署脚本,有效简化了用户的架构合并操作,并提升了架构合并及脚本生成效率。

  在一实施例中,在生成上述资源部署文件之前,可以向用户展示文件生成询问消息,并在接收到用户针对该消息实施的预设操作(如点击与该消息关联展示的“确认生成文件”控件)后,执行上述步骤414的文件生成步骤。进一步的,在用户确认之后可以通过预设规则对用户设置的资源参数进行静态验证,以便进一步确认该资源的参数设置符合规则,从而初步保证所生成资源部署脚本的有效性。

  步骤416,客户端向服务端提交资源部署文件。

  客户端生成上述资源部署文件后,可以将其提交至服务端。在一实施例中,客户端可以在接收到用户通过实施文件提交操作发出的提交指令后,向服务端提交上述资源部署文件。或者,客户端也可以向用户展示文件提交询问消息,并在检测到用户针对该消息实施的预设操作(如点击与该消息关联展示的“确认提交文件”控件)后,向服务端提交上述资源部署文件。又或者,客户端可以在生成上述资源部署文件后即自动向服务端提交该文件,本说明书并不对此进行限制。

  步骤418,服务端将资源部署文件转换为DAG图。

  服务端在接收到客户端提交的上述资源部署文件后,可以将其转换为DAG图,以便按照DAG图生成相应的资源部署脚本。根据.xml格式或json格式的资源部署文件生成DAG图的具体过程可以参见相关技术中公开的内容,此处不再赘述。

  步骤420,服务端对DAG图涉及到的目标资源进行验证。

  在一实施例中,服务端可以在接收到资源部署文件后,确定目标资源的资源类型和/或资源需求量,然后访问对应于资源集合的资源管理接口,以验证资源集合中的可用资源是否符合上述资源类型,和/或是否满足上述资源需求量。

  例如,在用户针对ECS设置的资源参数指定某范围(region)内的10台S型号的服务器作为目标资源的情况下,服务端可以相应的检查该region中当前是否存在至少10台S型号的服务器处于未被占用的空闲状态(待使用状态),若存在,则表明指定范围内的资源规格和库存满足用户指定的条件;否则,若不存在,则表明指定范围内的资源规格和库存不满足用户指定的条件。当然,服务端可以对资源部署文件中涉及到的全部目标资源均进行上述验证,或者进行其他规则的必要验证,并在全部目标资源均满足验证条件的情况下,判定上述资源部署文件通过验证。此时,可以直接执行步骤428以生成组件部署脚本,转入步骤422。

  步骤422,服务端向客户端返回资源验证结果。

  步骤424,客户端展示资源验证结果。

  步骤426,客户端向服务端发送脚本生成指令。

  服务端可以将将上述验证结果返回至客户端,相应的,客户端可以向用户展示该验证结果对应的提示消息。如图9(a)所示,在上述验证成功的情况下,客户端可以向用户展示脚本生成提示消息901a,并在用户触发预设的“确定”控件后,转入步骤426向服务端发送脚本生成指令,以便服务端响应于该消息生成资源部署脚本。当然,客户端可以仅向用户展示验证通过消息以告知用户验证通过,而并不展示脚本生成提示消息(图中未示出),相应的,服务端可以直接在将验证结果返回至客户端都执行步骤428以生成资源部署脚本。

  或者如图9(b)所示,在上述验证失败的情况下,客户端可以向用户展示架构修改提示消息901b,该消息中包含验证失败信息,并在用户触发预设的“修改架构”控件后,继续展示资源配置界面以供用户修改目标架构。进一步的,还可以在资源配置界面中突出展示(如采用加粗、标红等方式)出错的目标资源,以方便用户查找和修改。当然,若用户触发了“放弃绘制”控件,则可以退出当前架构图的绘制过程,并自动保存已绘制架构图或询问用户是否保存已绘制架构图,并相应的进行后续处理。

  步骤428,服务端按照DAG图生成资源部署脚本。

  基于已经生成的对应于目标资源的DAG图,服务端可以生成对应于目标资源的资源部署脚本。对应于前述实施例,在资源部署文件包含对应于目标资源的辅助部署参数的情况下,服务端还可以基于辅助部署参数生成对应于目标资源的辅助部署脚本,该辅助部署脚本用于实现预设的辅助部署功能,从而实现对用户所实施辅助部署操作的有效响应。

  可以理解的是,在用户未设置上述辅助部署参数的情况下,生成的资源部署脚本仅包括对目标资源的基本部署脚本。而在用户设置有上述辅助部署参数的情况下,生成的资源部署脚本除包括对目标资源的基本部署脚本之外,还包括用于实现辅助部署功能的辅助部署脚本。上述基本部署脚本和辅助部署脚本可以一次性生成,以提高脚本生成效率。

  可以理解的是,因为该DAG图是基于用户对于目标资源设置的参数创建的资源部署文件生成的,所以基于该DAG图生成的资源部署脚本即可用于实现对目标资源的部署。通过上述方式生成的资源部署脚本可以运行在服务端,或者也可以由服务端发送至其他设备并运行。运行状态下的上述资源部署脚本用于对用户实施的配置操作所针对的目标资源进行部署,部署完成后的上述目标资源即用于实现用户的应用功能。

  图10是一示例性实施例提供的一种设备的示意架构图。请参考图10,在硬件层面,该设备包括处理器1002、内部总线1004、网络接口1006、内存1008以及非易失性存储器1010,当然还可能包括其他应用所需要的硬件。处理器1002从非易失性存储器1010中读取对应的计算机程序到内存1008中然后运行,在逻辑层面上形成资源部署装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

  请参考图11,在一软件实施方式中,该资源部署装置可以包括:

  界面展示单元1101,用于展示资源配置界面,所述资源配置界面中包含对应于可用资源的配置组件;

  参数确定单元1102,用于响应于用户针对其选取的至少一个所述配置组件实施的配置操作,确定所述配置操作指定的针对目标资源的配置参数;

  文件生成单元1103,用于基于所述配置参数生成资源部署文件并将所述资源部署文件提交至服务端,以使所述服务端根据所述资源部署文件生成用于部署所述目标资源的资源部署脚本。

  可选的,还包括:

  信息展示单元1104,用于在所述资源展示界面展示组件提示信息,所述组件提示信息用于指示所述配置组件是否可用和/或所述配置组件所对应多个可用资源之间的关联关系。

  可选的,还包括:

  操作验证单元1105,用于验证所述配置操作是否满足预设的资源配置规则;

  更正提示单元1106,用于在所述配置操作不满足所述资源配置规则的情况下,展示关于所述配置操作的更正提示信息。

  可选的,所述配置操作包括连接多个配置组件以绘制资源架构图的连接操作,所述操作验证单元1105还用于:

  在所述连接操作的实施过程中,检测所述多个配置组件对应的多个可用资源之间是否满足预设的关联性规则;和/或,

  在所述连接操作完成后,根据绘制得到的所述资源架构图,检测所述资源架构图中包含的目标资源是否满足预设的合法性规则。

  可选的,所述参数确定单元1102还用于:

  在所述配置操作存在相应的指定参数值的情况下,将所述配置操作对应的所述目标资源的资源参数设置为所述指定参数值;和/或,

  在所述配置操作不存在所述指定参数值的情况下,将所述配置操作对应的所述目标资源的资源参数设置为预设的默认参数。

  可选的,还包括:

  辅助参数设置单元1107,用于在检测到用户针对所述配置组件实施的辅助配置操作的情况下,为所述目标资源设置所述辅助配置操作指定的辅助部署参数,以使所述服务端基于所述辅助部署参数生成对应于所述目标资源的辅助部署脚本,所述辅助部署脚本用于实现预设的辅助部署功能。

  可选的,所述资源部署文件对应于目标资源架构,所述装置还包括:

  待合并资源架构确定单元1108,用于响应于所述用户针对所述目标资源架构实施的架构合并操作,确定待合并资源架构;

  合并文件生成单元1109,用于根据所述目标资源架构与所述待合并资源架构分别对应的资源部署文件,所述合并部署文件用于生成针对所述目标资源架构与所述待合并资源架构对应的合并后资源架构的合并资源部署脚本,所述合并资源部署脚本用于部署所述目标资源架构与所述待合并资源架构对应的全部目标资源。

  可选的,所述待合并资源架构确定单元1108还用于:

  确定所述用户指定的待合并资源架构;或者,

  在任一资源架构被预先添加有架构分类标识的情况下,将架构分类标识与所述目标资源架构的架构分类标识相同的资源架构确定为所述待合并资源架构。

  可选的,所述合并文件生成单元1109还用于:

  确定所述目标资源架构对应的第一目标资源,以及所述待合并资源架构对应的第二目标资源;

  根据所述第一目标资源与所述第二目标资源的相同部分生成公共部署文件,并根据所述第一目标资源与所述第二目标资源的不同部分分别生成专用部署文件;

  按照预设规则合并所述公共部署文件与所述专用部署文件,以得到所述合并部署文件。

  请参考图12,在另一软件实施方式中,该资源部署装置可以包括:

  文件接收单元1201,用于接收客户端提交的资源部署文件,所述资源部署文件由所述客户端根据用户针对至少一个配置组件实施的配置操作生成,所述资源配置组件被所述客户端展示在资源配置界面中;

  脚本生成单元1202,用于根据所述资源部署文件生成资源部署脚本,所述资源部署脚本用于部署对应于所述至少一个配置组件的目标资源。

  可选的,所述脚本生成单元1202还用于:

  将所述资源部署文件转换为对应于所述目标资源的有向无环图;

  按照所述有向无环图生成所述资源部署脚本。

  可选的,还包括:

  资源信息确定单元1203,用于确定所述目标资源的资源类型和/或资源需求量;

  目标资源验证单元1204,用于访问对应于资源集合的资源管理接口,以验证所述资源集合中的可用资源是否符合所述资源类型,和/或是否满足所述资源需求量。

  可选的,还包括:

  辅助脚本生成单元1205,用于在所述资源部署文件包含对应于所述目标资源的辅助部署参数的情况下,基于所述辅助部署参数生成对应于所述目标资源的辅助部署脚本,所述辅助部署脚本用于实现预设的辅助部署功能。

  上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

  在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。

  内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。

  计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

  还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

  上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

  在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

  应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

  以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

《资源部署方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)