MPP数据库的管理方法、装置、系统、服务器及介质与流程

文档序号:14835891发布日期:2018-06-30 12:23阅读:358来源:国知局
MPP数据库的管理方法、装置、系统、服务器及介质与流程

本发明涉及信息技术领域,尤其涉及一种MPP(Massively Parallel Processor,大规模并行处理)数据库的管理方法、装置、系统、服务器及介质。



背景技术:

目前针对MPP数据库没有一键部署、自动监控的平台或架构。现有技术的解决方案,如Ambari,目前只针对Hadoop(Hadoop Distributed File System,分布式文件系统)生态组件的自动化部署、自动运维监控。对于MPP数据库目前存在手动部署难度大、部署流程复杂和监控难等问题。



技术实现要素:

本发明实施例提供一种大规模并行处理数据库的管理方法、装置、系统、服务器及介质,以至少解决现有技术中的一个或多个技术问题。

第一方面,本发明实施例提供了一种大规模并行处理数据库的管理方法,应用于主节点,包括:获取数据库配置信息;将所述数据库配置信息分发给从节点,以使所述从节点根据所述数据库配置信息进行大规模并行处理数据库的部署以生成部署结果;以及接收所述从节点返回的所述部署结果。

结合第一方面,本发明在第一方面的第一种实施方式中,所述获取数据库配置信息包括:获取预先存储的数据库配置信息;和/或从所述用户界面接收用户配置信息,并对所述用户配置信息进行校验,以根据校验结果生成所述数据库配置信息。

结合第一方面,本发明在第一方面的第二种实施方式中,还包括:根据来自用户界面的操作指令向所述从节点下发业务代理指令;接收所述从节点执行所述主节点下发的业务代理指令后返回的处理结果;将来自各个所述从节点的处理结果汇总得到最终执行结果;以及将所述最终执行结果提供给用户界面。

结合第一方面的第二种实施方式,本发明在第一方面的第三种实施方式中,还包括:与从节点保持心跳连接;通过心跳连接向所述从节点下发业务代理指令;和/或,通过心跳连接接收所述从节点返回的处理结果。

结合第一方面,本发明在第一方面的第四种实施方式中,还包括:接收来自用户界面的数据库指标数据查询请求;根据所述来自用户界面的数据库指标数据查询请求,向指标服务器获取相应的数据库指标数据;以及将所述数据库指标数据提供给用户界面。

结合第一方面、第一方面的第一种实施方式、第一方面的第二种实施方式、第一方面的第三种实施方式、第一方面的第四种实施方式,还包括:通过表述性状态传递接口与用户界面通信连接。

第二方面,本发明实施例提供了一种大规模并行处理数据库的管理方法,应用于从节点,包括:接收来自主节点的数据库配置信息;根据所述数据库配置信息进行大规模并行处理数据库的部署;根据大规模并行处理数据库的部署是否成功生成部署结果;以及将所述部署结果返回给所述主节点。

结合第二方面,本发明在第二方面的第一种实施方式中,还包括:接收来自所述主节点下发的业务代理指令;执行所述业务代理指令;将执行所述业务代理指令的处理结果返回给所述主节点。

结合第二方面的第一种实施方式,本发明在第二方面的第二种实施方式中,还包括:与主节点保持心跳连接;通过心跳连接接收来自所述主节点下发的业务代理指令;和/或,通过心跳连接将执行所述业务代理指令的处理结果返回给所述主节点。

结合第二方面、第二方面的第一种实施方式、第二方面的第二种实施方式,本发明在第二方面的第三种实施方式中,还包括:采集数据库指标数据,并将所述数据库指标数据发送给指标服务器。

结合第二方面的第三种实施方式,本发明在第二方面的第四种实施方式中,采集数据库指标数据,包括:收集第一指标数据,所述第一指标数据包括CPU使用率、内存使用率和/或磁盘使用率;和/或,收集第二指标数据,所述第二指标数据包括:索引个数、分片情况、导入速率、导入次数、查询次数和/或JVM使用数据。

结合第二方面、第二方面的第一种实施方式、第二方面的第二种实施方式,本发明在第二方面的第五种实施方式中,还包括:对从节点所在的物理机的物理资源进行分配、管理和/或隔离,所述物理资源包括:CPU资源、内存资源和/或IO资源。

第三方面,本发明实施例提供了一种大规模并行处理数据库的管理装置,应用于主节点,包括:服务建议模块,用于:获取数据库配置信息;部署模块,用于:将所述数据库配置信息分发给从节点,以使所述从节点根据所述数据库配置信息进行大规模并行处理数据库的部署以生成部署结果;以及通信模块,用于:接收所述从节点返回的所述部署结果。

结合第三方面,本发明在第三方面的第一种实施方式中,所述服务建议模块还用于:提供预先存储的数据库配置信息;和/或从所述用户界面接收用户配置信息,并对所述用户配置信息进行校验,以根据校验结果生成所述数据库配置信息。

结合第三方面,本发明在第三方面的第二种实施方式中,所述通信模块还用于:根据来自用户界面的操作指令向所述从节点下发业务代理指令,并接收所述从节点执行所述主节点下发的业务代理指令后返回的处理结果;汇总模块,用于将来自各个所述从节点的处理结果汇总得到最终执行结果;所述通信模块还用于:将所述最终执行结果提供给用户界面。

结合第三方面的第二种实施方式,本发明在第三方面的第三种实施方式中,所述通信模块包括心跳管理模块,用于:与从节点保持心跳连接;通过心跳连接向所述从节点下发业务代理指令;和/或,通过心跳连接接收所述从节点返回的处理结果。

结合第三方面,本发明在第三方面的第四种实施方式中,所述通信模块还用于:接收来自用户界面的数据库指标数据查询请求;根据所述来自用户界面的数据库指标数据查询请求,向指标服务器获取相应的数据库指标数据;以及所述通信模块还用于:将所述数据库指标数据提供给用户界面。

结合第三方面、第三方面的第一种实施方式、第三方面的第二种实施方式、第三方面的第三种实施方式、第三方面的第四种实施方式,本发明在第三方面的第五种实施方式中,所述通信模块还包括:表述性状态传递接口,用于与用户界面通信连接。

第四方面,本发明实施例提供了一种大规模并行处理数据库的管理装置,应用于从节点,包括:通信模块,用于接收来自主节点的数据库配置信息;部署模块,用于根据所述数据库配置信息进行大规模并行处理数据库的部署,并根据大规模并行处理数据库的部署是否成功生成部署结果;以及所述通信模块还用于:将所述部署结果返回给所述主节点。

结合第四方面,本发明在第四方面的第一种实施方式中,所述通信模块还用于:接收来自所述主节点下发的业务代理指令;所述装置还包括执行模块,用于执行所述业务代理指令;所述通信模块还用于:将执行所述业务代理指令的处理结果返回给所述主节点。

结合第四方面的第一种实施方式,本发明在第四方面的第二种实施方式中,所述通信模块包括心跳管理模块,用于:与主节点保持心跳连接;通过心跳连接接收来自所述主节点下发的业务代理指令;和/或,通过心跳连接将执行所述业务代理指令的处理结果返回给所述主节点。

结合第四方面、第四方面的第一种实施方式、第四方面的第二种实施方式,本发明在第四方面的第三种实施方式中,还包括指标收集模块,用于:采集数据库指标数据,并将所述数据库指标数据发送给指标服务器。

结合第四方面的第三种实施方式,本发明在第四方面的第四种实施方式中,所述指标收集模块还包括:Ganglia模块,用于收集第一指标数据,所述第一指标数据包括CPU使用率、内存使用率和/或磁盘使用率;和/或,节点服务指标收集模块,用于收集第二指标数据,所述第二指标数据包括:索引个数、分片情况、导入速率、导入次数、查询次数和/或JVM使用数据。

结合第四方面、第四方面的第一种实施方式、第四方面的第二种实施方式,本发明在第四方面的第五种实施方式中,还包括Cgroup管理模块,用于对从节点所在的物理机的物理资源进行分配、管理和/或隔离,所述物理资源包括:CPU资源、内存资源和/或IO资源。

在一个可能的设计中,大规模并行处理数据库的管理装置的结构中包括处理器和存储器,所述存储器用于大规模并行处理数据库的管理装置执行上述第一方面或第二方面中大规模并行处理数据库的管理方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

第五方面,本发明实施例提供了一种数据库管理系统,包括:主节点和至少一个从节点,所述主节点包括如上述任一项所述的应用于主节点的装置,所述从节点包括如上述任一项所述的应用于从节点的装置;指标服务器,用于存储数据库指标数据;元数据存储系统,用于存储数据库集群的元数据信息。

结合第五方面,本发明在第五方面的第一种实施方式中,所述指标服务器还用于:接收并存储来自所述从节点的数据库指标数据;接收来自所述主节点的数据库指标数据查询请求,并根据所述数据库指标数据查询请求向所述主节点返回相应的数据库指标数据。

结合第五方面、第五方面的第一种实施方式,本发明在第五方面的第二种实施方式中,所述数据库集群的元数据信息包括:集群的节点数、集群中每个节点的状态信息、集群提供的大规模并行处理数据库的部署服务信息、大规模并行处理数据库的版本信息、大规模并行处理数据库各组件部署的从节点信息和/或用户对大规模并行处理数据库的操作指令;所述操作指令包括:创建、启动、停止和/或销毁。

第六方面,本发明实施例提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述第一方面中任一所述的的方法或上述第二方面中任一所述的的方法。

第七方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现上述第一方面中任一所述的的方法或上述第二方面中任一所述的的方法。

上述技术方案中的一个技术方案具有如下优点或有益效果:可以实现一键部署大规模并行处理数据库,集部署与监控一体化;通过服务建议模块可以最大程度优化系统的相关配置,使用户的使用指导培训成本大大降低;且水平扩展维护成本也大大降低。

上述技术方案中的另一个技术方案具有如下优点或有益效果:通过cgroups限制单个进程或者多个进程所使用资源,可以对CPU、内存等资源实现精细化的控制,资源隔离可以使任务之间不受打扰。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1为本发明实施例的应用于主节点的MPP数据库的管理方法的整体框架图;

图2为本发明提供的应用于主节点的MPP数据库的管理方法的一种优选实施例的步骤流程图;

图3为本发明提供的应用于主节点的MPP数据库的管理方法的另一优选实施例的步骤流程图;

图4为本发明实施例的应用于从节点的MPP数据库的管理方法的整体框架图;

图5为本发明提供的应用从主节点的MPP数据库的管理方法的一种优选实施例的步骤流程图;

图6为本发明实施例的应用于主节点的MPP数据库的管理装置的整体框架图;

图7为本发明提供的应用于主节点的MPP数据库的管理装置的一种优选实施例的结构示意图;

图8为本发明实施例的应用于从节点的MPP数据库的管理装置的整体框架图;

图9为本发明提供的应用于从节点的MPP数据库的管理装置的一种优选实施例的结构示意图;

图10为本发明实施例的数据库管理系统的整体框架图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

本发明实施例一方面提供了一种MPP数据库的管理方法。图1为本发明实施例的应用于主节点的MPP数据库的管理方法的整体框架图。如图1所示,本发明实施例的应用于主节点(master)的MPP数据库的管理方法包括:步骤S110,获取数据库配置信息;步骤S120,将所述数据库配置信息分发给从节点(Slave/agent),以使所述从节点根据所述数据库配置信息进行大规模并行处理数据库的部署以生成部署结果;步骤S130,接收所述从节点返回的所述部署结果。从节点根据大规模并行处理数据库的部署是否成功生成部署结果,并将所述部署结果返回给所述主节点。

根据本发明应用于主节点的MPP数据库的管理方法的一种实施方式,所述获取数据库配置信息包括:获取预先存储的数据库配置信息;和/或从所述用户界面接收用户配置信息,并对所述用户配置信息进行校验,以根据校验结果生成所述数据库配置信息。

目前关于数据库部署和监控的问题,现有技术的解决方案,如Ambari,中文名为爱姆鲍蕾,目前只针对Hadoop生态组件的自动化部署、自动运维监控。Ambari是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。Ambari支持大多数Hadoop组件,就Ambari的作用来说,就是创建、管理、监视Hadoop的集群。但目前针对MPP数据库没有一键部署、自动监控的平台或架构。本发明实施例提供的技术方案解决了对于MPP数据库目前存在的手动部署难度大、部署流程复杂和监控难等问题。

本发明实施例后台采用主从架构,即Master/Slave(agent)架构。在一种实施方式中,服务建议模块Service Advisor提供预先存储的数据库配置信息;预先存储的数据库配置信息是根据从节点的硬件特性和软件特征、数据库类型、数据类型合理配置,并结合大集群运维的优化经验而设置的;将预先存储的数据库配置信息提供给用户,也可以让用户在几种预先存储的数据库配置信息中根据个性需求做出选择。在另一种实施方式中,允许用户做自定义设置,并对用户自定义的数据库配置信息进行校验并生成校验后的最终配置信息;如用户设置的从节点的硬盘或内存的大小比实际从节点所在的物理机的硬盘或内存还大,这种自定义的配置属于无效配置,进行校验后根据实际硬件条件生成最终配置信息。通过服务建议模块可以最大程度优化系统的相关配置,简化了MPP数据库的部署流程,大大降低了部署难度。

图2为本发明提供的应用于主节点的MPP数据库的管理方法的一种优选实施例的步骤流程图。如图2所示,根据本发明应用于主节点的MPP数据库的管理方法的一种实施方式,还包括:步骤S210,根据来自用户界面(Web UI)的操作指令向所述从节点下发业务代理指令action;步骤S220,接收所述从节点执行所述主节点下发的业务代理指令后返回的处理结果;步骤S230,将来自各个所述从节点的处理结果汇总得到最终执行结果;步骤S240,将所述最终执行结果提供给用户界面。

在Master/Slave(agent)架构中,集群中存在一个Master节点和至少一个Slave节点,其中每个节点上可以运行至少一个数据库。Master负责处理与WebUI的交互、配置文件分发、指令下发、Agent机器节点管理;Agent执行Master下发的指令action,并将action处理结果回传Master。

根据本发明应用于主节点的MPP数据库的管理方法的一种实施方式,还包括:与从节点保持心跳连接;通过心跳连接向所述从节点下发业务代理指令;和/或,通过心跳连接接收所述从节点返回的处理结果。

心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。互联的双方中的一方,每隔固定的时间向另一方发送一个很小的数据包,另一方根据需要确定在收到数据包之后是否回复一个很小的数据包。每隔固定时间是很难达到的一个条件,实际情况是不超过某个时间间隔。发包方可以是客户也可以是主节点或是从节点,看哪边实现方便合理。心跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉对方知道自己还活着。事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。本发明实施例中,从节点与master保持心跳连接,从主节点获取指令并执行,将执行结果通过心跳连接汇报给master。

图3为本发明提供的应用于主节点的MPP数据库的管理方法的另一优选实施例的步骤流程图。如图3所示,根据本发明应用于主节点的MPP数据库的管理方法的一种实施方式,还包括:步骤S310,接收来自用户界面的数据库指标数据查询请求;步骤S320,根据所述来自用户界面的数据库指标数据查询请求,向指标服务器(MetricService)获取相应的数据库指标(metric)数据;步骤S330,将所述数据库指标数据提供给用户界面。从节点收集metric(指标)信息,并发送至MetricService,MetricService将这些指标信息持久化到数据库(如HBase);一次查看metric的流程如下:用户通过WebUI请求Master,Master请求MetricService获取相应时间段的指标信息返回给WebUI,WebUI将这些信息以图形化的方式展现给用户。

根据本发明应用于主节点的MPP数据库的管理方法的一种实施方式,还包括:通过表述性状态传递接口(REST接口)与用户界面通信连接及交互,所述交互包括:给用户界面提供所述预先存储的数据库配置信息和/或所述最终配置信息、数据库指标数据和/或用户界面的操作指令的最终执行结果。

REST(Representational State Transfer,即表述性状态传递)是一种软件架构风格,它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。表述性状态转移是一组架构约束条件和原则。REST通常基于使用HTTP(HyperText Transfer Protocol,超文本传输协议),URI(Uniform Resource Identifier,统一资源标识符),和XML(Extensible Markup Language,可扩展标记语言)以及HTML(HyperText Markup Language,超级文本标记语言)这些现有的广泛流行的协议和标准。REST定义了一组体系架构原则,可以根据这些原则设计以系统资源为中心的Web服务,包括使用不同语言编写的客户端如何通过HTTP处理和传输资源状态。如何考虑使用它的Web服务的数量,由于其使用相当方便,REST近年来已经成为最主要的Web服务设计模式。

本发明实施例中,Web UI通过rest API与Master进行交互,后台采用Master/Slave(agent)架构。Web UI负责可视化的部署、监控展示,用户通过在界面进行操作,Web UI通过rest接口与master进行交互,master通过Service Advisor模块对用户配置进行校验,生成最终配置;Web UI通过Master获取metric数据并展示给用户。

另一方面,本发明实施例提供了一种应用于从节点的MPP数据库的管理方法。图4为本发明实施例的应用于从节点的MPP数据库的管理方法的整体框架图。如图4所示,发明实施例的应用于从节点的MPP数据库的管理方法包括:步骤S410,接收来自主节点的数据库配置信息;步骤S420,根据所述数据库配置信息进行大规模并行处理数据库的部署;步骤S430,根据大规模并行处理数据库的部署是否成功生成部署结果;步骤S440,将所述部署结果返回给所述主节点。

通过设置于主节点的服务建议模块为用户提供预先存储的数据库配置信息,或者,对用户的数据库配置信息进行校验并生成校验后的最终配置信息;这种方式可以最大程度优化系统的相关配置,简化了MPP数据库的部署流程,大大降低了部署难度。

图5为本发明提供的应用从主节点的MPP数据库的管理方法的一种优选实施例的步骤流程图。如图5所示,根据本发明应用于从节点的MPP数据库的管理方法的一种实施方式,还包括:步骤S510,接收来自所述主节点下发的业务代理指令;步骤S520,执行所述业务代理指令;步骤S530,将执行所述业务代理指令的处理结果返回给所述主节点。MPP是将任务并行地分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。本发明实施例中,Agent执行Master下发的指令action,并将action处理结果回传Master。

根据本发明应用于从节点的MPP数据库的管理方法的一种实施方式,还包括:与主节点保持心跳连接;通过心跳连接接收来自所述主节点下发的业务代理指令;和/或,通过心跳连接将执行所述业务代理指令的处理结果返回给所述主节点。本发明实施例中,从节点执行master指令,与master保持心跳连接,从主节点获取指令并执行,并将执行结果通过心跳连接汇报给master。

根据本发明应用于从节点的MPP数据库的管理方法的一种实施方式,还包括:采集数据库指标数据(Metric),并将所述数据库指标数据发送给指标服务器(Metric Service)。本发明实施例中,Agent采集MPP数据库Metric,并将metric数据发送到Metric Service。本发明实施例不仅可以满足一键部署MPP数据库(如搜索服务器Elasticsearch),而且集部署与监控一体化,用户可实时监控数据库指标数据,降低了维护的难度和复杂度。

根据本发明应用于从节点的MPP数据库的管理方法的一种实施方式,采集数据库指标数据,包括:收集第一指标数据,所述第一指标数据包括CPU使用率、内存使用率和/或磁盘使用率;和/或,收集第二指标数据,所述第二指标数据包括:索引个数、分片情况、导入速率、导入次数、查询次数和/或JVM使用数据。

Ganglia用于测量数以千计的节点,主要是用来监控系统性能,如:CPU、内存、硬盘利用率,I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。本发明实施例中,Agent通过Ganglia或MPP数据库内置的Metric Collector采集MPP数据库Metric,并将metric数据发送到Metric Service。从节点收集来自Ganglia的信息和Service Sink Metric Collector的metric(指标)信息,通过http的形式发送至MetricService,MetricService将这些指标信息持久化到数据库(如HBase)。其中,来自Ganglia的信息包括:物理机级别CPU使用率、内存使用率、磁盘使用率等;来自Service Sink Metric Collectormetric(指标)信息包括:针对部署到该从节点的服务的监控,如Elasticsearch的索引个数、分片情况、导入速率、导入次数、查询次数、JVMJava(Virtual Machine,Java虚拟机)使用等。

根据本发明应用于从节点的MPP数据库的管理方法的一种实施方式,还包括:对从节点所在的物理机的物理资源进行分配、管理和/或隔离,所述物理资源包括:CPU资源、内存资源和/或IO资源。

Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:CPU、内存、IO等等)的机制。Cgroups提供了以下功能:限制进程组可以使用的资源数量、进程组的优先级控制、记录进程组使用的资源数量、进程组隔离、进程组控制。本发明实施例中,Agent可以选择性地通过Cgroup进行物理资源分配、管理与隔离,对从节点所在的物理机的物理资源(CPU、内存、IO等)进行分配、管理与隔离,针对分配到该从节点服务的CPU、内存、IO资源配置进行管理。

又一方面,本发明实施例提供了一种应用于主节点的MPP数据库的管理装置,图6为本发明实施例的应用于主节点的MPP数据库的管理装置的整体框架图。如图6所示,本发明实施例的应用于主节点的MPP数据库的管理装置包括:服务建议模块(Service Advisor)100,用于:获取数据库配置信息;主节点部署模块200,用于:将所述数据库配置信息分发给从节点,以使所述从节点根据所述数据库配置信息进行大规模并行处理数据库的部署以生成部署结果;以及主节点通信模块300,用于:接收所述从节点返回的所述部署结果。

根据本发明应用于主节点的MPP数据库的管理装置的一种实施方式,所述服务建议模块100还用于:提供预先存储的数据库配置信息;和/或从所述用户界面接收用户配置信息,并对所述用户配置信息进行校验,以根据校验结果生成所述数据库配置信息。

图7为本发明提供的应用于主节点的MPP数据库的管理装置的一种优选实施例的结构示意图。如图7所示,根据本发明应用于主节点的MPP数据库的管理装置的一种实施方式,所述主节点通信模块300还用于:根据来自用户界面的操作指令向所述从节点下发业务代理指令,并接收所述从节点执行所述主节点下发的业务代理指令后返回的处理结果;汇总模块400,用于将来自各个所述从节点的处理结果汇总得到最终执行结果;所述主节点通信模块300还用于:将所述最终执行结果提供给用户界面。

根据本发明应用于主节点的MPP数据库的管理装置的一种实施方式,所述主节点通信模块(HeartBeatHandler)300包括主节点心跳管理模块310,用于:与从节点保持心跳连接;通过心跳连接向所述从节点下发业务代理指令;和/或,通过心跳连接接收所述从节点返回的处理结果。

根据本发明应用于主节点的MPP数据库的管理装置的一种实施方式,所述主节点通信模块300还用于:接收来自用户界面的数据库指标数据查询请求;根据所述来自用户界面的数据库指标数据查询请求,向指标服务器获取相应的数据库指标数据;以及所述通信模块还用于:将所述数据库指标数据提供给用户界面。

根据本发明应用于主节点的MPP数据库的管理装置的一种实施方式,所述主节点通信模块300还包括:表述性状态传递接口320,用于与用户界面通信连接。

再一方面,本发明实施例提供了一种应用于从节点的MPP数据库的管理装置。图8为本发明实施例的应用于从节点的MPP数据库的管理装置的整体框架图。如图8所示,本发明实施例的应用于从节点的MPP数据库的管理装置包括:从节点通信模块500,用于接收来自主节点的数据库配置信息;从节点部署模块600,用于根据所述数据库配置信息进行大规模并行处理数据库的部署,并根据大规模并行处理数据库的部署是否成功生成部署结果;以及所述通信模块500还用于:将所述部署结果返回给所述主节点。

图9为本发明提供的应用于从节点的MPP数据库的管理装置的一种优选实施例的结构示意图。如图9所示,根据本发明应用于从节点的MPP数据库的管理装置的一种实施方式,所述从节点通信模块500还用于:接收来自所述主节点下发的业务代理指令;所述装置还包括执行模块700,用于执行所述业务代理指令;所述从节点通信模块500还用于:将执行所述业务代理指令的处理结果返回给所述主节点。

根据本发明应用于从节点的MPP数据库的管理装置的一种实施方式,所述从节点通信模块(HeartBeatHandler)500包括从节点心跳管理模块510,用于:与主节点保持心跳连接;通过心跳连接接收来自所述主节点下发的业务代理指令;和/或,通过心跳连接将执行所述业务代理指令的处理结果返回给所述主节点。从节点通过HeartBeatHandler模块与master保持心跳连接,从主节点获取指令并执行,将执行结果通过心跳连接汇报给master。

根据本发明应用于从节点的MPP数据库的管理装置的一种实施方式,还包括指标收集模块(Metric Collector)800,用于:采集数据库指标数据,并将所述数据库指标数据发送给指标服务器。Agent的Metric Collector模块采集MPP数据库Metric,并将metric数据发送到Metric Service。根据本发明应用于从节点的MPP数据库的管理装置的一种实施方式,所述指标收集模块800还包括:Ganglia模块810,用于收集第一指标数据,所述第一指标数据包括CPU使用率、内存使用率和/或磁盘使用率;和/或,节点服务指标收集模块820,用于收集第二指标数据,所述第二指标数据包括:索引个数、分片情况、导入速率、导入次数、查询次数和/或JVM使用数据。

根据本发明应用于从节点的MPP数据库的管理装置的一种实施方式,还包括Cgroup管理模块900,用于对从节点所在的物理机的物理资源进行分配、管理和/或隔离,所述物理资源包括:CPU资源、内存资源和/或IO资源。本发明实施例中,Agent可以选择性地通过Cgroup(control groups)进行物理资源分配、管理与隔离,从节点通过Cgroup Management模块900对从节点所在的物理机的物理资源(CPU、内存、IO等)进行分配、管理与隔离,针对分配到该从节点服务的CPU、内存、IO资源配置进行管理。

在一个可能的设计中,MPP数据库的管理装置的结构中包括处理器和存储器,所述存储器用于MPP数据库的管理装置执行上述第一方面或第二方面中MPP数据库的管理方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

再一方面,本发明实施例提供了一种数据库管理系统。图10为本发明实施例的数据库管理系统的整体框架图。如图10所示,本发明实施例的数据库管理系统包括:主节点910和至少一个从节点920,所述主节点910包括如上述任一项所述的应用于主节点的装置,所述从节点920包括如上述任一项所述的应用于从节点的装置;指标服务器930,用于存储数据库指标数据;元数据存储系统940,用于存储数据库集群的元数据信息。

根据本发明数据库管理系统的一种实施方式,所述指标服务器930还用于:接收并存储来自所述从节点的数据库指标数据;接收来自所述主节点的数据库指标数据查询请求,并根据所述数据库指标数据查询请求向所述主节点返回相应的数据库指标数据。

根据本发明数据库管理系统的一种实施方式,所述数据库集群的元数据信息包括:集群的节点数、集群中每个节点的状态信息、集群提供的MPP数据库的部署服务信息、MPP数据库的版本信息、MPP数据库各组件部署的从节点信息和/或用户对MPP数据库的操作指令;所述操作指令包括:创建、启动、停止和/或销毁。

再一方面,本发明实施例提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述第一方面中任一所述的的方法或上述第二方面中任一所述的的方法。

再一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现上述第一方面中任一所述的的方法或上述第二方面中任一所述的的方法。

上述技术方案中的一个技术方案具有如下优点或有益效果:可以实现一键部署MPP数据库,集部署与监控一体化;通过服务建议模块可以最大程度优化系统的相关配置,使用户的使用指导培训成本大大降低;且水平扩展维护成本也大大降低。

上述技术方案中的另一个技术方案具有如下优点或有益效果:通过cgroups限制单个进程或者多个进程所使用资源,可以对CPU、内存等资源实现精细化的控制,资源隔离可以使任务之间不受打扰。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。其中装置实施方式与方法的实施方式相对应,因此装置的实施方式描述比较简略,相关描述可参照方法的实施方式的描述即可。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1