当前位置: 首页 > 专利查询>伊姆西公司专利>正文

使用面向对象语言的资源编排方法和设备技术

技术编号:16918935 阅读:44 留言:0更新日期:2017-12-31 14:39
本公开的实施方式涉及用面向对象语言的资源编排方法、设备和程序。具体而言,本公开公开了一种使用面向对象语言的资源编排方法,包括:创建从面向对象语言中的概念到资源编排的需求的对应关系;创建用于实施设备资源编排的、基于设备对应关系的工作流;以及基于设备对应关系和工作流来实施资源编排。本公开还公开了一种使用面向对象语言的资源编排设备和用于执行一种使用面向对象语言的资源编排方法的步骤的计算机程序产品。

【技术实现步骤摘要】
使用面向对象语言的资源编排方法和设备
本公开的各实施方式总体上涉及资源编排,并且更具体地涉及使用面向对象语言的资源编排方法、设备和计算机程序。
技术介绍
在云时代中,在云资源编排中,对将作为资源被部署和管理的任何项目进行抽象,例如通过可执行代码模板指定它们的细节和部署步骤,并且使用部署引擎来实现部署。例如,OpenstackHeat是一种资源编排工具,其可根据模板部署多种复杂的应用。同样,传统的Puppet也是一种编排语言,其中Puppet代码作为模板来定义应用的部署过程。然而,针对云技术,信息技术(IT)基础结构和软件应用的不断发展的复杂性以及不断缩短的上市时间总是需要更佳的恢复工具。
技术实现思路
根据本公开的一个方面,提供了一种使用面向对象语言的资源编排方法。该方法包括:创建从面向对象语言中的概念到资源编排的需求的对应关系;创建用于实施所述资源编排的、基于所述对应关系的工作流;以及基于所述对应关系和所述工作流来实施所述资源编排。根据本公开的另一方面,提供了一种电子设备。该电子设备包括:处理器;以及存储器,所述存储器被耦合到所述处理器并且存储有供所述处理器执行的指令,所述指令当由所述处理器执行时,使得所述设备:创建从面向对象语言中的概念到资源编排的需求的对应关系;创建用于实施所述资源编排的、基于所述对应关系的工作流;以及基于所述对应关系和所述工作流来实施所述资源编排。根据本公开的另一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行使得机器执行根据本公开的一个方面的一种使用面向对象语言的资源编排方法的步骤。附图说明结合附图并参考以下详细说明,本公开各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施方式。在附图中:图1为根据本公开的实施方式的使用面向对象语言的资源编排方法100的流程图;图2为根据本公开的实施方式的用于实现使用面向对象语言的资源编排方法的计算机设备的框图;以及图3为根据本公开的实施方式的使用面向对象语言的资源编排设备的框图。具体实施方式以下参考附图详细描述本公开的各个示例性实施方式。附图中的流程图和框图示出了根据本公开的各种实施方式的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施方式中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。应当理解,给出这些示例性实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。为了实现更加理想的资源编排技术,基于针对资源编排的一般需求,面向对象(OO)技术被用来实现资源编排,以便最佳地适应上述一般需求。面向对象语言的示例包括但不限于Java、C++、C#,等等。因此,根据本公开的实施例,提供了使用面向对象语言的资源编排技术,包括使用面向对象语言的资源编排方法、装置和程序。通过利用面向对象语言来满足针对资源编排的一般需求,在此所记载的使用面向对象语言的资源编排技术能够构造理想的资源编排工具。同时,由于本公开中所记载的资源编排技术使用了面向对象语言,因此不仅能够使得资源编排工作简洁,还可以在无需修改的情况下实现对利用面向对象语言实现的资源编排技术中的组成部分的重复使用。因此,本公开中所记载的使用面向对象语言的资源编排技术创建了从世界范围内开发者团体所最广泛使用的面向对象语言到资源编排中的不断增加的挑战之间的桥梁。本公开中所记载的使用面向对象语言的资源编排技术满足了资源编排的各种需求,这些需求包括例如从部署时指定到运行时生命周期管理。相比之下,现有技术的资源编排技术要么无法全面满足这些需求,要么具有由于使用独有的语言来编写而无法对使用面向对象语言编写的资源编排工具的组成部分进行重复使用而带来的局限性。以下以云资源为例来描述根据本公开的实施方式的使用面向对象语言的资源编排。然而,本公开所记载的技术方案并不限于云资源的编排。本公开的各实施方式能够结合现在已知的或以后开发的任何其它类型的资源而被实现。对于云资源编排的各种需求,总体而言,可以将它们抽象为以下两个方面。第一方面是部署时需求(记为“C1”),其指示在云资源的部署时每个云资源的细节以及云资源之间的关系,这通常由静态的编排模板加以描述。部署时需求所指示的内容主要用于云资源的部署。第二方面是运行时需求(记为“C2”),它指示在云资源被部署并且系统运行后对云资源执行的操作,这些操作例如包括监控云资源的状态(也被称为云资源的属性)、对云资源进行直接操作以及添加云资源之间的关系(例如,某一云资源到其他云资源的连接)。运行时需求所指示的内容主要用于云资源的生命周期管理。尽管可以将云资源编排的各种需求抽象为以上两个方面,然而,为了更加具体地满足云资源的各种需求,可以将它们更详细地抽象为八个具体需求,这八个需求涵盖云资源部署时的云资源部署自动化以及云资源运行时的生命周期管理,从而形成用于云资源编排的完整特征集。这八个需求描述如下:第一需求(记为“R1”)描述在部署时和运行时的云资源,可以分别对应于部署时需求和运行时需求。其中在部署时的一个云资源模板可以被部署到在运行时的多个运行的实例中。满足第一需求允许跟踪云资源应当如何被部署以及云资源的部署的实例,这是在云资源的部署时和运行时中所有其他需求的基础。第二需求(记为“R2”)描述云资源的属性。这些属性可以是在部署时所需的输入参数(例如,DNS地址、数据库登录等),或者是在运行时可用的输出属性(例如,用于提供服务的IP地址和端口,平均工作量等)。满足第二需求允许使用输入参数来对云资源部署进行定制。更重要的是,第二需求允许查看云资源在运行时的输出属性。例如,当一个Zookeeper云资源被部署并且随后的Cassandra云资源希望连接到该Zookeeper云资源时,该Cassandra云资源将需要使用该Zookeeper云资源的输出属性(即,一对服务地址和端口或者服务地址和端口的列表)以构建它的连接字符串。作为另一示例,当云资源提供了属性“is_healthy”时,用户可以将其构建到类属监控框架中。第三需求(记为“R3”)描述对云资源执行的操作。这些操作在部署时被定义并且可以在运行时被调用。这些操作是对云资源所执行的直接操作,包括普通操作(例如,对云资源的安装和移除)和专有操作(例如,对Cassandra云资源而非对RPM(Redhat包管理)包云资源的扩展)。满足第三需求允许通过调用对云资源执行的操作来在运行时与云资源进行交互。其中,对云资源的安装和移除是用于云资源的部署和重新部署过程的本文档来自技高网...
使用面向对象语言的资源编排方法和设备

【技术保护点】
一种使用面向对象语言的资源编排方法,包括:创建从面向对象语言中的概念到资源编排的需求的对应关系;创建用于实施所述资源编排的、基于所述对应关系的工作流;以及基于所述对应关系和所述工作流来实施所述资源编排。

【技术特征摘要】
1.一种使用面向对象语言的资源编排方法,包括:创建从面向对象语言中的概念到资源编排的需求的对应关系;创建用于实施所述资源编排的、基于所述对应关系的工作流;以及基于所述对应关系和所述工作流来实施所述资源编排。2.根据权利要求1所述的方法,还包括:创建指示所述对应关系和所述工作流的用于资源编排的资源编排模板;以及基于所述资源编排模板来实施所述资源编排。3.根据权利要求1所述的方法,其中所述需求包括:部署时需求,所述部署时需求指示在资源的部署时所述资源的细节以及所述资源之间的关系;以及运行时需求,所述运行时需求指示要在所述部署时之后对所述资源执行的操作。4.根据权利要求3所述的方法,其中所述操作包括以下各项中的至少一项:对所述资源的状态的监控;对所述资源的直接操作;以及对所述资源之间的关系的添加。5.根据权利要求4所述的方法,其中所述直接操作包括对所述资源的安装、移除以及扩展中的至少一项。6.根据权利要求1所述的方法,其中所述需求包括以下至少一项:第一需求,描述资源在所述资源的部署时的静态细节和资源模板;第二需求,描述所述资源的属性;第三需求,描述要在所述部署时之后对所述资源执行的操作;第四需求,描述对所述资源的引用;第五需求,描述所述资源的合成;第六需求,描述所述资源的继承;第七需求,描述所述操作的操作顺序;以及第八需求,描述所述资源编排的事件。7.根据权利要求6所述的方法,其中所述对应关系包括:所述面向对象语言中的概念“类”和概念“对象”与所述第一需求之间的第一对应关系,其中所述概念“类”对应于所述静态细节并且所述概念“对象”对应于所述资源模板;所述面向对象语言中的概念“对象的属性”与所述第二需求之间的第二对应关系;所述面向对象语言中的概念“方法”与所述第三需求和所述第七需求之间的第三对应关系;所述面向对象语言中的概念“对象引用”与所述第四需求和所述第五需求之间的第四对应关系;所述面向对象语言中的概念“继承”与所述第六需求之间的第五对应关系;所述面向对象语言中的概念“事件”与所述第八需求之间的第六对应关系。8.根据权利要求1所述的方法,其中所述资源是云资源。9.一种电子设备,包括:处理器;以及存储器,所述存储器被耦合到所述处理器并且存储有供所述处理器执行的指令,所述指令当由所述处理器执行时,使得所述设备:创建从面向对象语言中的概念...

【专利技术属性】
技术研发人员:赵奕龙曹逾彭麟包捷
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1