CN104731521B - 用于配置数据中心的方法及设备 - Google Patents
用于配置数据中心的方法及设备 Download PDFInfo
- Publication number
- CN104731521B CN104731521B CN201310724704.9A CN201310724704A CN104731521B CN 104731521 B CN104731521 B CN 104731521B CN 201310724704 A CN201310724704 A CN 201310724704A CN 104731521 B CN104731521 B CN 104731521B
- Authority
- CN
- China
- Prior art keywords
- data
- template
- supplier
- configuration
- funcall
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施方式公开了一种用于配置数据中心的方法及设备。该方法包括:基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用;基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动。该方法还包括:通过所述供应商驱动执行所述功能调用而配置所述数据。通过根据本公开的实施方式,基于模板而自动化配置数据中心的方式可以改善数据中心的配置的有效性和安全性。
Description
技术领域
本公开的实施方式总体上涉及数据领域,具体地涉及一种用于配置数据中心的方法及设备。
背景技术
在如今的大数据领域,数据中心在其物理尺寸上变得越来越大。典型的企业数据中心可以包含成百上千的硬件设备,这些硬件设备包括服务器、网络设备和存储阵列等并且可能由不同供应商来提供。然而,不同类型的硬件设备和不同供应商的硬件设备将使得数据中心的配置和预配置变得复杂和低效。
例如,数据中心的预配置或配置可能涉及从软件到硬件的栈和从VM到存储装置的栈。图1图示了典型的应用程序栈100的示意图,其中示出了包括存储装置、物理网络、Nic、服务器、CPU、Mem、盘、虚拟开关、VM、OS、应用在内的多种硬件设备或软件程序。由于虚拟环境中的应用程序栈的预配置或配置需要高度专业的技能,因此将涉及像服务器管理员、网络管理员和存储装置管理员的不同IT角色,他们各自仅负责一个特定的硬件或软件。
基础设施即服务(IaaS)系统(例如OpenStack)的目标在于解决当经由提供集中式管理接口而管理潜在基础设施时的复杂性和低效性。但是,它仅仅提供基本能力并将它们放在一个地方,而不能针对资源栈的预配置和配置提供有效和安全的方式。例如,当将存储产品集成到IaaS环境中并且准备使用时,需要执行许多预备步骤。在OpenStack中,从EMCVNX分配块存储的典型步骤如下:
1、存储管理员安装VNX,并且从物理上将VNX和OpenStack连接起来。
2、存储管理员安装方案使能器并且向方案使能器添加该VNX。
3、系统管理员需要安装Pywbem,它是OpenStack块存储节点上的EMC iSCSI驱动器所使用的python库。
4、系统管理员需要配置Cinder驱动器以连接至VNX。
5、VM管理员需要在VM上安装open iSCSI库。
6、存储管理员需要通过VNX Unisphere注册主机和iSCSIinitiator。
7、存储管理员创建卷并且附接至VM。
8、VM管理员需要发现暴露的VNX iSCSI目标并且执行登陆。
9、VM用户可以使用新的附接的磁盘。
由于这些类型的预配置和配置包含许多步骤并且涉及不同IT角色,因此非常低效并且易于出错,并且可能在整个过程期间带来安全隐患。
发明内容
为此,本公开的实施方式提供了一种用于配置数据中心的方法及设备。
根据本公开的一个方面,提供了一种用于配置数据中心的方法,包括:基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用;基于所述用于配置数据中心的模板获取与所述数据对应的供应商驱动。该方法还包括:通过所述供应商驱动执行所述功能调用而配置所述数据。
在一个实施方式中,基于所述用于配置数据中心的模板,获取与所述数据对应的功能调用包括:针对所述数据中包括的计算数据、网络数据和/或存储数据,分别将所述模板划分为用于配置计算数据的子模板、用于配置网络数据的子模板以及用于配置存储数据的子模板;以及基于所述用于配置计算数据的子模板、所述用于配置网络数据的子模板和/或所述用于配置存储数据的子模板,分别获取与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用。
在一个实施方式中,在基于所述用于配置数据中心的模板,获取与所述数据对应的功能调用之前,包括:基于所述计算数据、所述网络数据和/或所述存储数据的预定配置顺序,确定与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用的执行顺序。
在一个实施方式中,在基于所述计算数据、所述网络数据和/或所述存储数据的预定配置顺序,确定与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用的执行顺序之前,包括:将预定的模板或者由用户所创建的模板存储在模板库中;以及从所述模板库中确定所述用于配置数据中心的模板。
在一个实施方式中,在将预定的模板或者由用户创建的模板存储在模板库中之前,包括:检查所述模板的语法。
在一个实施方式中,在将预定的模板或者由用户创建的模板存储在模板库中之前,包括:校验所述模板的可用资源。
在一个实施方式中,在将预定的模板或者由用户创建的模板存储在模板库中之前,包括:检查所述用户在所述可用资源上的授权。
在一个实施方式中,基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动包括:分别获取所述用于配置计算数据的子模板的模板名称、所述用于配置网络数据的子模板的模板名称和/或所述用于配置存储数据的子模板的模板名称;以及获取与这些模板名称对应的供应商驱动。
在一个实施方式中,基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动包括:分别获取与所述计算数据对应的标识、与所述网络数据对应的标识和/或与所述存储数据对应的标识;以及基于这些标识,查找用于存储这些标识和所述供应商驱动的对应关系的驱动匹配表,以获取所述供应商驱动。
在一个实施方式中,基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动包括:分别获取与所述计算数据对应的供应商驱动的属性、与所述网络数据对应的供应商驱动的属性和/或与所述存储数据对应的供应商驱动的属性;以及获取与所述属性对应的供应商驱动。
根据本公开的另一个方面,提供了一种用于配置数据中心的设备,包括:第一获取装置,用于基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用;第二获取装置,用于基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动;以及配置装置,用于通过所述供应商驱动执行所述功能调用而配置所述数据。
在一个实施方式中,所述第一获取装置包括:划分单元,用于针对所述数据中包括的计算数据、网络数据和/或存储数据,分别将所述模板划分为用于配置计算数据的子模板、用于配置网络数据的子模板以及用于配置存储数据的子模板;以及获取单元,用于基于所述用于配置计算数据的子模板、所述用于配置网络数据的子模板和/或所述用于配置存储数据的子模板,分别获取与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用。
在一个实施方式中,该设备还包括:第一确定装置,用于基于所述计算数据、所述网络数据和/或所述存储数据的预定配置顺序,确定与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用的执行顺序。
在一个实施方式中,该设备还包括:存储装置,用于将预定的模板或者由用户所创建的模板存储在模板库中;以及第二确定装置,用于从所述模板库中确定所述用于配置数据中心的模板。
在一个实施方式中,该设备还包括:第一检查装置,用于检查所述模板的语法。
在一个实施方式中,该设备还包括:校验装置,用于校验所述模板的可用资源。
在一个实施方式中,该设备还包括:第二检查装置,用于检查所述用户在所述可用资源上的授权。
在一个实施方式中,所述第二获取装置包括:第一获取单元,用于分别获取所述用于配置计算数据的子模板的模板名称、所述用于配置网络数据的子模板的模板名称和/或所述用于配置存储数据的子模板的模板名称;以及第二获取单元,用于获取与这些模板名称对应的供应商驱动。
在一个实施方式中,所述第二获取装置包括:第三获取单元,用于分别获取与所述计算数据对应的标识、与所述网络数据对应的标识和/或与所述存储数据对应的标识;以及查找单元,用于基于这些标识,查找用于存储这些标识和所述供应商驱动的对应关系的驱动匹配表,以获取所述供应商驱动。
在一个实施方式中,所述第二获取装置包括:第四获取单元,用于分别获取与所述计算数据对应的供应商驱动的属性、与所述网络数据对应的供应商驱动的属性和/或与所述存储数据对应的供应商驱动的属性;以及第五获取单元,用于获取与所述属性对应的供应商驱动。
通过根据本公开的实施方式,基于模板而自动化配置数据中心的方式可以改善数据中心的配置的有效性和安全性。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施方式的上述以及其它目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1图示了典型的应用程序栈的示意图;
图2图示了根据本公开的实施方式的用于配置数据中心的方法的流程图;
图3图示了根据本公开的实施方式的模板的系统架构的示意图;
图4图示了根据本公开的实施方式的用于配置数据中心的方法的一个示例性实施方式;
图5图示了根据本公开的实施方式的针对步骤S416a、S416b和S416c的一个示例性实施方式;
图6图示了根据本公开的实施方式的通过名称转换的示意图;
图7图示了根据本公开的实施方式的通过驱动匹配表的示意图;
图8图示了根据本公开的实施方式的通过资源模型中明确规定的示意图;
图9图示了根据本公开的实施方式的供应商驱动执行功能调用的示意图;
图10图示了根据本公开的实施方式的针对步骤S416a、S416b和S416c的另一个示例性实施方式;
图11是根据本公开的实施方式的用于配置数据中心的设备的结构框图。
应当注意,附图中的流程图和框图,图示了按照本公开各种实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
具体实施方式
下面将参考附图中示出的若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
根据本公开的一个实施方式,提供了一种用于配置数据中心的方法。图2图示了根据本公开的实施方式的用于配置数据中心的方法的流程图,如图2所示,包括如下的步骤S202至步骤S206。
步骤S202,基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用。
步骤S204,基于用于配置数据中心的模板,获取与该待配置的数据对应的供应商驱动。
步骤S206,通过该供应商驱动执行该功能调用而配置该待配置的数据。
在一个实施方式中,该模板用于描述针对待配置的数据进行配置的配置步骤。该供应商驱动和该功能调用分别是使得待配置的数据的配置得以实现的执行主体和执行客体。在一个实施方式中,该供应商驱动可以是EMC VNX驱动、EMC VMAX驱动、EMC lsilon驱动、NetApp驱动等。在一个实施方式中,该功能调用可以是可执行脚本,它包括所有脚本语言、高层编程语言以及汇编语言等。相比于以往主要通过手工配置数据中心的方式,基于该模板而自动化配置数据中心的方式可以改善数据中心的配置的有效性和安全性。
需要说明的是,在一个实施方式中,步骤S202和步骤S204的顺序是可以交换的。
在详细介绍本公开的实施方式之前,首先将说明两个概念:公共资源模型和模板。
一、公共资源模型是数据中心中的基础设施的抽象集合。该公共资源模型将包括但不限于:物理服务器、管理程序、虚拟机、物理或虚拟网络、物理存储、存储池、LUN、用户、安全组等。一些面向对象的技术可以用来对公共资源模型进行定义:
1、层级。一个资源可以包括另一个资源。例如,存储资源类型“VNX”可以包括称为“存储组”的子存储资源类型。这就是说,将有用于在不同级别中描述一个基础设施的几个资源。
2、聚合。在数据中心中,可以将基础设施划分为几个组、然后划分为几个子组。这一特征被称为“聚合”。为了表示“聚合”,可以使用命名约定来对它进行暗示。例如,如果将“VNX”命名为“存储::VNX”,则它暗示这一资源是存储资源类型。
3、描述性。一个资源将描述一种类型的基础设施,并且由一组属性所组成。由用户给定的该属性是可变的,用于呈现唯一的一个实例。这个实例是资源的实体化。
4、继承。通过继承的特征,可以将资源重用或扩展。另外,每个资源可以从根资源继承例如“类型”、“名称”、“标记”等的公共属性使得模型系统能够更有效。
二、如上文所描述的,模板是具有某些值的资源模型实例的集合。该模板用于描述用户想要在潜在基础设施上针对待配置的数据进行配置或预配置的配置步骤。模板的格式可以是XML、JAON或具有某些语法的其它纯格式。该模板还用于描述(例如存储装置和服务器的)各资源之间的关系。该模板是描述性的,并且呈现基础设施集合的某些状态。
根据本公开的一个实施方式,基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用可以实现如下:针对该数据中包括的计算数据、网络数据和/或存储数据,分别将该模板划分为用于配置计算数据的子模板、用于配置网络数据的子模板以及用于配置存储数据的子模板;以及基于用于配置计算数据的子模板、用于配置网络数据的子模板和/或用于配置存储数据的子模板,分别获取与计算数据对应的功能调用、与网络数据对应的功能调用和/或与存储数据对应的功能调用。在一个实施方式中,基于由上述公共资源模型所描述的计算资源(即计算数据)、网络资源(即网络数据)和存储资源(即存储数据),并且基于用于配置计算数据的子模板、用于配置网络数据的子模板和/或用于配置存储数据的子模板而分别获取功能调用。这样,使得能够更快捷、准确地获取到功能调用。
根据本公开的一个实施方式,在基于用于配置数据中心的模板,获取与该数据对应的功能调用之前,还可以基于计算数据、网络数据和/或存储数据的预定配置顺序,确定与计算数据对应的功能调用、与网络数据对应的功能调用和/或与存储数据对应的功能调用的执行顺序。在一个实施方式中,基于由上述公共资源模型所描述的计算资源(即计算数据)、网络资源(即网络数据)和存储资源(即存储数据)的预定配置顺序,而确定这些功能调用的执行顺序,使得能够按照预定配置顺序来实现数据中心的配置。
根据本公开的一个实施方式,基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动可以实现如下:分别获取用于配置计算数据的子模板的模板名称、用于配置网络数据的子模板的模板名称和/或用于配置存储数据的子模板的模板名称;以及获取与这些模板名称对应的供应商驱动。在一个实施方式中,通过名称转换来获取供应商驱动。在许多情况中,这是默认选项并且易于使用。
根据本公开的一个实施方式,基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动还可以实现如下:获取与计算数据对应的标识、与网络数据对应的标识和/或与存储数据对应的标识;以及基于这些标识,查找用于存储这些标识和供应商驱动的对应关系的驱动匹配表,以获取供应商驱动。在一个实施方式中,通过驱动匹配表来获取供应商驱动。该驱动匹配表不仅仅局限于数据库表,并且还可能有键值存储、属性文件和其它格式。此外,如果没有查找到匹配的供应商驱动,则将随机选择一个供应商驱动。
根据本公开的一个实施方式,基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动还可以实现如下:获取与计算数据对应的供应商驱动的属性、与网络数据对应的供应商驱动的属性和/或与存储数据对应的供应商驱动的属性;以及获取与这些属性对应的供应商驱动。在一个实施方式中,通过在资源模型中明确规定的驱动的属性来获取供应商驱动。这易于快捷、准确地获取供应商驱动。
此外,根据本公开的一个实施方式,对于获得的功能调用,供应商驱动可以按需一个接一个地执行功能调用,也可以在获得所有功能调用之后再执行这些功能调用。
图3图示了根据本公开的实施方式的模板200的系统架构的示意图,如图3所示,该模板主要由两部分组成:模板控制器和模板执行引擎。下面分别对其进行具体描述。
一、模板控制器。模板控制器将管理公共资源模型、模板、用户和用户的ACL。此外,模板控制器将向其它系统或用户提供一些GUI或API接口。该模板控制器包含以下模块:
1、模板管理模块。
在北向接口中,模板管理模块给最终用户或其它系统提供一些GUI或API接口以与潜在模块进行交互,例如,定义新的模板或者从模板库中选择模板并且与一些参数一起执行。在南向接口中,将管理公共资源模型、模板库、调用模板解析模块、以及与用户模块和ACL模块进行交互。
2、公共资源模型
如以上所描述的,这一模型将用来存储所有数据中心的公共资源模型,包括但不限于计算资源、网络资源和存储资源。
3、模板库
该模板库将用来存储所有预先定义的模板或用户所创建的模板。
4、模板解析
该模板解析将用来检查给定模板的语法和执行顺序。另外,该模板解析将对给定模板进行划分:用于配置计算数据的子模板、用于配置网络数据的子模板和用于配置存储数据的子模板。
5、用户模块
该用户模块将存储所有必需的用户信息。除了基本信息之外,它还将存储每个用户具有的资源的类型。该用户模块可以利用其它存在的用户管理系统,例如LDAP。
6、ACL模块
该模块将提供认证和授权机制。此外,该模块可以利用其它存在的管理系统,例如LDAP或OpenStack Keystone工程。
二、模板执行引擎
该模板执行引擎将在潜在计算、网络、存储资源上协调给定模板的执行。它将向模板控制器提供一些API以接受模板与参数一起执行。该模板执行引擎包含以下模块:
1、协调模块
该协调模块用来将每个顺序的子模板向计算模板执行模块、网络模板执行模块和存储模板执行模块进行分派用以执行。
2、计算模板执行模块
该模块将使用可插拔架构以插拔不同特定计算供应商的驱动。用于配置计算数据的子模板将被转换成功能调用并且供应商的驱动将执行对应的功能调用。
3、网络模板执行模块
该模块将使用可插拔架构以插拔不同特定网络供应商的驱动。用于配置网络数据的子模板将被转换成功能调用并且供应商的驱动将执行对应的功能调用。
4、存储模板执行模块
该模块将使用可插拔架构以插拔不同特定存储供应商的驱动。用于配置存储数据的子模板将被转换成功能调用并且供应商的驱动将执行对应的功能调用。
根据本公开的一个实施方式,还可以将预定的模板或者由用户所创建的模板存储在图3中所图示的模板库中;以及从该模板库中确定该用于配置数据中心的模板。在该存储之前,优选地需要执行以下操作中的至少一个操作:检查该模板的语法;校验该模板的可用资源;检查用户在该可用资源上的授权。
图4图示了根据本公开的实施方式的用于配置数据中心的方法的一个示例性实施方式,该示例性实施方式可以基于图3中图示的模板而实现。如图4所示,包括如下的步骤S402至步骤S416。
步骤S402、用户经由模板管理模块来创建模板。该用户在这里可以是最终用户或应用。在所创建的模板中,经由使用公共资源模型来描述想要的计算、网络、存储资源的群的配置。
在步骤S404a和步骤S404b中,模板管理模块将与公共资源模型和模板解析模块进行通信以检查语法并且对执行顺序进行解析。
步骤S406、模板管理模块与用户模块进行通信以检查用户标识并且经由与其它存在的管理系统进行通信来校验它的可用资源是否满足需求。
步骤S408、模板管理模块与ACL模块进行通信以检查在每类资源上用户的授权以校验权限是否足够。例如,一些用户可以预配置存储池具有某些尺寸,但是针对这一用户的FAST政策设置是受限的。
步骤S410、模板管理模块将模板存储至模板库用于进一步重用。
步骤S412、模板管理模块向模板协调模块分派所解析的模板。
在步骤S414a、步骤S414b和步骤S414c中,模板协调模块基于模板执行流的顺序向对应的执行模块分派计算子模板、网络子模板和存储子模板。
在步骤S416a、S416b和S416c中,执行模块将基于模板中所定义的资源来查找正确的供应商驱动,并且然后,供应商驱动将经由它的预先定义的对应的功能调用来执行该模板。
进而,针对步骤S416a、S416b和S416c,下面图5和图10分别示出了两种执行方式。
图5图示了根据本公开的实施方式的针对步骤S416a、S416b和S416c的一个示例性实施方式。如图5所示,包括如下的步骤S502至步骤S506。
步骤S502、模板执行模块查找用于特定资源的供应商驱动
供应商驱动是供应商特定驱动。例如,存储供应商驱动可以是EMC VNX驱动、EMCVMAX驱动、EMC lsilon驱动、NetApp驱动等。该供应商驱动和EMC VNX驱动之间的关系是聚合。
为了找到供应商驱动,前提是在类路径中找到驱动。类路径是编程中的概念,用于对将要载入在这一路径中的存储器中的所有类进行简化,这使得这一路径中的所有类可以相互平均。有三个选项用于找到用于特定资源的供应商驱动。
(1)如图6图示,通过名称转换。在许多情况中,这是默认选项并且易于使用。该执行模块解析子模板并且获得资源模板的名称、通过名称寻找所有驱动类并且对它们进行匹配。
(2)如图7图示,通过驱动匹配表。在该系统中,将有存储有资源标识和驱动的关系的中心表。该表不仅仅限于数据库表,并且还有键值存储、属性文件和其它格式。该执行模块解析该子表,获得资源标识,查询驱动匹配表中的对应的驱动并且通过标识找到驱动。如果没有驱动匹配,则将选择随机驱动。
(3)如图8图示,通过资源模型中明确规定
在资源模型中,通过驱动的属性来规定驱动。该执行模块解析子模板并且读取每个资源的“驱动”属性并且获得正确的驱动。
步骤S504、模板执行模块将模板转换成功能调用
协调模块做出响应以向计算模板执行模块、网络模板执行模块和存储模板执行模块分派每个顺序的模板分节。在那些执行模块获得子模板之后,它们开始将模板转换成功能调用。转换成可执行脚本。在一个实施方式中,执行模块将解析子模板并且将它们转换成第三方可执行脚本,并且本地对其(解析和转换?)经常重复,然后在所有转换完成之后运行这些可执行脚本。该可执行脚本包括所有脚本语言、高层编程语言、汇编语言等。
其中步骤S502和步骤S504的顺序可以交换。
步骤S506、如图9图示,供应商驱动执行功能调用。
图10图示了根据本公开的实施方式的针对步骤S416a、S416b和S416c的另一个示例性实施方式。如图10所示,包括如下的步骤S1002至步骤S1006。需要说明的是,由于步骤S1002和步骤S1006分别与步骤S502和步骤S506相同,因此下面将对步骤S1004进行重点描述。
步骤S1004、模板执行模块一部分接一部分地将模板实时转换成功能调用;同时,供应商驱动一个接一个地执行功能调用。
协调模块做出响应以向计算模板执行模块、网络模板执行模块和存储模板执行模块分派每个顺序的模板分节。在那些执行模块获得子模板之后,它们开始将模板转换成功能调用。在这一方法中,使用实时转换方法。实时转换意味着一部分接一部分地直接将模板解析成对应的功能调用,然后向存储器栈推送功能方法和值。在可运行单元完成之后,这些功能和值将开始运行。
图11是根据本公开的实施方式的用于配置数据中心的设备的结构框图,如图11所示,包括第一获取装置1102、第二获取装置1104和配置装置1106。下面对其结构进行详细描述。
第一获取装置1102,用于基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用;第二获取装置1104,用于基于用于配置数据中心的模板,获取与该数据对应的供应商驱动;以及配置装置1106,连接至第一获取装置1102和第二获取装置1104,用于通过该供应商驱动执行该功能调用而配置所述数据。
在一个实施方式中,该第一获取装置包括:划分单元,用于针对该数据中包括的计算数据、网络数据和/或存储数据,分别将该模板分别划分为用于配置计算数据的子模板、用于配置网络数据的子模板以及用于配置存储数据的子模板;以及获取单元,用于基于该用于配置计算数据的子模板、该用于配置网络数据的子模板和/或该用于配置存储数据的子模板,分别获取与该计算数据对应的功能调用、与该网络数据对应的功能调用和/或与该存储数据对应的功能调用。
在一个实施方式中,该设备还包括:第一确定装置,用于基于该计算数据、该网络数据和/或该存储数据的预定配置顺序,确定与该计算数据对应的功能调用、与该网络数据对应的功能调用和/或与该存储数据对应的功能调用的执行顺序。
在一个实施方式中,该设备还包括:存储装置,用于将预定的模板或者由用户所创建的模板存储在模板库中;以及第二确定装置,用于从该模板库中确定该用于配置数据中心的模板。
在一个实施方式中,该设备还包括:第一检查装置,用于检查该模板的语法。
在一个实施方式中,该设备还包括:校验装置,用于校验该模板的可用资源。
在一个实施方式中,该设备还包括:第二检查装置,用于检查该用户在该可用资源上的授权。
在一个实施方式中,该第二获取装置包括:第一获取单元,用于分别获取该用于配置计算数据的子模板的模板名称、该用于配置网络数据的子模板的模板名称和/或该用于配置存储数据的子模板的模板名称;以及第二获取单元,用于获取与这些模板名称对应的供应商驱动。
在一个实施方式中,该第二获取装置包括:第三获取单元,用于分别获取与该计算数据对应的标识、与该网络数据对应的标识和/或与该存储数据对应的标识;以及查找单元,用于基于这些标识,查找用于存储这些标识和该供应商驱动的对应关系的驱动匹配表,以获取该供应商驱动。
在一个实施方式中,该第二获取装置包括:第四获取单元,用于分别获取与该计算数据对应的供应商驱动的属性、与该网络数据对应的供应商驱动的属性和/或与该存储数据对应的供应商驱动的属性;以及第五获取单元,用于获取与该属性对应的供应商驱动。
综上所述,根据本公开的上述实施方式,公开了一种用于配置数据中心的方法及设备。该方法包括:基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用;基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动。该方法还包括:通过所述供应商驱动执行所述功能调用而配置所述数据。通过根据本公开的实施方式的方式,基于模板而自动化配置数据中心的方式可以改善数据中心的配置的有效性和安全性。虽然已经参考若干具体实施方式描述了本公开,但是应该理解,本公开并不限于所公开的具体实施方式。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (18)
1.一种用于配置数据中心的方法,包括:
基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用;
基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动;以及
通过所述供应商驱动执行所述功能调用而配置所述数据,
其中基于所述用于配置数据中心的模板,获取与所述数据对应的功能调用包括:
针对所述数据中包括的计算数据、网络数据和/或存储数据,分别将所述模板划分为用于配置计算数据的子模板、用于配置网络数据的子模板以及用于配置存储数据的子模板;以及
基于所述用于配置计算数据的子模板、所述用于配置网络数据的子模板和/或所述用于配置存储数据的子模板,分别获取与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用。
2.根据权利要求1所述的方法,其中在基于所述用于配置数据中心的模板,获取与所述数据对应的功能调用之前,包括:
基于所述计算数据、所述网络数据和/或所述存储数据的预定配置顺序,确定与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用的执行顺序。
3.根据权利要求2所述的方法,其中在基于所述计算数据、所述网络数据和/或所述存储数据的预定配置顺序,确定与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用的执行顺序之前,包括:
将预定的模板或者由用户所创建的模板存储在模板库中;以及
从所述模板库中确定所述用于配置数据中心的模板。
4.根据权利要求3所述的方法,其中在将预定的模板或者由用户创建的模板存储在模板库中之前,包括:
检查所述模板的语法。
5.根据权利要求3所述的方法,其中在将预定的模板或者由用户创建的模板存储在模板库中之前,包括:
校验所述模板的可用资源。
6.根据权利要求5所述的方法,其中在将预定的模板或者由用户创建的模板存储在模板库中之前,包括:
检查所述用户在所述可用资源上的授权。
7.根据权利要求1至6中任一项所述的方法,其中基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动包括:
分别获取所述用于配置计算数据的子模板的模板名称、所述用于配置网络数据的子模板的模板名称和/或所述用于配置存储数据的子模板的模板名称;以及
获取与这些模板名称对应的供应商驱动。
8.根据权利要求1至6中任一项所述的方法,其中基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动包括:
分别获取与所述计算数据对应的标识、与所述网络数据对应的标识和/或与所述存储数据对应的标识;以及
基于这些标识,查找用于存储这些标识和所述供应商驱动的对应关系的驱动匹配表,以获取所述供应商驱动。
9.根据权利要求1至6中任一项所述的方法,其中基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动包括:
分别获取与所述计算数据对应的供应商驱动的属性、与所述网络数据对应的供应商驱动的属性和/或与所述存储数据对应的供应商驱动的属性;以及
获取与所述属性对应的供应商驱动。
10.一种用于配置数据中心的设备,包括:
第一获取装置,用于基于用于配置数据中心的模板,获取与待配置的数据对应的功能调用;
第二获取装置,用于基于所述用于配置数据中心的模板,获取与所述数据对应的供应商驱动;以及
配置装置,用于通过所述供应商驱动执行所述功能调用而配置所述数据,
其中所述第一获取装置包括:
划分单元,用于针对所述数据中包括的计算数据、网络数据和/或存储数据,分别将所述模板划分为用于配置计算数据的子模板、用于配置网络数据的子模板以及用于配置存储数据的子模板;以及
获取单元,用于基于所述用于配置计算数据的子模板、所述用于配置网络数据的子模板和/或所述用于配置存储数据的子模板,分别获取与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用。
11.根据权利要求10所述的设备,还包括:
第一确定装置,用于基于所述计算数据、所述网络数据和/或所述存储数据的预定配置顺序,确定与所述计算数据对应的功能调用、与所述网络数据对应的功能调用和/或与所述存储数据对应的功能调用的执行顺序。
12.根据权利要求11所述的设备,还包括:
存储装置,用于将预定的模板或者由用户所创建的模板存储在模板库中;以及
第二确定装置,用于从所述模板库中确定所述用于配置数据中心的模板。
13.根据权利要求12所述的设备,还包括:
第一检查装置,用于检查所述模板的语法。
14.根据权利要求12所述的设备,还包括:
校验装置,用于校验所述模板的可用资源。
15.根据权利要求14所述的设备,还包括:
第二检查装置,用于检查所述用户在所述可用资源上的授权。
16.根据权利要求10至15中任一项所述的设备,其中所述第二获取装置包括:
第一获取单元,用于分别获取所述用于配置计算数据的子模板的模板名称、所述用于配置网络数据的子模板的模板名称和/或所述用于配置存储数据的子模板的模板名称;以及
第二获取单元,用于获取与这些模板名称对应的供应商驱动。
17.根据权利要求10至15中任一项所述的设备,其中所述第二获取装置包括:
第三获取单元,用于分别获取与所述计算数据对应的标识、与所述网络数据对应的标识和/或与所述存储数据对应的标识;以及
查找单元,用于基于这些标识,查找用于存储这些标识和所述供应商驱动的对应关系的驱动匹配表,以获取所述供应商驱动。
18.根据权利要求10至15中任一项所述的设备,其中所述第二获取装置包括:
第四获取单元,用于分别获取与所述计算数据对应的供应商驱动的属性、与所述网络数据对应的供应商驱动的属性和/或与所述存储数据对应的供应商驱动的属性;以及
第五获取单元,用于获取与所述属性对应的供应商驱动。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310724704.9A CN104731521B (zh) | 2013-12-23 | 2013-12-23 | 用于配置数据中心的方法及设备 |
US14/568,740 US9542205B2 (en) | 2013-12-23 | 2014-12-12 | Configuring a data center |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310724704.9A CN104731521B (zh) | 2013-12-23 | 2013-12-23 | 用于配置数据中心的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731521A CN104731521A (zh) | 2015-06-24 |
CN104731521B true CN104731521B (zh) | 2018-02-16 |
Family
ID=53455458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310724704.9A Active CN104731521B (zh) | 2013-12-23 | 2013-12-23 | 用于配置数据中心的方法及设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9542205B2 (zh) |
CN (1) | CN104731521B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112217747A (zh) | 2016-08-03 | 2021-01-12 | 华为技术有限公司 | 网络接口卡、计算设备以及数据包处理方法 |
EP3340064B1 (en) | 2016-08-03 | 2020-12-02 | Huawei Technologies Co., Ltd. | Network interface card, computer device and data packet processing method |
CN108063680B (zh) * | 2016-11-09 | 2021-08-17 | 深圳市太易云互联科技有限公司 | 资源分配控制方法和装置 |
CN108172249B (zh) * | 2017-12-22 | 2021-09-17 | 湖南国科微电子股份有限公司 | 一种NAND Flash访问操作方法、装置及系统 |
CN109150609B (zh) * | 2018-08-28 | 2021-06-15 | 郑州云海信息技术有限公司 | 一种openstack网络系统规范化命名的安全组配置方法 |
US11588753B2 (en) * | 2019-12-20 | 2023-02-21 | Alibaba Group Holding Limited | Methods and systems for generating deployment architecture and template |
CN111679893A (zh) * | 2020-04-23 | 2020-09-18 | 平安科技(深圳)有限公司 | 运行系统构建方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014061A (zh) * | 2007-01-26 | 2007-08-08 | 华为技术有限公司 | 测试脚本的生成方法及装置和测试方法及装置及系统 |
CN101141467A (zh) * | 2007-10-31 | 2008-03-12 | 杭州华三通信技术有限公司 | 配置方法及系统 |
CN101355436A (zh) * | 2007-07-24 | 2009-01-28 | 中兴通讯股份有限公司 | 一种基于模板快速配置数据的系统及实现方法 |
CN102460393A (zh) * | 2009-05-01 | 2012-05-16 | 思杰系统有限公司 | 用于在虚拟存储资源之间建立云桥的系统和方法 |
US8230384B1 (en) * | 2006-03-30 | 2012-07-24 | Emc Corporation | Techniques for generating and processing a schema instance |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040093342A1 (en) * | 2001-06-27 | 2004-05-13 | Ronald Arbo | Universal data mapping system |
US7082460B2 (en) * | 2002-04-19 | 2006-07-25 | Axeda Corporation | Configuring a network gateway |
US8478849B2 (en) * | 2004-12-07 | 2013-07-02 | Pure Networks LLC. | Network administration tool |
GB2435362B (en) * | 2006-02-20 | 2008-11-26 | Cramer Systems Ltd | Method of configuring devices in a telecommunications network |
US20090024498A1 (en) * | 2007-07-20 | 2009-01-22 | Berezuk John F | Establishing A Financial Market Data Component In A Financial Market Data System |
US20090287913A1 (en) * | 2008-05-15 | 2009-11-19 | Honeywell International Inc. | Apparatus and method for configuring switches, routers, and other configurable devices |
JP6024168B2 (ja) * | 2012-04-10 | 2016-11-09 | セイコーエプソン株式会社 | データ処理装置、記録装置、および、データ処理装置の制御方法 |
-
2013
- 2013-12-23 CN CN201310724704.9A patent/CN104731521B/zh active Active
-
2014
- 2014-12-12 US US14/568,740 patent/US9542205B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8230384B1 (en) * | 2006-03-30 | 2012-07-24 | Emc Corporation | Techniques for generating and processing a schema instance |
CN101014061A (zh) * | 2007-01-26 | 2007-08-08 | 华为技术有限公司 | 测试脚本的生成方法及装置和测试方法及装置及系统 |
CN101355436A (zh) * | 2007-07-24 | 2009-01-28 | 中兴通讯股份有限公司 | 一种基于模板快速配置数据的系统及实现方法 |
CN101141467A (zh) * | 2007-10-31 | 2008-03-12 | 杭州华三通信技术有限公司 | 配置方法及系统 |
CN102460393A (zh) * | 2009-05-01 | 2012-05-16 | 思杰系统有限公司 | 用于在虚拟存储资源之间建立云桥的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104731521A (zh) | 2015-06-24 |
US9542205B2 (en) | 2017-01-10 |
US20150205624A1 (en) | 2015-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731521B (zh) | 用于配置数据中心的方法及设备 | |
CN109688120B (zh) | 基于改进RBAC模型及Spring Security框架的动态权限管理系统 | |
CN106020940B (zh) | 用于确定数据集的放置的存储层级的方法和系统 | |
CN108614716B (zh) | 用于指定基于云的部署的配置的高级语言 | |
CN106528424B (zh) | 基于后台系统服务或接口的测试方法和测试平台 | |
WO2018006789A1 (zh) | 一种参数校验方法和装置、以及网管服务器和计算机存储介质 | |
US10528528B2 (en) | Supporting multi-tenant applications on a shared database using pre-defined attributes | |
CN108462746A (zh) | 一种基于openstack的容器部署方法及架构 | |
CN104428760A (zh) | 管理多租户云服务 | |
CN107003906A (zh) | 云计算技术部件的类型到类型分析 | |
CN104246741A (zh) | 编制混合云服务 | |
CN104079436A (zh) | 一种跨设备跨协议的epon网络中的网元管理系统 | |
CN104428808A (zh) | 管理混合云服务 | |
US20220006698A1 (en) | System and method for building idempotent configuration management modules for a cloud infrastructure service | |
CN108984567A (zh) | 一种业务数据管理系统及方法 | |
JP2015512091A (ja) | クラウドコンピューティング環境におけるプロセスの調整 | |
US20240015071A1 (en) | Method and apparatus for holistic rendering of cloud network configuration | |
US11019073B2 (en) | Application-agnostic resource access control | |
CN106873957A (zh) | 一种业务流程的处理方法和设备 | |
CN106663023A (zh) | 对云应用中的虚拟机进行分组 | |
US10091058B2 (en) | Method and apparatus for model-driven, affinity-based, network functions | |
US11308086B2 (en) | Increasing database performance through query aggregation | |
US20140309970A1 (en) | Managing a model having an object cycle | |
US10243798B2 (en) | Variable SNMP data collection with embedded queries | |
CN109144512B (zh) | 一种生成api的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200409 Address after: Massachusetts, USA Patentee after: EMC IP Holding Company LLC Address before: Massachusetts, USA Patentee before: EMC Corp. |