一种可扩展的自动化计算服务平台及其构建方法

文档序号:7823777阅读:287来源:国知局
一种可扩展的自动化计算服务平台及其构建方法
【专利摘要】本发明公开了一种可扩展的自动化计算服务平台及其构建方法,包括物力资源层、虚拟资源层、平台管理层以及业务服务层;本发明将计算任务的计算和计算工具运行环境的自动创建统一起来,方便用户快速,便捷的构建适合运算任务的计算工具运行环境。实现异构资源的统一管理,通过虚拟化技术对异构资源进行抽象统一,实现计算资源的同构化,为用户提供统一的资源调用。封装良好的对外接口,通过对任务相关的功能接口进行封装,极大的简化了用户的使用难度,便于用户编程实现资源调用和任务自动化计算。平台采用服务化的分层架构,具有良好的扩展性,可以方便的扩展计算资源。
【专利说明】一种可扩展的自动化计算服务平台及其构建方法

【技术领域】
[0001]本发明属于计算机科学与【技术领域】,特别涉及一种可扩展的自动化计算服务平台及其构建方法。

【背景技术】
[0002]目前,随着计算问题的日趋复杂,计算数据的数据量呈现几何级增长,由此带来了计算密集、数据密集、通信密集等一系列的空间信息科学计算问题。运用并行计算技术解决计算问题是最为重要的方式之一。并行计算原理简单、计算能力强,灵活方便等优点,但是各并行计算工具也具有资源利用率低、扩展性差等缺陷,尤其是对于计算环境异构、计算资源需求不均等问题。面对这些问题,现有的解决方式大多是从购置专用平台、提升物理服务器性能等角度进行,往往具有购置成本高、维护复杂等不足。
[0003]而云计算技术通过将分布式的异构资源抽象为虚拟化资源池为用户提供按需服务,实现了高效的资源利用。如能采用云计算技术,不同的计算任务和计算工具可以集中的共享资源基础架构设施。通过将计算工具和计算任务托管在专业的第三方基础设施服务运营商,实现基础设施的高效资源利用。这样合并复用后的数据中心,其服务器性能就可以通过分时复用满足多个计算任务不同方面的资源峰值,而非仅仅预留给单个应用的资源峰值。当计算任务需求变化时,只需妥善调度,就可以让任务之间彼此衔接,资源复用。随着资源利用率的提升,现有的设备足以满足复杂多变的需求,从而避免对设备垂直扩展的需求。设备数量的下降会降低软硬件环境维护、占地和能源消耗等方面的花销。
[0004]随着技术的发展和积累,大量优秀的云计算平台被开发出来。发起于加州大学圣色色拉分校的Eucalyptus项目是最早的以亚马逊AWS为蓝本进行开发的开源IaaS平台,架构服务化良好,以JAVA和C语言为开发语言。最早由Cloud, com开发的CloudStack平台在由Apache基金会接管后,迅速被业界多家著名公司选作基础设施服务平台,采用分层架构,API封装较好。IBM的SKC基于PowerVM虚拟化技术和VMControl自动化管理功能强大,安装简单。OpenStack开源云计算平台采用模块化设计,扩展性良好,以Python语言进行开发。然而,这些主流的云计算平台主要存在如下缺点:
[0005]1.Eucalyptus缺乏API层设计,计算、存储、网络服务未分开,使用不便,对插件支持不足,扩展性不好,对用户的支持不好。
[0006]2.CloudStack没有采用面向服务的架构设计,同样没有将计算、存储、网络独立设计,平台横向扩展过程复杂,容易出错。
[0007]3.1BM的SKC不是开源产品,实施比较复杂。
[0008]4.0penStack安装复杂,API接口略混乱,新版本往往变化很大,难以升级维护。
[0009]5.所有云计算平台均不支持计算环境和计算任务的自动化配置和运行,对计算服务使用者负担较大。
[0010]因此,在计算平台领域更加需要一种能够提供大规模计算工具环境创建和管理的服务平台,并进一步使其具备一定的自动化计算任务的应用能力,便捷直接地提供可扩展的计算服务。


【发明内容】

[0011]本发明的目的在于解决上述现有技术的缺陷,提出一种利用虚拟化技术构建分布式系统平台的可扩展的自动化计算服务平台及其构建方法,服务平台及其构建方法能够提供一种层次化、可伸缩且能够进行任务运行管理和计算资源环境自动部署的计算服务,可用于分布式异构计算环境下的自动化计算。
[0012]为了实现上述目的,本发明所采用的技术方案是:
[0013]一种可扩展的自动化计算服务平台,包括物理资源层、虚拟资源层、平台管理层以及业务服务层;
[0014]物理资源层包括存储设备、计算设备以及网络设备;
[0015]虚拟资源层利用OpenStack的相关组件对底层的物理资源整合成逻辑上的云,然后通过虚拟化技术构建虚拟机资源池,提供计算资源池;
[0016]平台管理层层利用Web服务器进行消息转发和接收,与虚拟资源层控制器利用HTTP协议进行通信,利用JS0N文本为标准数据交互格式,对通信功能进行封装,成为通信丰吴块;
[0017]业务服务层用于计算任务的管理、执行、计算资源环境配置,并最终为用户提供标准软件接口。
[0018]所述虚拟资源层对各虚拟机提供创建、删除、迀移、重启、修改以及远程桌面功能;利用网络虚拟化技术,提供虚拟网络和虚拟路由器的创建、删除以及修改功能。
[0019]所述平台管理层对各虚拟资源池的计算资源实现统一调用,并将包括计算、存储和网络方面资源的调用封装为资源服务模块;平台管理层对平台中广域分布的多虚拟资源集群进行统一管理,实现多集群管理模块。
[0020]本发明还公开了一种自动化计算服务平台的构建方法,包括以下步骤:
[0021](1)平台服务提供者构建基于对象存储的数据管理系统物理存储节点,用于存储和处理高性能计算中的模型文件和初始数据并提供分析、索引和查询功能;
[0022](2)平台服务提供者构建关系型数据库用于对集群信息数据进行持久化,并提供索引和查询功能;
[0023](3)平台服务提供者搭建虚拟资源层,用于利用虚拟化技术对平台资源整合使用,提供基础的云计算设施;
[0024](4)平台服务提供者构建基于Web服务的平台管理层,实现基础的资源调用封装、数据库管理、多集群管理、资源监控和平台各组件之间的通信功能;
[0025](5)平台服务提供者构建平台业务服务层,实现对外标准软件接口、任务提交、任务信息管理、任务状态管理、任务结果管理以及任务结果下载功能;
[0026](6)平台服务提供者构建任务算法运行镜像,在镜像中配置任务执行模块,实现任务执行环境配置、任务算法运行、任务算法状态监控以及任务运行结果保存功能;
[0027](7)普通用户向平台业务服务层提交创建高性能计算任务所需的硬件需求;
[0028](8)用户通过平台对外标准软件接口向平台业务服务层提交创建高性能计算任务所需计算资源的请求描述;
[0029](9)平台业务服务层根据用户所提交的请求描述,分析并产生调度结果,调用平台管理层创建计算资源;
[0030](10)平台管理层根据调度结果,启动虚拟机节点,并配置相应的网络环境;
[0031](11)平台根据用户所提交的请求描述,待虚拟机启动完成后,启动任务计算;
[0032](12)平台在任务计算完成后,将任务计算结果存入对象存储节点,并通过HTTP请求告知业务服务管理层,任务计算结束,业务服务管理层向用户返回运行结果。
[0033]所述步骤(3)中,平台虚拟资源层的搭建采用以下步骤进行:
[0034](3a)搭建计算节点,计算节点上承载具体的计算虚拟化技术的Hypervisor ;
[0035](3b)基于SDN架构搭建网络节点;
[0036](3c)搭建控制节点,控制节点用于对所有服务进行整合,并接受调度;
[0037]所述步骤(7)中,硬件需求包括内存、CPU、硬盘大小以及操作系统类型。
[0038]所述步骤(8)中,计算资源的请求描述包括任务模型、输入文件及任务描述文件。
[0039]所述任务描述文件包括任务执行命令,以及包含硬件需求和服务节点数目的JSON文件。
[0040]用户向平台业务服务层提交请求描述的提交文件全部存入平台对象存储节点。
[0041]与现有技术相比,本发明具有以下有益效果:
[0042]1.将计算任务的计算和计算工具运行环境的自动创建统一起来,方便用户快速,便捷的构建适合运算任务的计算工具运行环境。
[0043]2.自动化处理任务计算过程,使用户专注于科学计算本身而无需过多考虑任务执行过程中的运行问题。
[0044]3.为计算任务提供动态可扩展的计算资源,针对不同的计算任务,不同时刻对不同计算资源的不同需求,合理调度,实现资源复用,提高资源利用率。
[0045]4.实现异构资源的统一管理,通过虚拟化技术对异构资源进行抽象统一,实现计算资源的同构化,为用户提供统一的资源调用。
[0046]5.封装良好的对外接口,通过对任务相关的功能接口进行封装,极大的简化了用户的使用难度,便于用户编程实现资源调用和任务自动化计算。
[0047]6.平台采用服务化的分层架构,具有良好的扩展性,可以方便的扩展计算资源。

【专利附图】

【附图说明】
[0048]图1为本发明的平台整体架构图;
[0049]图2为本发明的平台逻辑架构图;
[0050]图3为本发明的任务提交时序图;
[0051]图4为本发明的虚拟资源调度时序图;
[0052]图5为本发明的计算资源创建流程图;
[0053]图6为本发明的虚拟资源组织示意图。

【具体实施方式】
[0054]下面结合附图,对本发明的做进一步详细的说明。
[0055]参见图1至图4,本发明可扩展的自动化计算服务平台,包括物理资源层、虚拟资源层、平台管理层以及业务服务层;
[0056]物理资源层包括存储设备、计算设备以及网络设备;
[0057]虚拟资源层利用OpenStack的相关组件对底层的物理资源整合成逻辑上的云,然后通过虚拟化技术构建虚拟机资源池,提供计算资源池;虚拟资源层对各虚拟机提供创建、删除、迀移、重启、修改以及远程桌面功能;利用网络虚拟化技术,提供虚拟网络和虚拟路由器的创建、删除以及修改功能。
[0058]平台管理层层利用Web服务器进行消息转发和接收,与虚拟资源层控制器利用HTTP协议进行通信,利用JS0N文本为标准数据交互格式,对通信功能进行封装,成为通信模块;平台管理层对各虚拟资源池的计算资源实现统一调用,并将包括计算、存储和网络方面资源的调用封装为资源服务模块;平台管理层对平台中广域分布的多虚拟资源集群进行统一管理,实现多集群管理模块。
[0059]业务服务层用于计算任务的管理、执行、计算资源环境配置,并最终为用户提供标准软件接口。
[0060]如图5和图6所示,本发明可扩展的自动化计算服务平台的构建方法,包括以下步骤:
[0061](1)平台服务提供者构建基于对象存储的数据管理系统物理存储节点,用于存储和处理高性能计算中的模型文件和初始数据并提供分析、索引和查询功能。存储节点通常位于各本地集群中,采用主从结构,主节点用于接受用户的各种请求,各从节点进行具体的存储。存储节点与其他服务的结合参照图5。
[0062](2)平台服务提供者构建关系型数据库用于对集群信息数据进行持久化,并提供索引和查询功能。关系型数据库可选用Mysql,数据库位于各子中心控制节点和主控制节点。
[0063](3)平台服务提供者搭建虚拟资源层,用于利用虚拟化技术对平台资源整合使用,提供基础的云计算设施。参照图6,平台虚拟资源层的搭建分为如下几步:
[0064](3a)搭建计算节点,计算节点上承载具体的计算虚拟化技术的Hypervisor。
[0065](3b)搭建网络节点,网络节点基于SDN(Software Defined Network)思想。
[0066](3c)搭建控制节点,控制节点用于对所有服务进行整合,并接受调度。
[0067](4)平台服务提供者构建基于Web服务的平台管理层,实现基础的资源调用封装,数据库管理,多集群管理,资源监控和平台各组件之间的通信功能;
[0068](5)平台服务提供者构建平台业务服务层,实现对外标准软件接口,任务提交,任务信息管理,任务状态管理,任务结果管理,任务结果下载等功能。
[0069](6)平台服务提供者构建任务算法运行镜像,在镜像中配置任务执行模块,实现任务执行环境配置,任务算法运行,任务算法状态监控,任务运行结果保存等功能。
[0070](7)完成上述六个步骤之后,参照图3,普通用户向平台业务服务层提交创建高性能计算任务所需的硬件需求,前述的所需的硬件需求包括内存、CPU、硬盘大小以及操作系统类型;
[0071](8)用户通过平台对外标准软件接口向平台业务服务层提交创建高性能计算任务所需计算资源的请求描述,所述的请求描述包括任务模型、输入文件及任务描述文件,所述的任务描述文件包括任务执行命令,以及包含步骤(7)中所述的硬件需求和服务节点数目的JSON文件。所述的提交文件全部存入平台对象存储节点。
[0072](9)平台业务服务层根据步骤(8)中用户所提交的请求,分析并产生调度结果,参照图4,调用平台管理层创建计算资源。
[0073](10)平台管理层根据调度结果,参照图5,启动虚拟机节点,并配置相应的网络环境;
[0074](11)平台根据步骤(8)中用户所提交的请求,待虚拟机启动完成后,启动任务计算;
[0075](12)平台在任务计算完成后,将任务计算结果存入对象存储节点,并通过HTTP请求告知业务服务管理层,任务计算结束,业务服务管理层向用户返回运行结果。
[0076]本发明可扩展的自动化计算服务平台的虚拟资源层主要基于OpenStack平台完成对虚拟化技术的整合使用。利用OpenStack的相关组件对底层的物理资源整合成逻辑上的云,然后通过虚拟化技术构建虚拟机资源池,提供计算资源池。对各虚拟机提供创建、删除、迀移、重启、修改、远程桌面等功能。利用网络虚拟化技术,提供虚拟网络和虚拟路由器的创建、删除、修改等功能。
[0077]本发明可扩展的自动化计算服务平台的平台管理层利用Web服务器进行消息转发和接收,与虚拟资源层控制器利用HTTP协议进行通信,利用JS0N文本为标准数据交互格式,对通信功能进行封装,成为通信模块。对基于0RM技术的数据库管理相关功能进行封装,形成数据库管理模块。对各虚拟资源池的计算资源实现统一调用,并将包括计算、存储和网络等方面资源的调用封装为资源服务模块。另外,对平台中广域分布的多虚拟资源集群进行统一管理,实现多集群管理模块。
[0078]本发明可扩展的自动化计算服务平台的业务服务层用于计算任务的管理、执行、计算资源环境配置,并最终为用户提供标准软件接口。因为任务的管理涉及到任务执行部分和任务控制部分两部分,任务的执行、管理和环境配置采取主从结构的软件体系架构,一部分是服务端主要完成任务提交,任务管理,任务分发等一系列工作,这里是对外接口和任务信息处理的主要部分。另一部分是执行端位于虚拟机镜像中,随虚拟机镜像启动而启动,执行端启动后会向服务端请求任务,在任务开始执行前完成必要的运行环境配置,然后开始执行任务,在任务结束后将计算结果保存至数据库,并告知服务端任务结束。
[0079]以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
【权利要求】
1.一种可扩展的自动化计算服务平台,其特征在于:包括物理资源层、虚拟资源层、平台管理层以及业务服务层; 物理资源层包括存储设备、计算设备以及网络设备; 虚拟资源层利用OpenStack的相关组件对底层的物理资源整合成逻辑上的云,然后通过虚拟化技术构建虚拟机资源池,提供计算资源池; 平台管理层层利用Web服务器进行消息转发和接收,与虚拟资源层控制器利用HTTP协议进行通信,利用JS0N文本为标准数据交互格式,对通信功能进行封装,成为通信模块; 业务服务层用于计算任务的管理、执行、计算资源环境配置,并最终为用户提供标准软件接口。
2.根据权利要求1所述的可扩展的自动化计算服务平台,其特征在于:所述虚拟资源层对各虚拟机提供创建、删除、迀移、重启、修改以及远程桌面功能;利用网络虚拟化技术,提供虚拟网络和虚拟路由器的创建、删除以及修改功能。
3.根据权利要求1所述的可扩展的自动化计算服务平台,其特征在于:所述平台管理层对各虚拟资源池的计算资源实现统一调用,并将包括计算、存储和网络方面资源的调用封装为资源服务模块;平台管理层对平台中广域分布的多虚拟资源集群进行统一管理,实现多集群管理模块。
4.一种如权利要求1所述可扩展的自动化计算服务平台的构建方法,其特征在于,包括以下步骤: (1)平台服务提供者构建基于对象存储的数据管理系统物理存储节点,用于存储和处理高性能计算中的模型文件和初始数据并提供分析、索引和查询功能; (2)平台服务提供者构建关系型数据库用于对集群信息数据进行持久化,并提供索引和查询功能; (3)平台服务提供者搭建虚拟资源层,用于利用虚拟化技术对平台资源整合使用,提供基础的云计算设施; (4)平台服务提供者构建基于Web服务的平台管理层,实现基础的资源调用封装、数据库管理、多集群管理、资源监控和平台各组件之间的通信功能; (5)平台服务提供者构建平台业务服务层,实现对外标准软件接口、任务提交、任务信息管理、任务状态管理、任务结果管理以及任务结果下载功能; (6)平台服务提供者构建任务算法运行镜像,在镜像中配置任务执行模块,实现任务执行环境配置、任务算法运行、任务算法状态监控以及任务运行结果保存功能; (7)普通用户向平台业务服务层提交创建高性能计算任务所需的硬件需求; (8)用户通过平台对外标准软件接口向平台业务服务层提交创建高性能计算任务所需计算资源的请求描述; (9)平台业务服务层根据用户所提交的请求描述,分析并产生调度结果,调用平台管理层创建计算资源; (10)平台管理层根据调度结果,启动虚拟机节点,并配置相应的网络环境; (11)平台根据用户所提交的请求描述,待虚拟机启动完成后,启动任务计算; (12)平台在任务计算完成后,将任务计算结果存入对象存储节点,并通过HTTP请求告知业务服务管理层,任务计算结束,业务服务管理层向用户返回运行结果。
5.根据权利要求4所述可扩展的自动化计算服务平台的构建方法,其特征在于:所述步骤(3)中,平台虚拟资源层的搭建采用以下步骤进行: (3a)搭建计算节点,计算节点上承载具体的计算虚拟化技术的Hypervisor ; (3b)基于SDN架构搭建网络节点; (3c)搭建控制节点,控制节点用于对所有服务进行整合,并接受调度。
6.根据权利要求4所述可扩展的自动化计算服务平台的构建方法,其特征在于:所述步骤(7)中,硬件需求包括内存、CPU、硬盘大小以及操作系统类型。
7.根据权利要求6所述可扩展的自动化计算服务平台的构建方法,其特征在于:所述步骤(8)中,计算资源的请求描述包括任务模型、输入文件及任务描述文件。
8.根据权利要求7所述可扩展的自动化计算服务平台的构建方法,其特征在于:所述任务描述文件包括任务执行命令,以及包含硬件需求和服务节点数目的JS0N文件。
9.根据权利要求4或7或8所述可扩展的自动化计算服务平台的构建方法,其特征在于:用户向平台业务服务层提交请求描述的提交文件全部存入平台对象存储节点。
【文档编号】H04L29/08GK104506620SQ201410812058
【公开日】2015年4月8日 申请日期:2014年12月23日 优先权日:2014年12月23日
【发明者】马建峰, 武磊, 李金库, 卢笛, 沈玉龙 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1