云计算环境中的过程的协调的制作方法

文档序号:6533328阅读:131来源:国知局
云计算环境中的过程的协调的制作方法
【专利摘要】管理计算机云资源的方法和系统,包括至少一个数据库、配置为充当编排站点和充当编排管理器的至少一个服务器,其中编排站点配置为从至少一个用户接收至少一个云资源管理计划并且在所述至少一个数据库中存储这至少一个计划。编排管理器配置为从所述至少一个数据库检索所述至少一个计划并且利用至少一个站点控制器执行计划。
【专利说明】云计算环境中的过程的协调

【技术领域】
[0001] 本发明涉及云计算。更具体而言,本发明涉及云计算中过程的协调。

【背景技术】
[0002] 云计算是让用户在由网络连接的基础设施上存储数据和操作计算过程的一种途 径。因而,代替必须购买物理基础设施,用户把过程和数据发送出去,以在其它实体拥有的 基础设施上运行和存储。用户只为他或她期望的数据存储量或处理能力付费。这允许用户 利用(tap)过去在不拥有实际的、物理的和大量计算资源的情况下将不可能的计算资源。 由于有许多资源可用,因此云计算开辟了更大的可能性。但是,就其本质,云计算有如此多 难以高效组织的工具和资源。


【发明内容】

[0003] 管理计算机云资源的系统和方法可以包括,经至少一个充当编排站点的服务器, 从至少一个用户接收至少一个云资源管理计划并且,经这至少一个服务器,把所述至少一 个计划存储在至少一个储存器中并且,经所述至少一个充当编排管理器的服务器,从至少 一个数据库检索所述至少一个计划,并且,经这至少一个服务器,利用至少一个站点控制器 执行该计划。
[0004] 这些的例子还可以包括其中编排站点和编排管理器进一步配置为经分布式消息 传输总线通信。而且,其中通信包括关于所述至少一个计划是否准备好执行的信息。
[0005] 还有其它例子包括其中所述至少一个计划包括至少一组云资源。并且其中所述至 少一个组包括至少一个云资源和关于这至少一个资源的策略。
[0006] 有些例子可以包括其中计划包括关于至少一个组与其它组的交互的信息。而且, 其中计划包括计划的名称。并且其中至少一个站点控制器包括计算机云资源。还有其它可 以包括其中储存器是数据库和云储存器当中至少一种。
[0007] 例子还可以包括其中所述系统和方法包括至少一个云资源管理计划,该计划包括 指令,包括配置主编排驱动至少一个子编排。而且其中云资源包括第三方提供的对象和第 三方提供的云服务当中至少一种。
[0008] 其它实施例包括其中云资源是虚拟机、物理机器、操作系统、存储服务、联网服务 和应用服务,或者是这些的组合。

【专利附图】

【附图说明】
[0009] 为了更好地理解本申请中所描述的实施例,应当结合以下附图参考以下描述,其 中相同的标号贯穿所有附图指对应的部分。
[0010] 图1是根据一些实施例的、创建编排所需的步骤的概述。
[0011] 图2(a)至(C)根据一些实施例、参考云计算中的各种对象示意性地说明了图1的 步骤。
[0012] 图3是图2的扩展,根据一些实施例示出了一个编排如何可以结合(join)到另一 个编排。
[0013] 图4是图2和3的进一步扩展,根据一些实施例示出了驱动其它编排的多层编排。 [0014] 图5是根据一些实施例、这些编排可以在其上运行的系统的示意性概述。
[0015] 图6是说明根据一些实施例、适于和这里所述的编排技术一起使用的云计算系统 的备选结构的示意图。

【具体实施方式】
[0016] 在以下具体描述中,阐述了许多具体的细节,以说明本文档中给出的主题。但是, 对本领域普通技术人员来说将很显然,该主题没有这些确切的具体细节也可以实践。而且, 描述是作为例子提供的而不应当用来限制任何随后要求保护的发明的范围。
[0017] 如今存在许多类型的计算机网络。闭合的和专有的网络、开放的和公共的网络,以 及混合网络。这些网络以允许计算机程序高效运行的方式把计算机服务器和数据库绑到一 起。这种网络的有些实施例被称为"云计算"。经这种网络,诸如互联网,像基础设施、平台 和应用的计算机资源全都可以被客户端用户使用。这种云网络的物理资源可以在各种物理 位置周围散布,但是,通过联网到一起,可以变成更大的资源。各种系统和方法可以用来管 理可以在这种云网络上托管并运行的资源。
[0018] 本文档中描述的技术设法通过允许用户协调他们的云计算以便变得高效、相干、 冗余、相互依赖并且安全,解决这个问题。为了高可用性、监视和持久性,这种"编排"提供 用户定义的系统组件的自动化管理,从而允许用户排除系统故障、管理过程并且在一个计 算云中或者经众多的云创建并协调复杂过程。
[0019] 编排是一种规范,用户可以通过其规定不同的对象或者对其它编排或对象的引 用、在它们之间建立关系并且对它们应用不同类型的策略。这些对象包括但不限于由云提 供的全部第一类特征以及添加到云的云服务扩展。可以规定不同类型的关系。"依赖性"是 关系的一个例子。可以应用不同类型的策略。"高可用性(HA)和自动缩放"是这种策略的 几个例子。用户可以在同一个、多个或公共云上协调若干过程。这些过程可以包括由云提 供的任何功能性/对象。例子:安全性策略、储存协调、联网、实际的CR(包括但不限于虚拟 机、OS容器或实际物理机器的计算资源)、在云上启用的新的云服务/扩展,等等。
[0020] 用户可以创建/添加他自己的编排,这可以包含他期望的对象的杂烩 (potpourri)或者包含对其它编排的引用。用户可以在不同类型的对象/引用之间建立关 系并应用策略例子:HA。在用户创建他的编排之后,他可以启动该编排。当编排启动后,云 对象根据编排中的规范来编排。编排是对象的协调。单个编排甚至可以创建和管理其它编 排。例如,一个主编排可以驱动三个孩子编排,那三孩子编排当中每一个都有它们自己的孩 子,等等,从而产生复合或蘑菇效应。
[0021] 正像对象可以在它们当中和之间具有依赖性一样,整个编排也可以这样。以这种 方式,不仅单独的对象被协调,而且编排、一起运行的更复杂的对象序列也被协调。云管理 员可以以这种方式设置用户和组以及安全性,或者其它过程。不同类型的关系可以在对象 和编排当中和之间定义。用户管理员/用户/开发人员等通常只能规定他/她具有许可的 云对象,记住这点很重要。包括对每个个别云对象的许可、访问、密钥在内的全部现有的安 全性机制都被兑现(honored)。例如:云管理员可以编排用户/组/网络等,而另一个用户 可以编排CR (虚拟机、OS容器等)并且他们可以甚至协调云服务。
[0022] 不同类型的策略可以应用到云对象。策略包括但不限于高可用性(如果它们离 开,则应用不同的策略,例如-在同一个/另一个云上重建它们,等等)、监视(监视对象的 状态)、自动缩放(基于某个标准放大或缩小对象)。云可以提供其自己对这些策略的实现 或者用户/云管理员可以创建定制策略。
[0023] 因此,编排把云计算组件一起绑定到单个、用户可管理的集合中。例如,利用编排, 用户可以关联网络、网络安全性和储存器与计算资源的实例化,其中计算资源包括,但不限 于,虚拟机、OS容器或实际的物理机器。这种实例化可以在由于某种原因终止的情况下自 动重启,可以被监视,或者可以被禁用。此外,用户可以规定依赖性来影响组件如何编排的 顺序。
[0024] 概述
[0025] 概括地说,用于创建编排的步骤在图1中说明。具体而言,用户把相似类型的对象 组合110到一起,产生编排计划或"oplan"。其后,112,用户把一个或多个策略,例如"高可 用性"(HA),添加到具体的oplan。然后,114,用户给oplan添加唯一的标签。一旦这么做 了,用户就添加类似地创建但不同功能的oplan的附加分组,116。在这个阶段,118,用户定 义所添加的oplan之间的关系并且其后,120,创建"编排"。因此,编排是一组对象。如以下 将示出的,它还可以由其它编排作为对象。
[0026] 图2(a)至(c)参考示意性示出的云计算对象说明了这些过程。在图2(a)中,用 户(未示出)把相似类型的对象212a、212b和212c分组到编排计划214中。用户添加了 一个或多个策略,示意性地示为"策略",并且在这个例子中向oplan添加了唯一的标签A。
[0027] 在图2(b)中,用户添加了类似创建但不同功能的其它(在这个说明中是两个) oplan,216和218,每个oplan都具有它们自己的名字(分别是B、C)和"策略"。然后,如图 2(c)中所示,用户定义了分别是oplan 214和216以及216和218之间的关系220和222, 这些关系可以是或者可以不是相同的关系。这导致整个编排224。
[0028] 因此,编排模型代表对象的分组,S卩:〇plan :是以下描述的oplan的完全列出的子 集;status (状态):这个编排的整体状态;及relationship (关系):关系的列表。这定义 了两个或更多个oplan之间的关系。"〇1〈〇2或者〇2>〇1"将暗示〇1应当在〇2之前的次序。 如果依赖性失败,则后续的oplan将不被启动。
[0029] 而且,对于以上所述,很显然,oplan代表用于具体对象的编排计划并且它只作为 编排的一部分存在。它可以包括多个属性,包括:〇bj_type:指对象的类型。它仅仅是用于 系统中其它模型的基本路径。例子:发起计划(Iaunchplan),vservice/vdhcpservice等; objects :obj_type的对象目录或名称的列表。见以下的例子;status ;这个oplan的状态; 及ha_policy :如果用户想要一个对象持久,例如对于实例、发起计划等,则用户可以应用 这里的ha策略。有可能支持3种策略-disablecUmonitor和active,其中disabled (禁 止):意味着对象将完全不被监视。(这是缺省策略);m〇nit〇r (监视):监视对象并且仅仅 在出现错误的时候才报告错误;以及active (活动):监视对象并且,如果其未被发现或者 处于错误状态,不断地尝试再次创建它或者把它带回到健全状态。
[0030] 如图3中所说明的,这个概念甚至可以进一步扩展,使得单个编排,例如参考图2 创建的编排224,可以具有另一个编排310作为对象。如前面那样,这个添加的编排310自 己将在编排级别具有唯一的标签"D"和策略并且还将与参考图2创建的编排224具有既定 的关系312。因而,单个编排可以驱动其它编排。
[0031] 而且,如图4中所说明的,单个主对象410可以驱动编排412,该编排自己可以驱 动其它编排414a、414b和414c。这些编排414a、414b和414c自己可以甚至驱动其它编排 416a和416b,等等,从而创建不断扩张的"蘑菇效应"。
[0032] 用于实现本文档中所述技术的系统在图5中示出。具体而言,系统510有两个主 要的组成部分,即,站点控制器,编排站点512,它用来暴露Web API(例如,REST、SOAP等) 接口 514。它还向诸如数据库(DB) 516的储存器添加编排/从其删除编排并且把它分配给 其中一个编排管理器524。储存器还可以是云储存器。此外,管理器即编排管理器524通过 以Rest风格或者以别的方式管理526对象来管理实际的编排,从而提供"高可用性"(HA)、 监视和其它特征。这个图还示出了多个控制器,站点控制器530。这种公开订阅机制可以在 同一个云上或者跨云存在。
[0033] 图6是说明适于和这里所述的编排技术一起使用的云计算系统的备选结构的示 意图。在这个图中,API,610,用来通过分布负载平衡器630向云620通信。负载平衡器, 630,把服务分布到不同的编排管理器640、642,这两个管理器每个都与分布式数据库系统, 分布式数据仓库,650通信。消息传输服务660在云620上的分布式数据库系统、编排管理 器670、672和负载平衡器630之间以及其它可能的云(未示出)之间协调通信。
[0034] 如以下将更完全描述的,这个系统允许用户把多个对象分组到一起并且编排多个 公用功能,诸如添加/获得/删除/更新;监视状态;提供高可用性;规定不同对象之间的 关系并且自动缩放某些对象,例如,实例和云服务。
[0035] 现在将参考具体的非限制性例子描述以上所述的这种系统和方法的使用。
[0036] 对编排起作用(work with orchestration)
[0037] 如所描述的,编排是为了高可用性、监视和持久性而由用户定义的系统组件的自 动化管理。编排可以经Web API/CLI/n可用,但是它们可以扩展到其它接口。例如,在非 限制性例子中,可以通过web控制台或命令行对编排起作用:web控制台对于基本的简单编 排是足够的。更复杂的编排可以存储在JSON文件中,然后利用nimbula-api命令添加、启 动、停止或删除。
[0038] 这些具体的例子不应当看作是限制。因而,编排可以在任何文档/对象规范语言 中规定,例如:JS0N/YAML/XML等。
[0039] 为了说明,下面探究下列主题:简单编排;用于编排的一般化过程;编排的状态; 组成部分的个数、规定依赖性,以及嵌套编排;在命令行对编排起作用的例子;以及利用 Amazon EC2的编排。虽然这个例子考虑EC2,但是应当指出,单个编排可以跨私有和公共云。 Amazon EC2仅仅是一个例子。之后,还可以探究附加的特征。
[0040] 简单编排
[0041] 一个例子包括启动虚拟机,其机器图像列表的名称和期望的形状是已知的。例如, 从命令行,编排可以如在以下例子中示出的那样启动。
[0042] nimbula-api orchestrate simple/acme/imagelists/lucid 64 medium
[0043] 关于nimbula-api orchestrate simple的完整细节,包括如何规定高可用性策略 和实例个数以及其它编排相关的命令,在The system Command-line Interface Reference 中,该参考物的细节通过引用被结合于此。
[0044] 用于编排的一般化过程
[0045] 对编排起作用的基本说明性过程如下:
[0046] i.创建编排,至少包括以下。为了在命令行上使用,编排存储在JSON格式的文件 中;见"利用Amazon EC2的编排"。[重要的是,这个JSON例子和随后的CLI例子仅仅是可 以实现这个目的的多种方式中的两种。]
[0047] ?它的名称。
[0048] ?它的"高可用性策略" :active、monitor或者none。
[0049] ?要编排的对象的类型,诸如实例配置、虚拟以太网、许可、安全性列表及其它。
[0050] ?依赖于对象类型的附加信息。
[0051] ii.把编排添加到系统。
[0052] iii?启动编排。
[0053] iv.监视、更新、停止或删除编排。
[0054] 策略
[0055] 如以上所指示的,可以规定用于编排的各种策略。[云也可以规定它们自己的策略 并且它们可以应用到oplan。]例如,可以对编排规定三个高可用性策略当中的一个,这影 响它如何被系统管理。高可用性是在平衡问题、故障情形或其它环境变化的情况下编排冗 余过程的能力。它允许在编排中运行的灵活且故障-安全的对象序列。

【权利要求】
1. 一种管理计算机云资源的方法,包括: 经充当编排站点的至少一个服务器,从至少一个用户接收至少一个云资源管理计划; 经所述至少一个服务器,在至少一个储存器中存储所述至少一个计划; 经充当编排管理器的所述至少一个服务器,从至少一个数据库检索所述至少一个计 划;及 经所述至少一个服务器,利用至少一个站点控制器执行该计划。
2. 如权利要求1所述的方法,其中编排站点和编排管理器还配置为经分布式消息传输 总线通信。
3. 如权利要求2所述的方法,其中通信包括关于所述至少一个计划是否准备好执行的 信息。
4. 如权利要求1所述的方法,其中所述至少一个计划包括至少一组云资源。
5. 如权利要求4所述的方法,其中所述至少一组云资源包括至少一个云资源和关于所 述至少一个资源的策略。
6. 如权利要求5所述的方法,其中计划包括关于所述至少一组与其它组的交互的信 肩、。
7. 如权利要求1所述的方法,其中计划包括计划的名称。
8. 如权利要求1所述的方法,其中所述至少一个站点控制器包括云资源。
9. 如权利要求1所述的方法,其中储存器是数据库和云储存器当中至少一种。
10. -种管理计算机云资源的方法,包括: 至少一个储存器, 至少一个服务器,配置为, 从至少一个用户接收至少一个云计算资源编排计划, 其中该云计算资源编排计划包括协调至少一个云资源的计划; 把计划好的云资源分组成相似的类型; 把策略分配给每组云资源; 在至少一个数据库中,存储该云计算资源编排计划; 传达该编排计划准备好执行; 利用至少一个站点协调器协调编排计划的执行, 其中这至少一个站点控制器控制云资源。
11. 如权利要求10所述的方法,其中云资源是虚拟机、物理机器、操作系统、存储服务、 联网服务和应用服务当中的至少一种。
12. -种管理计算机云资源的系统,包括: 至少一个储存器, 至少一个服务器,配置为, 充当编排站点, 其中编排站点配置为从至少一个用户接收至少一个云资源管理计划并且把所述至少 一个计划存储在至少一个数据库中;及 充当编排管理器, 其中编排管理器配置为从所述至少一个数据库检索所述至少一个计划并且利用至少 一个站点控制器执行该计划。
13. 如权利要求12所述的系统,其中编排站点和编排管理器还配置为经分布式消息传 输总线通信。
14. 如权利要求13所述的系统,其中通信包括关于所述至少一个计划是否准备好执行 的信息。
15. 如权利要求12所述的系统,其中所述至少一个计划包括至少一组云资源。
16. 如权利要求15所述的系统,其中所述至少一组云资源包括至少一个云资源和关于 所述至少一个云资源的策略。
17. 如权利要求16所述的系统,其中计划包括关于所述至少一组与其它组的交互的信 肩、。
18. 如权利要求12所述的系统,其中计划包括计划的名称。
19. 如权利要求12所述的系统,其中所述至少一个站点控制器包括云资源。
20. 如权利要求12所述的系统,其中储存器是数据库和云储存器当中至少一种。
21. 如权利要求12所述的系统,其中所述至少一个云资源管理计划包括指令,指令包 括配置主编排驱动至少一个子编排。
22. 如权利要求12所述的系统,其中云资源包括第三方提供的对象和第三方提供的云 服务当中至少一种。
23. 如权利要求10所述的方法,其中云资源是虚拟机、物理机器、操作系统、存储服务、 联网服务和应用服务当中至少两种的组合。
【文档编号】G06F9/50GK104335179SQ201380014746
【公开日】2015年2月4日 申请日期:2013年2月7日 优先权日:2012年2月13日
【发明者】K·帕兰, W·R·万比尔乔恩, V·西德哈, J·尤徳高伊嵚 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1