云资源交付方法、处理器以及存储介质与流程

文档序号:16672908发布日期:2019-01-18 23:42阅读:632来源:国知局
云资源交付方法、处理器以及存储介质与流程

本发明涉及云计算领域,具体而言,涉及一种云资源交付方法、设备、处理器以及存储介质。



背景技术:

当前常见的公有云或私有云平台中进行的云资源交付,大多通过用户自助创建虚机实例并挂载磁盘来实现。但是在企业私有云应用场景中,这样的资源交付申请与业务上线实际使用是存在差异的。而这样的差异无论基于公有云编排工具或者私有云编排工具,都无法解决。

由各个云计算提供商或开源云平台所提供的资源交付功能大多是基于云平台编排工具实现的。从技术角度,这样的编排工具存在如下不足:无法对多云环境异构云资源进行编排和资源交付。例如,公有云服务商a的资源交付工具无法覆盖到私有云或者公有云服务商b的资源交付场景。这是因为各个云平台的服务是割裂开的,而企业多云环境交付则需要基于统一环境进行交付管理。云计算编排与交付工具无法覆盖到云平台之上的操作系统内部资源交付。云计算编排无法记录与识别应用特征,进而无法采用适合业务场景的资源交付策略。

并且,传统的编排工具需要从一个调度编排节点直接连接所有基础设施资源开展配置管理活动,显然从安全策略角度而言是不现实的。

针对上述的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本公开实施例提供了一种云资源交付方法、处理器以及存储介质,以至少解决现有技术的编排工具和资源交付工具所存在的,无法对多云环境异构云资源进行编排和资源交付的问题,以及无法覆盖到云平台之上的操作系统内部资源交付的技术问题。

根据本公开实施例的一个方面,提供了一种云资源交付方法,包括:从终端设备接收请求提供云资源的交付请求;基于交付请求,确定用于提供云资源的云平台以及由云平台执行的用于提供云资源的编排作业;以及生成与编排作业相关联的作业任务信息,并将作业任务信息发送到预先设置的消息队列,其中消息队列能够为云平台访问。

根据本公开实施例的另一个方面,提供了一种云资源交付方法,包括:访问预先设置的远程的消息队列;从消息队列中获取作业任务信息,其中作业任务信息与对云资源进行的编排作业相关,编排作业用于配置云资源;根据作业任务信息,执行用于配置云资源的编排作业;以及向预设装置发送用于获取云资源的云资源信息。

根据本公开实施例的另一个方面,提供了一种云资源交付方法,包括:根据用户的操作,生成请求提供云资源的交付请求,其中交付请求包括关于云资源的配置信息,其中配置信息包括以下所述的至少一项:用于提供云资源的多个云平台的信息,其中多个云平台采用不同的安全策略;用于提供所述云资源的多个云平台信息,其中所述多个云平台为跨越多个地区的私有云;以及云资源的操作系统内部的资源配置;以及将交付请求发送到预先设置的用于对云资源进行统一管理的系统。

根据本公开实施例的另一个方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行上面任意一项所述的方法。

根据本公开实施例的另一个方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上面任意一项所述的方法。

根据本公开实施例的另一个方面,提供了一种资源交付设备,该设备包括:交付请求接收模块,用于从终端设备接收请求提供云资源的交付请求;确定模块,用于基于交付请求,确定用于提供云资源的云平台以及由云平台执行的用于提供云资源的编排作业;以及作业任务信息发送模块,用于生成与编排作业相关联的作业任务信息,并将作业任务信息发送到预先设置的消息队列,其中消息队列能够为云平台访问。

根据本公开实施例的另一个方面,提供了一种云资源交付设备,包括:消息队列访问模块,用于访问预先设置的远程的消息队列;作业任务信息获取模块,用于从消息队列中获取作业任务信息,其中作业任务信息与对云资源进行的编排作业相关,编排作业用于配置云资源;编排作业模块,用于根据作业任务信息,执行用于配置云资源的编排作业;以及信息发送模块,用于向预设装置发送用于获取云资源的云资源信息。

根据本公开实施例的另一个方面,提供了一种云资源交付设备,该设备包括:交付请求生成模块,用于根据用户的操作,生成请求提供云资源的交付请求,其中交付请求包括关于云资源的配置信息,其中配置信息包括以下所述的至少一项:用于提供所述云资源的多个云平台的信息,其中所述多个云平台采用不同的安全策略;用于提供所述云资源的多个云平台的信息,其中所述多个云平台为跨越多个地区的私有云;以及所述云资源的操作系统内部的资源配置;以及交付请求发送模块,用于将交付请求发送到预先设置的对云资源进行统一管理的系统。

根据本公开实施例的另一个方面,提供了一种资源交付设备,包括:第一处理器;以及第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:从终端设备接收请求提供云资源的交付请求;基于交付请求,确定用于提供云资源的云平台以及由云平台执行的用于提供云资源的编排作业;以及生成与编排作业相关联的作业任务信息,并将作业任务信息发送到预先设置的消息队列,其中消息队列能够为云平台访问。

根据本公开实施例的另一个方面,提供了一种资源交付设备,包括:第二处理器;以及第二存储器,与所述第二处理器连接,用于为所述第二处理器提供处理以下处理步骤的指令:访问预先设置的远程的消息队列;从消息队列中获取作业任务信息,其中作业任务信息与对云资源进行的编排作业相关,编排作业用于配置云资源;根据作业任务信息,执行用于配置云资源的编排作业;以及向预设装置发送用于获取云资源的云资源信息。

根据本公开实施例的另一个方面,提供了一种资源交付设备,包括:第三处理器;以及第三存储器,与所述第三处理器连接,用于为所述第三处理器提供处理以下处理步骤的指令:根据用户的操作,生成请求提供云资源的交付请求。其中交付请求包括关于云资源的配置信息,其中配置信息包括以下所述的至少一项:用于提供所述云资源的多个云平台的信息,其中所述多个云平台采用不同的安全策略;用于提供所述云资源的多个云平台的信息,其中所述多个云平台为跨越多个地区的私有云;以及所述云资源的操作系统内部的资源配置;以及将交付请求发送到预先设置的用于编排云资源的编排系统。

从而,通过本公开实施例所述的方案,用户可以根据自己的需求配置所需要的云资源,并且可以实现向用户提供异构云资源的资源交付、云平台之上的操作系统内部资源的交付。解决了现有技术存在的,无法向用户提供异构云资源的资源交付以及不能提供云平台上的操作系统内部资源交付的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是用于实现本申请实施例1所述的云资源交付方法的计算设备的硬件结构框图;

图2是用于实现本申请实施例1所述的云资源交付方法的云资源交付系统的示意图;

图3是根据本申请实施例1所述的云资源编排管理设备和云平台的具体结构的示意图;

图4是根据本申请实施例1的第一个方面所述的云资源交付方法的流程图;

图5是根据本申请实施例1的第二个方面所述的云资源交付方法的流程图;

图6是根据本申请实施例1的第三个方面所述的云资源交付方法的流程图;

图7是根据本申请实施例1所述的云资源交付系统的详细操作的流程图;

图8是根据本申请实施例2的第一个方面的云资源交付设备的示意图;

图9是根据本申请实施例2的第二个方面的云资源交付设备的示意图;

图10是根据本申请实施例2的第三个方面的云资源交付设备的示意图;

图11是根据本申请实施例3的第一个方面的云资源交付设备的示意图;

图12是根据本申请实施例3的第二个方面的云资源交付设备的示意图;以及

图13是根据本申请实施例3的第三个方面的云资源交付设备的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,还提供了一种云资源交付方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在终端设备、服务器或者类似的运算装置中执行。图1示出了一种用于实现云资源交付方法的计算设备(例如服务器或终端设备)的硬件结构框图。如图1所示,计算设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。例如,如果是作为服务器,可以不设置显示器。

应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备10中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的云资源交付方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的云资源交付方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备10的用户界面进行交互。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

此外,参考图2所示,本实施例提供了一种用于实施上述云资源交付方法的系统。如图2所示,该系统包括:云资源编排管理设备220,用于对云平台231~233的云资源进行统一管理;云平台231~233,用于向用户交付所请求的云资源。需要说明的是,终端设备210、云资源编排管理设备220以及云平台231~233均可适用上面所述的硬件结构。

具体地,图3示出了云资源编排管理设备220和云平台231~233的详细构造图。其中云资源编排管理设备220包括资源申请模块221、数据库操作模块222、数据模型构造模块223、编排管理模块224以及消息队列225。此外,为了简化附图,图3中仅仅示出了云平台231的访问路径,但是对于云平台232以及云平台233等其他云平台,也采用与云平台231相同的访问路径。

其中资源申请模块221用于从终端设备210接收用户发出的请求提供云资源的交付请求。其中,交付请求例如包括:用户填写的项目信息、财务信息、使用周期以及组织信息等信息;以及用户选择的云主机套餐、云主机的操作系统、与云资源相关的网络需求、云平台所在的地区、应用云资源的应用类型以及云盘配置等信息。

数据库操作模块222用于将用户发出的交付请求中的数据持久化到交付请求数据库以及将数据模型构造模块223构造的预定格式数据(例如json、xml以及yaml等)持久化到作业跟踪数据库。

其中,交付请求数据库用于存储用户发出的交付请求中的数据。从而用于在对相应的云平台进行编排作业后,比较用户的请求交付的云资源与实际提供的云资源之间的差异。此外,作业跟踪数据库用于存储云资源编排管理设备220以及云平台231~233中的编排作业的日志信息。从而可以将作业完成过程中的数据与状态值进行保存,以便今后进行审计和分析。

数据模型构造模块223支持web服务(webservice,例如restfulapi,soapfulapi,xml-rpc等),用于:基于套餐类型,构造云主机的云主机配置;基于操作系统,选择编排标准化流程模板;基于应用选择网络范围;基于选择的区域,选择正确的云平台认证信息;基于用户的资源申请信息,选择匹配的云盘存储类型;以及根据构造好的数据,生成上面所述的预定格式的数据,同时利用数据库操作模块222将该预定格式数据持久化到作业跟踪数据库。以及调用编排管理模块224中的任务调度接口。

编排管理模块224包括任务调度接口,用于根据用户所申请的云资源的具体配置,生成与云平台231~233的编排作业相关的作业任务信息,并且将生成的作业任务信息发送到消息队列225。

云平台231~233分别包括作业模块321~323,作业模块231~233能够周期性的访问消息队列225,并且获取相应的作业任务信息。从而作业模块231~233基于获取的作业任务信息,并且开启编排作业。其中云平台231~233可以是位于不同地域的多个云平台,或者是不同类型的多个云平台,等等。

在上述运行环境下,参考图4所述,根据本实施例的第一个方面,提供了一种云资源交付方法。其中,云资源交付方法运行于云资源编排管理设备220。参考图4所示,该方法包括:

s410:从终端设备接收请求提供云资源的交付请求;

s420:基于交付请求,确定用于提供云资源的云平台以及由云平台执行的用于提供云资源的编排作业;以及

s430:生成与编排作业相关联的作业任务信息,并将作业任务信息发送到预先设置的消息队列,其中消息队列能够为云平台访问。

具体地,云资源编排管理设备220通过资源申请模块221从终端设备210接收请求提供云资源的交付请求。

然后,云资源编排管理设备220通过编排管理模块224基于所接收的交付请求,从云平台231~233等多个云平台中确定用于提供云资源的云平台,并且确定由这些云平台执行的编排作业。并且编排管理模块224生成与编排作业相关联的作业任务信息。

然后,云资源编排管理设备220通过编排管理模块224将作业任务信息发送到消息队列225中。其中该消息队列255能够通过所确定的提供云资源的云平台所访问。

从而通过这种方式,根据本实施例所述的云资源编排管理设备220在收到用户的交付请求后,并不是直接去访问各个云平台231~233,而是将与各个云平台对应的作业任务信息发送到消息队列225中(即,发布订阅消息)。从而,各个云平台231~233上设置的作业模块321~323可以定期访问消息队列225(即,订阅编排管理模块224)。从而各个云平台231~233的作业模块321~323能够从消息队列225中获取各自的作业任务信息,并且根据从消息队列225中获取的作业任务信息,在各个云平台231~233内发起面向云平台与相关云资源的编排作业。

由此可见,与现有的编排工具不同,本申请的技术方案在向用户提供云资源时,并不需要从一个调度编排节点直接连接所有基础设施资源开展编排作业。而是采用异步编排的方式,将与用户的交付请求相关的作业任务信息发送到消息队列225中。然后,通过各个云平台231~233上运行的作业模块321~323访问该消息队列225,并且获取各自的作业任务信息,从而通过各个作业模块321~323在云平台231~233发起面向云平台与相关资源的编排作业。

由于本实施例不需要云资源编排管理设备220与各个云平台231~233的基础设施资源直接连接,因此也就不需要去跨越不同安全级别的数据中心访问资源,从而可以有效解决现有的云资源编排管理系统所面临的防火墙管理和治理约束方面的问题。从而在本实施例中,只需要在作业模块321~323与消息队列225之间建立网络连接和开通防火墙策略,因此也就简化了防火墙的管理。从而可以为用户提供地域分布广阔的云平台的云资源。从而使得用户可以在全球范围内请求云资源的交付。

其次,由于各个云平台上的编排作业不是通过云资源编排管理设备220来实现,而是通过各个云平台上设置的作业模块321~323来实现的。因此,各个云平台231~233上的编排作业不会因为云资源编排管理设备220与各个云平台之间的网络延迟以及不同云平台的api的差异而受到影响。从而可以为用户提供差异较大的多个云平台上的云资源。

由于本实施例的以上特点,因此本实施例的方案可以对不同类型、不同地区的云平台的资源进行统一的管理和配置,从而能够向用户提供多云环境下的异构云资源的统一编排和交付。

并且,云平台上的作业模块321~323的编排作业也可以覆盖到云平台之上的操作系统内部资源,对操作系统的内部资源进行编排,从而可以根据用户的需求交付编排后的操作系统的内部资源。

从而通过这种方式,解决了现有的编排工具和资源交付工具所存在的,无法对多云环境异构云资源进行统一的编排和资源交付的问题,以及无法在交付过程中覆盖到云平台之上的操作系统内部资源编排的技术问题。

可选地,所确定的云平台包括多个云平台。生成作业任务信息的操作,包括生成与所确定的多个云平台分别对应的多个作业任务信息。以及,将所生成的作业任务信息发送到预先设置的消息队列的操作,包括:将该多个作业任务信息发送到消息队列。

很多情况下,用户发出的请求提供云资源的请求会涉及到从多个云平台交付云资源(例如,根据用户申请资源的分布地域,确定从多个云平台交付云资源)。在这种情况,资源调度设备220通过编排管理模块224生成与多个平台相关的多个作业任务信息,并将多个作业任务信息发送到消息队列225中。从而通过这种方式,可以通过云资源编排管理设备对多个云平台的云资源交付进行统一的配置管理,从而满足了多云环境下的对跨平台的云资源交付的需求。

可选地,消息队列包括多个分别与不同的云平台对应的消息队列,其中将多个作业任务信息发送到消息队列的操作包括:将多个作业任务信息分别发送到与所确定的多个云平台对应的消息队列。

例如,消息队列225可以包括多个消息队列,分别与云平台231~233对应。这样,云平台231~233可以仅仅访问自己的消息队列即可获取作业任务信息。从而,这种方式有利于实现作业任务的管理,提高了云资源交付的效率。

可选地,交付请求还包括与所请求提供的云资源相关的配置信息,并且生成作业任务信息的操作包括:根据配置信息生成与编排作业相关的数据模型,其中数据模型包含与编排作业相关的参数信息;以及根据数据模型,生成作业任务信息。

具体地,云资源编排管理设备220在通过资源申请模块221接收到用户发来的交付请求后,会将交付请求中的配置信息发送至数据模型构造模块223。数据模型构造模块223在接收到配置信息后,会生成与云平台的编排作业相关的数据模型,并将其转换成前面所述的预定格式的数据。具体地,数据模型构造模块223支持web服务(webservice,例如restfulapi,soapfulapi,xml-rpc等),并且执行以下操作:

基于套餐的类型,构造云主机的云主机配置;基于用户选择云主机的操作系统,匹配预先进行安全加固及系统优化的云镜像,以及选择编排标准化流程模板;基于用户选择的应用类型,匹配不同等级的计算资源及存储资源(例如,非生产环境的业务会配置计算能力及存储性能较低的资源);基于应用选择网络范围;基于选择的区域,确定云平台认证信息;基于用户的资源申请信息,选择匹配的云盘存储类型;基于用户选择的平台类型,加载正确的云平台api及认证信息;基于用户的网络需求,分配特定的网络配置信息;基于应用特征,构造数据的时候,注入操作系统编排的任务;以及将构造好的数据,生成上面所述的预定格式的数据。

从而通过这种方式,云平台231~233上的作业模块321~323在访问消息队列225获取作业任务信息时,会从作业任务信息中获取上面所述的预定格式的数据,并且进而获取与所述作业任务信息相关的数据模型。从而根据该数据模型执行对云平台进行编排作业的流程。

可选地,还包括将作业任务信息所包含的至少一部分信息持久化。例如,将上面所述的预定格式的数据持久化到作业跟踪数据库,从而跟踪作业的执行情况。

从而,综上所述,根据本实施例的第一个方面所述的方法,解决了现有的编排工具和资源交付工具所存在的,无法对多云环境异构云资源交付进行统一的管理和编排的技术问题,以及无法覆盖到云平台之上的操作系统内部的资源编排的技术问题。

此外,参考图5所示,根据本实施例的第二个方面,提供了一种云资源交付方法,其中该云资源交付方法运行于各个云平台231~233上,并且通过云平台231~233上的作业模块321~323实现该方法。参考图5所示,该方法包括:

s510:访问预先设置的远程的消息队列;

s520:从消息队列中获取作业任务信息,其中作业任务信息与对云资源进行的编排作业相关,该编排作业用于交付云资源;

s530:根据作业任务信息,执行用于配置云资源的编排作业;以及

s540:向预设装置发送用于获取云资源的云资源信息。

具体地,参考上面所述,云平台231~233上的各个作业模块321~323首先会访问预先设置的远程的消息队列225,从消息队列225中获取由编排管理模块224发送的作业任务信息。然后根据该作业任务信息,作业模块321~323执行面向所在的云平台的编排作业,以便根据作业任务信息配置用户请求提供的云资源。

然后,作业模块321~323向预设装置发送用于获取所配置的云资源的云资源信息。例如,该云资源信息可以是作业模块321~323发送到请求云资源的用户的邮箱的邮件,其中邮件中包括该云资源的id以及ip地址等信息。或者,该云资源信息也可以是作业模块321~323发送至用户的终端设备210上的消息。其中该消息包括该云资源的id以及ip地址等信息。

从而,参考上面所述的,云资源编排管理设备220根据用户请求,将相应的作业任务信息发送的消息队列225中。然后,作业模块321~323从消息队列225中获取作业任务信息,并且发起面向云平台231~233上的云资源的编排作业,从而配置用户所请求的云资源。具体的编排作业的执行流程例如包括:创建虚机、创建云盘并挂载、健康检查和云虚机系统编排等。

通过以上操作,与用户的终端设备210对接的云资源编排管理设备220不再与云平台231~233的基础设施直接连接,同时也不需要云资源编排管理设备220直接编排云平台231~233上的云资源。而是将编排云平台231~233的作业任务信息发送到消息队列225,然后作业模块321~323获取该作业任务信息后,实现编排作业,配置用户所请求的云资源。

从而通过这种方式,解决了现有的编排工具和资源交付工具所存在的,无法对多云环境异构云资源进行统一的编排和资源交付的问题,以及无法在交付过程中覆盖到云平台之上的操作系统内部资源编排的技术问题。

可选地,根据作业任务信息,执行用于配置云资源的编排作业的操作,包括:从作业任务信息中获取与编排作业相关联的数据模型,并且根据数据模型中的参数,执行编排作业。

例如,作业模块321~323会从作业任务信息中获取与编排作业相关的数据模型。其中,该数据模型例如是由数据模型构造模块生成的已经转换为上述预定格式的数据,由编排管理模块224设置于作业任务中,发送到消息队列225。从而云平台231~233上的作业模块321~323可以根据数据模型进行编排作业。

可选地,作业模块321~323可以调用云平台231~233上的api,根据数据模型的参数进行编排作业。或者是作业模块321~323会首先获取与编排作业相关的模板(例如从预设的数据库获取编排脚本模板),然后利用数据模型中的参数填充模板,并且根据填充后的模板执行编排作业。

从而通过这种方式,作业模块321~323可以根据用户从终端设备210发送的具体请求以及云资源编排管理设备220的调度,提供相应的云资源。

可选地,还包括将编排作业配置的云资源的云资源信息进行持久化的操作;以及还包括将作业模块321~323的每一个流程执行的日志记录持久化的操作。

例如,虚机创建完成之后,作业模块321~323可以将执行编排作业的过程中的日志信息以及关于所配置的云资源的信息(例如,创建的虚机的id和ip地址)发送到云资源编排管理设备220中的数据库操作模块222,从而将以上信息存入跟踪数据库,以便将来进行审计和分析。或者,作业模块321~323也可以调用数据库接口,将创建的虚机的id和ip地址回写到预设的审计数据库。同时作业模块321~323会通过工作流模块将每一个流程执行的日志记录到审计数据库对应的审计模块,便于交付失败时的故障排查

此外,参考图6所示,根据本实施例的第三个方面,还提供了一种云资源交付方法,该方法在图2中所示的用户终端210上执行。参考图6所示,该方法包括:

s610:根据用户的操作,生成请求提供云资源的交付请求。其中交付请求包括关于云资源的配置信息,其中配置信息包括以下所述的至少一项:用于提供所述云资源的多个云平台的信息,其中所述多个云平台采用不同的安全策略;用于提供所述云资源的多个云平台的信息,其中所述多个云平台为跨越多个地区的私有云;以及所述云资源的操作系统内部的资源配置;以及

s620:将交付请求发送到预先设置的用于对云资源进行统一管理的系统。

正如前面所述,现有的关于云资源的编排管理设备,由于需要与云平台的基础设施资源直接连接,因此在访问具有不同安全策略的多个云平台时,就需要在采用不同安全策略的云平台之间为该编排管理设备开放管理端口。这对于多个云平台的安全管理来说,是非常难于接受的。但是,通过本申请,由于不需要将云资源编排管理设备220与云平台231~233的基础设施资源进行直接连接,因此也就不需要云平台231~233的安全系统为云编排管理设备220开放端口。从而使得易于实现向用户提供跨越不同安全策略的多个云平台的云资源。

此外,由于跨越多个地区的私有云彼此分割,并且也存在较大的网络延迟或网络闪断。因此如果利用现有技术的编排管理设备进行与云资源的交付相关的编排交付操作,那么在交付过程中网络的不稳定性会使得云资源的交付变得非常困难。但是由于本公开采用的是采用云资源管理设备220进行统一的管理配置,而具体的编排工作则有各个云平台231~233上的作业模块321~323来完成,因此这种情况下关于云资源交付的编排作业可以不受网络延迟或网络闪断等不稳定情况的限制。从而使得用户可以实现对跨越多个地区的私有云的云资源的交付请求。

此外,由于传统的编排管理设备都是直接与云平台进行连接,因此在交付资源时,如果同时还要交付操作系统以及安装配置应用,则需要进一步进行操作系统编排。而这种编排过程将需要开放大量直接访问操作系统管理端口的安全规则。这对于云平台的安全策略来说,是个很大的挑战,从而难于实现。但是本公开的方案由于相应的编排作业都是在云平台231~233上进行,因此在编排过程中,作业模块321~323可以对云平台的操作系统内的资源文件进行编排,并且进行相应的云资源交付。

由此可见,通过本公开的方案,在向用户交付云资源时,可以提供现有技术所不能实现的云资源的配置。解决了现有技术存在的,无法向用户提供异构云资源的资源交付以及不能提供云平台上的操作系统内部资源交付的技术问题,并且,进一步增强了用户使用的便利性。

此外,可选地,将所述交付请求发送到预先设置的用于编排云资源的编排系统的操作,还包括:在发送所述交付请求后预定时间内未收到回应的情况下,重新发送所述交付请求。

从而根据本公开的方法,当用户从终端设备210向编排系统发送交付请求时,如果由于跨区域交付等原因出现网络质量不好从而导致超时或闪断的情况下,终端设备210会自动重新发送交付请求,从而保证了云资源交付过程的稳定性。

此外,可选地,方法还包括:接收与所请求的云资源相关的云资源信息。其中云资源信息用于获取所请求的云资源。

例如,终端210可以接收作业模块321~323发来的消息,其中包含所提供的云资源的id以及ip地址等信息。

从而综上所述,本实施例通过用户的终端设备210、云资源编排管理设备220以及云平台231~233上的作业模块321~323所实现的方法,使得能够向用户交付跨地域的云资源以及交付能够覆盖云平台之上的操作系统内部资源的云资源。从而向用户提供了适合业务场景的资源交付策略。

需要说明的是,尽管在本实施例中云资源编排管理设备220包括资源申请模块221等多个模块,但是这种划分仅仅是示例性的说明。在实际工作中,可以将多个模块结合成一个模块。各个模块之间的组合不受本实施例记载的内容的限制。此外,图7示出了本实施例所述的系统的详细方法流程,参考图2和图3所示,方法流程包括:

s702:用户通过终端设备210向云资源编排管理设备220发出请求提供云资源的交付请求。其中,终端设备210例如根据以下信息生成该交付请求:用户填写的项目信息、财务信息、使用周期以及组织信息等信息;以及用户选择的云主机套餐、云主机的操作系统、与云资源相关的网络需求、云平台所在的地区、应用云资源的应用类型以及云盘配置等信息;

s704:云资源编排管理设备的资源申请模块221接收到用户的交付请求,将交付请求的数据发送到数据模型构造模块223,并且将相应的数据通过数据库操作模块222进行持久化;

s706:数据模型构造模块223根据接收到的交付请求的数据生成数据模型,并且将数据模型中的参数转换为预定格式的数据(例如json、xml以及yaml等),将该预定格式的数据发送到编排管理模块224,并且通过数据库操作模块222发送到作业跟踪数据库进行持久化;

s708:编排管理模块224根据接收的数据模型,生成用于对云平台231~233中的云资源进行编排作业的作业任务信息,并且将作业任务信息发送到消息队列225中;

s710:云平台231~233上的作业模块321~323访问消息队列225,获取相应的作业任务信息;

s712:作业模块321~323完成云资源的编排作业从而配置用户所请求提供的云资源;

s714:作业模块321~323向预设装置(例如客户的终端设备210或者客户的邮箱设备)发送与云资源相关的信息,例如所提供的云资源的id以及ip地址等。

从而通过以上方式,以异步编排的方式,实现了对用户交付云资源的操作。

此外,参考图1所示,根据本实施例的第四方面,提供一种存储介质104,存储介质包括存储的程序,其中,在程序运行时由处理器执行上面任意一项所述的方法。

此外,参考图1所示,根据本实施例的第五个方面,提供一种处理器102,所述处理器用于运行程序,其中,所述程序运行时执行上面任意一项所述的方法。

从而,综上所述,本实施例的技术方案,解决了现有的编排工具和资源交付工具所存在的,无法对多云环境异构云资源进行编排和资源交付的问题,以及无法覆盖到云平台之上的操作系统内部资源编排的技术问题。

实施例2

图8示出了根据本实施例的第一个方面所述的资源交付设备800,该设备800与根据实施例1的第一个方面所述的方法相对应。参考图8所示,该设备800包括:

交付请求接收模块810,用于从终端设备接收请求提供云资源的交付请求;确定模块820,用于基于交付请求,确定用于提供云资源的云平台以及由云平台执行的用于提供云资源的编排作业;以及作业任务信息发送模块830,用于生成与编排作业相关联的作业任务信息,并将作业任务信息发送到预先设置的消息队列,其中消息队列能够为云平台访问。

可选地,所确定的云平台包括多个云平台。并且,其中作业任务信息发送模块830包括:第一作业任务信息生成子模块,用于生成与多个云平台分别对应的多个作业任务信息;以及第一作业任务信息发送子模块,用于将多个作业任务信息发送至消息队列。

可选地,消息队列包括多个分别与不同的云平台对应的消息队列。并且其中第一作业任务信息发送子模块包括作业任务信息发送单元,用于将多个作业任务信息分别发送到与该多个云平台对应的消息队列。

可选地,交付请求还包括与所请求提供的云资源相关的配置信息。并且作业任务信息发送模块830包括:数据模型生成子模块,用于根据配置信息生成与编排作业相关的数据模型,其中数据模型包含与编排作业相关的参数信息;以及第二作业任务信息生成子模块,用于根据数据模型生成作业任务信息。

还包括持久化模块,用于将作业任务信息所包含的至少一部分信息持久化。

图9示出了根据本实施例第二个方面的云资源交付设备900,该设备900与根据实施例1的第二个方面的方法相对应。参考图9所示,该设备900包括:消息队列访问模块910,用于访问预先设置的远程的消息队列;作业任务获取模块920,用于从消息队列中获取作业任务信息,其中作业任务信息与对云资源进行的编排作业相关,编排作业用于配置云资源;编排作业模块930,用于根据作业任务信息,执行用于配置云资源的编排作业;以及信息发送模块940,用于向预设装置发送用于获取云资源的云资源信息。

可选地,编排作业模块930包括编排作业子模块,用于从作业任务信息中获取与编排作业相关联的数据模型,并且根据数据模型中的参数,执行编排作业。

可选地,编排作业模块930还包括接口调用子模块,用于调用所在云平台上的api,根据数据模型的参数进行编排作业。

可选地,还包括:第一持久化模块,用于将编排作业配置的云资源的云资源信息进行持久化;以及第二持久化模块,用于将执行编排作业的每一个流程执行的日志记录持久化。

图10示出了根据本实施例的第三个方面的云交付设备1000,其对应于实施例1第三个方面所述的方法。参考图10所示,该设备1000包括:

交付请求生成模块1010,用于根据用户的操作,生成请求提供云资源的交付请求,其中交付请求包括关于云资源的配置信息,其中配置信息包括以下所述的至少一项:用于提供所述云资源的多个云平台的信息,其中所述多个云平台采用不同的安全策略;用于提供所述云资源的多个云平台的信息,其中所述多个云平台为跨越多个地区的私有云;以及所述云资源的操作系统内部的资源配置;以及交付请求发送模块1020,用于将交付请求发送到预先设置的用于对云资源进行统一管理的系统。

可选地,交付请求发送模块1020还包括:重新发送子模块,用于在发送所述交付请求后预定时间内未收到回应的情况下,重新发送所述交付请求。

可选地,设备1000还包括信息接收模块,用于接收与所请求的云资源相关的云资源信息,其中云资源信息用于获取所请求的云资源。

从而,通过本实施例所述的方案,用户可以根据自己的需求配置所需要的云资源,并且可以实现向用户提供异构云资源的资源交付、云平台之上的操作系统内部资源的交付。解决了现有技术存在的,无法向用户提供异构云资源的资源交付以及不能提供云平台上的操作系统内部资源交付的技术问题。

实施例3

图11示出了根据本实施例的第一个方面所述的资源交付设备1100,该设备1100与根据实施例1的第一个方面所述的方法相对应。参考图11所示,该设备1100包括:第一处理器1110;以及第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:从终端设备接收请求提供云资源的交付请求;基于交付请求,确定用于提供云资源的云平台以及由云平台执行的用于提供云资源的编排作业;以及生成与编排作业相关联的作业任务信息,并将作业任务信息发送到预先设置的消息队列,其中消息队列能够为云平台访问。

可选地,所确定的云平台包括多个云平台。生成作业任务信息的操作,包括生成与所确定的多个云平台分别对应的多个作业任务信息。以及,将所生成的作业任务信息发送到预先设置的消息队列的操作,包括:将该多个作业任务信息发送到消息队列。

可选地,消息队列包括多个分别与不同的云平台对应的消息队列,其中将述多个作业任务信息发送到消息队列的操作,包括:将多个作业任务信息分别发送到与所确定的多个云平台对应的消息队列。

可选地,交付请求还包括与所请求提供的云资源相关的配置信息,并且生成作业任务信息的操作包括:根据配置信息生成与编排作业相关的数据模型,其中数据模型包含与编排作业相关的参数信息;以及根据数据模型包含的参数,生成作业任务信息。

可选地,第一存储器1120提供以下处理步骤的指令:将作业任务信息所包含的至少一部分信息持久化。

图12示出了根据本实施例第二个方面的云资源交付设备1200,该设备1200与根据实施例1的第二个方面所述的方法相对应。参考图12所示,该设备1200包括:第二处理器1210;以及第二存储器1220,与所述第二处理器连接,用于为所述第二处理器提供处理以下处理步骤的指令:访问预先设置的远程的消息队列;从消息队列中获取作业任务信息,其中作业任务信息与对云资源进行的编排作业相关,编排作业用于配置云资源;根据作业任务信息,执行用于配置云资源的编排作业;以及向预设装置发送用于获取云资源的云资源信息。

可选地,执行用于配置云资源的编排作业的操作,包括:从作业任务信息中获取与编排作业相关联的数据模型,并且根据数据模型中的参数,执行编排作业。

可选地,执行用于配置云资源的编排作业的操作,包括:调用所在云平台上的api,根据数据模型的参数进行编排作业。

可选地,存储器1220还提供执行以下操作的指令:将编排作业配置的云资源的云资源信息进行持久化;以及将执行编排作业的每一个流程执行的日志记录持久化。

图13示出了根据本实施例的第三个方面的云交付设备1300,其对应于实施例1第三个方面所述的方法。参考图13所示,该设备1300包括:第三处理器1310;以及第三存储器1320,与所述第三处理器连接,用于为所述第三处理器提供处理以下处理步骤的指令:根据用户的操作,生成请求提供云资源的交付请求。其中交付请求包括关于云资源的配置信息,其中配置信息包括以下所述的至少一项:用于提供所述云资源的多个云平台的信息,其中所述多个云平台采用不同的安全策略;用于提供所述云资源的多个云平台的信息,其中所述多个云平台为跨越多个地区的私有云;以及所述云资源的操作系统内部的资源配置;以及将交付请求发送到预先设置的用于对云资源进行统一管理的系统。

可选地,第三存储器1320还提供执行以下操作的指令:接收与所请求的云资源相关的云资源信息。其中云资源信息用于获取所请求的云资源。

从而,通过本实施例所述的方案,用户可以根据自己的需求配置所需要的云资源,并且可以实现向用户提供异构云资源的资源交付、云平台之上的操作系统内部资源的交付。解决了现有技术存在的,无法向用户提供异构云资源的资源交付以及不能提供云平台上的操作系统内部资源交付的技术问题。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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