CN112015560B - 一种用于构建it基础设施的装置 - Google Patents

一种用于构建it基础设施的装置 Download PDF

Info

Publication number
CN112015560B
CN112015560B CN202010936005.0A CN202010936005A CN112015560B CN 112015560 B CN112015560 B CN 112015560B CN 202010936005 A CN202010936005 A CN 202010936005A CN 112015560 B CN112015560 B CN 112015560B
Authority
CN
China
Prior art keywords
infrastructure
blueprint
data
resource
adapter
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
Application number
CN202010936005.0A
Other languages
English (en)
Other versions
CN112015560A (zh
Inventor
吴志明
邢森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Caituo Cloud Computing Shanghai Co ltd
Original Assignee
Caituo Cloud Computing Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Caituo Cloud Computing Shanghai Co ltd filed Critical Caituo Cloud Computing Shanghai Co ltd
Priority to CN202010936005.0A priority Critical patent/CN112015560B/zh
Publication of CN112015560A publication Critical patent/CN112015560A/zh
Application granted granted Critical
Publication of CN112015560B publication Critical patent/CN112015560B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本发明公开一种用于构建IT基础设施的装置。所述装置包括依次相连的设计器、转换器、解析器、执行器和适配器,设计器用于提供所见即所得的操作界面、生成设计蓝图,转换器用于将设计蓝图转换为资源蓝图,解析器用于基于资源蓝图和资源状态文件生成执行计划,执行器用于按照执行计划调用适配器构建IT基础设施,适配器用于将执行器的构建动作适配到不同的云环境中。本发明解决了目前云环境下IT基础设施构建过程不直观、繁琐、无法批量申请,构建以后资源缺少管理维度,无法及时释放资源等问题。

Description

一种用于构建IT基础设施的装置
技术领域
本发明属于IT(Internet,互联网)云计算技术领域,具体涉及一种用于构建IT基础设施的装置。
背景技术
随着IT技术的发展,云计算伴随着互联网、IDC(Internet Data Center,互联网数据中心)的发展而逐步发展起来。IT系统运行的基础设施从传统的“物理设备”过渡到了“云化基础设施”,如计算资源、存储资源、网络资源、各种软件中间件等,其构建过程也从传统的物理施工、连线、部署、调试,转变为通过云控制台(GUI、CLI)以表单的方式构建IT基础设施。
根据RightScale发布的2020年度云状态报告,绝大多数企业用户已经投资了多个云平台,包括公有云和私有云。87%的受访者使用混合云,6%使用多个公有云,6%使用单一公有云,1%使用单一私有云。IT基础设施向多云平台架构形态的演变。
现代的IT系统都非常庞大,包括数据库、消息中间件、Web服务器、应用服务器、文件存储服务器涉及到复杂的资源类型和庞大的资源数量,特别是微服务的应用加剧了资源种类和数量的膨胀。传统云控制台通过表单方式提交资源申请,用户构建IT基础设施时没有一个直观的工具,也不可以批量申请资源。特别是,在资源交付以后,没有一个管理维度对资源进行管理、监控,退订过程非常繁琐,可能会有空闲资源长时间不释放,造成大量的资源浪费。
发明内容
为了解决现有技术中存在的上述问题,本发明提出一种用于构建IT基础设施的装置。
为实现上述目的,本发明采用如下技术方案:
一种用于构建IT基础设施的装置,其特征在于,包括依次相连的设计器、转换器、解析器、执行器和适配器;其中:
设计器,用于生成所见即所得的操作界面,生成以图形化方式呈现IT基础设施的设计蓝图,进行IT基础设施构建时,根据业务需求从设计器的工具库中将表示IT基础设施模型的图标拖至设计蓝图上,所述模型是基于IT基础设施的元数据和代码建立的;
转换器,用于将设计蓝图转换成资源蓝图,资源蓝图是一个以代码方式保存IT基础设施的数据库;
解析器,用于基于资源蓝图和资源状态文件生成对IT基础设施进行数据新增、变更和删除操作的执行计划,资源状态文件是保存IT基础设施构建过程数据的数据库;
执行器,用于通过调用适配器按照执行计划构建IT基础设施;
适配器,用于将执行器的构建动作适配到不同的云环境中。
与现有技术相比,本发明具有以下有益效果:
本发明提出的一种用于构建IT基础设施的装置,通过设置依次相连的设计器、转换器、解析器、执行器和适配器,设计器提供所见即所得操作界面,转换器将设计蓝图转换为资源蓝图,解析器基于资源蓝图生成执行计划,执行器调用适配器构建IT基础设施,适配器将执行器的构建动作适配到不同的云环境中,能够实现云环境下IT基础设施的构建,解决了目前云环境下IT基础设施构建过程不直观、繁琐、无法批量申请,构建以后资源缺少管理维度,无法及时释放资源等问题。
附图说明
图1为本发明实施例一种用于构建IT基础设施的装置的结构示意图;
图2为本发明另一实施例生成执行计划的流程图。
图1中:1-设计器,2-转换器,3-解析器,4-执行器,5-适配器。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明实施例一种用于构建IT基础设施的装置,如图1所示,所述装置包括依次相连的设计器1、转换器2、解析器3、执行器4和适配器5;其中:
设计器1,用于生成所见即所得的操作界面,生成以图形化方式呈现IT基础设施的设计蓝图,进行IT基础设施构建时,根据业务需求从设计器1的工具库中将表示IT基础设施模型的图标拖至设计蓝图上,所述模型是基于IT基础设施的元数据和代码建立的;
转换器2,用于将设计蓝图转换成资源蓝图,资源蓝图是一个以代码方式保存IT基础设施的数据库;
解析器3,用于基于资源蓝图和资源状态文件生成对IT基础设施进行数据新增、变更和删除操作的执行计划,资源状态文件是保存IT基础设施构建过程数据的数据库;
执行器4,用于通过调用适配器5按照执行计划构建IT基础设施;
适配器5,用于将执行器4的构建动作适配到不同的云环境中。
在本实施例中,所述装置主要由设计器1、转换器2、解析器3、执行器4和适配器5组成。下面分别介绍每个模块的功能:
设计器1主要用于提供所见即所得(WYSIWYG)操作界面。设计器1生成的以图形化方式呈现IT基础设施的设计蓝图,就好比一块画布,在进行IT基础设施构建时,可将需要的IT基础设施的图标从设计器1的工具库中拖到这块画布上。每个图标表示一个基于元数据和代码建立的IT基础设施的模型。
转换器2主要用于把设计蓝图转换成资源蓝图。资源蓝图是一个以代码方式保存IT基础设施的数据库。转换器2通过从设计蓝图中提取IT基础设施的模型和属性,并以DSL语言的形式进行存储,将设计蓝图转换成资源蓝图。转换器2输出的DSL语言支持数字(整数、浮点)、字符串、数组、键值对、变量引用数据类型,具备安全的类型检查机制。
解析器3主要用于生成构建IT基础设施的执行计划。执行计划主要包括对IT基础设施的数据进行新增、变更和删除的操作。解析器3基于资源蓝图和资源状态文件生成执行计划。资源状态文件是保存IT基础设施构建过程数据的数据库。执行计划以JSON结构存储,可以导出到外部存储器。
执行器4主要用于按照执行计划构建IT基础设施。执行器4通过调用适配器5进行执行计划中的新增、变更和删除操作。
适配器5主要用于将执行器4的构建动作适配到不同的云环境中。为适配不同的云商需采用不同的适配器5。适配器5以IPC(Inter-Process Communication,进程间通信)方式与执行器4、解析器3进行通讯。每个适配器5必须具有查询、新增、变更、差异比较、删除等功能。
作为一种可选实施例,所述设计蓝图采用XML语言;设计蓝图的基本信息包括设计蓝图的版本、名称和作者;设计蓝图的元素包括IT基础设施的类型、属性和图标,以及图标的坐标数据、图标之间的关联关系。
本实施例给出了设计蓝图采用的语言、设计蓝图的基本信息和包含的元素。在本实施例中,设计蓝图采用XML(Extensible Markup Language,可扩展标记语言)语言。XML是一种用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。设计蓝图的基本信息一般包括设计蓝图的版本、名称和作者。设计蓝图的元素主要是IT基础设施的类型、属性和图标,以及图标的坐标数据(X,Y)、图标之间的关联关系等。
作为一种可选实施例,所述解析器3按照以下步骤生成执行计划:
S101、分别将资源蓝图和资源状态文件转换成表格Rtable和Stable
S102、读取Rtable中的第i个数据Ri={IDRi,attrRi},IDRi为Ri的唯一标识,attrRi为属性,如果资源状态文件中不包含IDRi,转S103;否则,从Stable中删除RS={IDRi,attrRS},attrRS为属性,比较Ri和RS的属性差异diffRi-RS,转S104;
S103、在差异表中记录表示新增操作的命令{action=create,data={IDRi,attrRi}},差异表用于记录执行计划的操作命令;转S102,直到处理完Rtable中的所有数据;
S104、在差异表中记录表示更新操作的命令{action=change,data={IDRi,diffRi-RS}};转S102,直到处理完Rtable中的所有数据;
S105、读取Stable中的第j个数据Stable-j,在差异表中依次增加表示删除操作的命令{action=delete,data={IDRS}},IDRS=Stable-j;重复执行S105,直到处理完Stable中的所有数据。
本实施例给出了由解析器3生成执行计划的一种技术方案。参见附图2的流程图。生成执行计划的过程实际上就是在差异表中记录新增操作命令{action=create,data={IDRi,attrRi}}、更新操作的命令{action=change,data={IDRi,diffRi-RS}}和删除操作命令{action=delete,data={IDRS}}的过程。生成新增和更新操作命令的方法是:遍历资源蓝图的每个数据Ri={IDRi,attrRi},如果资源状态文件不包含Ri的唯一标识IDRi,则在差异表中记录新增操作命令;否则,先计算Ri与资源状态文件中标识为IDRi的数据RS的属性差异diffRi-RS,然后在差异表中记录更新操作命令。新增和更新操作命令生成后再生成删除操作命令。删除操作是针对资源状态文件的,删除操作的功能是删除执行完所有新增和更新操作命令后资源状态文件中的数据。因此,生成删除操作命令的方法是:遍历资源状态文件的每一个数据Stable-j,针对每一个Stable-j在差异表中记录一个删除数据Stable-j的命令。最后,解析器3把差异表保存成执行计划数据结构。
作为一种可选实施例,所述执行器4还对差异表进行资源依赖分析,把对构建次序有依赖关系的IT基础设施放到相同的执行队列中并进行拓扑排序;针对每个执行队列启动一个线程操作,调用适配器5构建IT基础设施;每个IT基础设施构建完毕后将适配器5返回的数据写入到新的资源状态文件中。
本实施例给出了执行器4按照执行计划构建IT基础设施的更具体的技术方案。执行器4对差异表进行资源依赖分析,即分析IT基础设施之间的依赖关系并进行拓扑排序,把对构建次序有依赖关系的IT基础设施放到相同的执行队列中,然后针对每个执行队列启动一个线程操作,调用适配器5通过执行新增、变更、删除操作构建IT基础设施。构建完一个IT基础设施后,将适配器5返回的数据写入到新的资源状态文件中,也就是说,一个IT基础设施对应一个资源状态文件。
上述仅对本发明中的几种具体实施例加以说明,但并不能作为本发明的保护范围,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,均应认为落入本发明的保护范围。

Claims (3)

1.一种用于构建IT基础设施的装置,其特征在于,所述装置包括依次相连的设计器、转换器、解析器、执行器和适配器;其中:
设计器,用于生成所见即所得的操作界面,生成以图形化方式呈现IT基础设施的设计蓝图,进行IT基础设施构建时,根据业务需求从设计器的工具库中将表示IT基础设施模型的图标拖至设计蓝图上,所述模型是基于IT基础设施的元数据和代码建立的;
转换器,用于将设计蓝图转换成资源蓝图,资源蓝图是一个以代码方式保存IT基础设施的数据库;
解析器,用于基于资源蓝图和资源状态文件生成对IT基础设施进行数据新增、变更和删除操作的执行计划,资源状态文件是保存IT基础设施构建过程数据的数据库;
执行器,用于通过调用适配器按照执行计划构建IT基础设施;
适配器,用于将执行器的构建动作适配到不同的云环境中;
所述解析器按照以下步骤生成执行计划:
步骤1,分别将资源蓝图和资源状态文件转换成表格Rtable和Stable
步骤2,读取Rtable中的第i个数据Ri={IDRi,attrRi},IDRi为Ri的唯一标识,attrRi为属性,如果资源状态文件中不包含IDRi,转步骤3;否则,从Stable中删除RS={IDRi,attrRS},attrRS为属性,比较Ri和RS的属性差异diffRi-RS,转步骤4;
步骤3;在差异表中记录表示新增操作的命令{action=create,data={IDRi,attrRi}},差异表用于记录执行计划的操作命令;转步骤2,直到处理完Rtable中的所有数据;
步骤4,在差异表中记录表示更新操作的命令{action=change,data={IDRi,diffRi-RS}};转步骤2,直到处理完Rtable中的所有数据;
步骤5,读取Stable中的第j个数据Stable-j,在差异表中依次增加表示删除操作的命令{action=delete,data={IDRS}},IDRS=Stable-j;重复执行步骤5,直到处理完Stable中的所有数据。
2.根据权利要求1所述的用于构建IT基础设施的装置,其特征在于,所述设计蓝图采用XML语言;设计蓝图的基本信息包括设计蓝图的版本、名称和作者;设计蓝图的元素包括IT基础设施的类型、属性和图标,以及图标的坐标数据、图标之间的关联关系。
3.根据权利要求1所述的用于构建IT基础设施的装置,其特征在于,所述执行器还对差异表进行资源依赖分析,把对构建次序有依赖关系的IT基础设施放到相同的执行队列中并进行拓扑排序;针对每个执行队列启动一个线程操作,调用适配器构建IT基础设施;每个IT基础设施构建完毕后将适配器返回的数据写入到新的资源状态文件中。
CN202010936005.0A 2020-09-08 2020-09-08 一种用于构建it基础设施的装置 Active CN112015560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010936005.0A CN112015560B (zh) 2020-09-08 2020-09-08 一种用于构建it基础设施的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010936005.0A CN112015560B (zh) 2020-09-08 2020-09-08 一种用于构建it基础设施的装置

Publications (2)

Publication Number Publication Date
CN112015560A CN112015560A (zh) 2020-12-01
CN112015560B true CN112015560B (zh) 2023-12-26

Family

ID=73516610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010936005.0A Active CN112015560B (zh) 2020-09-08 2020-09-08 一种用于构建it基础设施的装置

Country Status (1)

Country Link
CN (1) CN112015560B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839821A (zh) * 2021-10-14 2021-12-24 京东科技信息技术有限公司 部署集群和构建基础设施的方法、装置、系统、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761162A (zh) * 2014-01-11 2014-04-30 深圳清华大学研究院 分布式文件系统的数据备份方法
CN104813285A (zh) * 2012-12-03 2015-07-29 惠普发展公司,有限责任合伙企业 应用与基础设施蓝图的结合
CN105847040A (zh) * 2016-03-18 2016-08-10 国家电网公司 一种基于拓扑发现的资源对象修正方法
CN107908419A (zh) * 2017-10-27 2018-04-13 珠海金山网络游戏科技有限公司 一种基于差异的AssetBundle更新方法及装置
CN109327553A (zh) * 2018-12-06 2019-02-12 郑州云海信息技术有限公司 一种面向IaaS云平台的运营管理系统及方法
CN111406383A (zh) * 2017-12-14 2020-07-10 国际商业机器公司 混合云组成的协调引擎蓝图方面
CN111552471A (zh) * 2020-04-07 2020-08-18 电科云(北京)科技有限公司 混合云环境下的任务编排方法及系统
CN111580832A (zh) * 2020-04-29 2020-08-25 电科云(北京)科技有限公司 应用于异构多云环境的应用发布系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052961B2 (en) * 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104813285A (zh) * 2012-12-03 2015-07-29 惠普发展公司,有限责任合伙企业 应用与基础设施蓝图的结合
CN103761162A (zh) * 2014-01-11 2014-04-30 深圳清华大学研究院 分布式文件系统的数据备份方法
CN105847040A (zh) * 2016-03-18 2016-08-10 国家电网公司 一种基于拓扑发现的资源对象修正方法
CN107908419A (zh) * 2017-10-27 2018-04-13 珠海金山网络游戏科技有限公司 一种基于差异的AssetBundle更新方法及装置
CN111406383A (zh) * 2017-12-14 2020-07-10 国际商业机器公司 混合云组成的协调引擎蓝图方面
CN109327553A (zh) * 2018-12-06 2019-02-12 郑州云海信息技术有限公司 一种面向IaaS云平台的运营管理系统及方法
CN111552471A (zh) * 2020-04-07 2020-08-18 电科云(北京)科技有限公司 混合云环境下的任务编排方法及系统
CN111580832A (zh) * 2020-04-29 2020-08-25 电科云(北京)科技有限公司 应用于异构多云环境的应用发布系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
On the Conceptualization of Performance Evaluation of IaaS Services;Zheng Li;《 IEEE Transactions on Services Computing ( Volume: 7, Issue: 4, Oct.-Dec. 2014)》;20130806;628 - 641 *
基础设施即服务层企业私有云平台构建;宋梦馨等;《信息系统工程》;20150920(第09期);106-107 *

Also Published As

Publication number Publication date
CN112015560A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
US9465590B2 (en) Code generation framework for application program interface for model
US7168077B2 (en) System and method of executing and controlling workflow processes
JP5204070B2 (ja) ソフトウェア成果物の第2バージョンに移行する際に、当該ソフトウェア成果物の第1バージョンになされたカスタマイズをマージするためのツールを生成する方法、コンピュータ使用可能な媒体及びデータ処理システム
EP2228726B1 (en) A method and system for task modeling of mobile phone applications
US20040003119A1 (en) Editing files of remote systems using an integrated development environment
CN102576354A (zh) 支持不同部署架构的可扩展框架
CN103441900A (zh) 集中式跨平台自动化测试系统及其控制方法
CN1954298A (zh) 从抽象测试用例表示中基于规则产生自动测试脚本的方法和系统
CN102542382A (zh) 业务规则的管理方法和装置
KR20140067018A (ko) 메타데이터를 이용하여 운영 체제의 네이티브 애플리케이션 프로그래밍 인터페이스를 기술하는 기법
JP2009525533A (ja) Xna関係管理
CN103268226A (zh) 一种测试脚本文件生成方法及装置
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
JP5745932B2 (ja) グラフデータに写像の像であるオブジェクトに対する操作を反映する方法、プログラム、および、システム
CN110737460A (zh) 一种平台项目管理方法及装置
CN109978392B (zh) 敏捷软件开发管理方法、装置、电子设备、存储介质
US20110153562A1 (en) Error prevention for data replication
US8862637B2 (en) Generating data access operations based on a data model using a data services model
CN111784108B (zh) 一种主数据管理平台的建模方法和装置
CN106951593B (zh) 一种生成保护测控装置的配置文件的方法和装置
CN112015560B (zh) 一种用于构建it基础设施的装置
US20060136471A1 (en) Differential management of database schema changes
Buchmann et al. Handcrafting a Triple Graph Transformation System to Realize Round-trip Engineering Between UML Class Models and Java Source Code.
CN105573763B (zh) 一种支持rtos的嵌入式系统建模方法
CN115202663A (zh) 一种数据处理方法、装置和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant