数据库集群自动优化处理方法、装置及服务器与流程

文档序号:13004835阅读:284来源:国知局
数据库集群自动优化处理方法、装置及服务器与流程

本发明涉及数据库处理领域,具体涉及一种数据库集群自动优化处理方法、装置、服务器及计算机存储介质。



背景技术:

数据库集群就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库系统那样,向客户端提供透明的数据服务。在数据库集群向客户端提供服务的过程中,随着互联网的发展,企业存储的业务数据量也是急剧增长,在这种情况下,需要不断提高数据库集群的性能以及保证数据库集群对外提供服务质量保持稳定。

现有技术中,针对数据库集群出现的待优化问题和故障问题,主要是通过人工干预的方式来对数据库集群中不合理的参数进行调整,或者通过人工检测并处理产生的故障,这种方式在解决上述问题时,不能及时发现不合理的设置或故障,不能有针对性的处理问题,导致处理过程耗时长,消耗资源多,并且人工干预的成本投入大。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库集群自动优化处理方法、装置、服务器及计算机存储介质。

根据本发明的一个方面,提供了一种数据库集群自动优化处理方法,其包括:

监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息;

根据数据库集群的状态指标特征信息,分析数据库集群的运行状况;以及

针对运行状况触发相应的故障处理措施和/或优化处理措施进行自动优化处理。

根据本发明的另一方面,提供了一种数据库集群自动优化处理装置,其包括:

采集模块,用于监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息;

分析模块,用于根据数据库集群的状态指标特征信息,分析数据库集群的运行状况;以及

处理模块,用于针对运行状况触发相应的故障处理措施和/或优化处理措施进行自动优化处理。

根据本发明的又一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;

存储器用于存放至少一可执行指令,可执行指令使处理器执行上述数据库集群自动优化处理方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述数据库集群自动优化处理方法对应的操作。

根据本发明的数据库集群自动优化处理方法、装置、服务器及计算机存储介质,可以对数据库集群的状态信息进行监控,根据预设状态指标对应的状态指标特征信息分析数据库集群的运行状况,并针对不同的运行状况触发相应的措施对数据库集群进行优化处理或故障处理,以优化资源的配置,与现有技术相比,无需投入过多的人力资源,降低了人力成本,而且能够及时发现数据库出现的各种故障和待优化问题,自动处理这些问题,提高了数据库的性能和服务质量。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的数据库集群自动优化处理方法的流程示意图;

图2示出了根据本发明另一个实施例的数据库集群自动优化处理方法的流程示意图;

图3示出了根据本发明又一个实施例的数据库集群自动优化处理方法的流程示意图;

图4示出了根据本发明再一个实施例的数据库集群自动优化处理方法的流程示意图;

图5示出了根据本发明一个实施例的数据库集群自动优化处理方法的流程示意图;

图6示出了根据本发明另一个实施例的数据库集群自动优化处理方法的流程示意图;

图7示出了根据本发明又一个实施例的数据库集群自动优化处理方法的流程示意图;

图8示出了根据本发明再一个实施例的数据库集群自动优化处理方法的流程示意图;

图9示出了根据本发明一个实施例的数据库集群自动优化处理方法的流程示意图;

图10示出了根据本发明实施例的数据库集群自动优化处理装置的功能框图;

图11示出了根据本发明实施例的一种服务器的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的数据库集群自动优化处理方法的流程示意图。如图1所示,该方法包括如下步骤:

步骤s101,监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息。

数据库集群的运行状况,包括待优化问题和/或故障问题,都会体现在具体的状态指标特征信息中,为了实现数据库集群的自动优化处理,本发明实施例需要预先设置一些状态指标作为监控对象,通过监控这些状态指标,采集得到对应的数据库集群的状态指标特征信息。其中,监控是持续进行的,以便及时地发现数据库集群存在的问题。这些预设状态指标包括但不仅限于以下指标:访问情况、连接数占用情况、内存占用情况、磁盘容量占用情况、索引使用情况、网络流量、节点状态、数据查询情况和/或节点日志信息。预设状态指标可以根据需要优化的参数和/或需要关注的故障来选择,本发明对此不作具体限定。

在本实施例中,从监控的数据库集群的状态信息中,采集与预设状态指标对应的历史时间段内和/或实时的数据库集群的状态指标特征信息,并存储在数据库中,便于针对该状态指标特征信息分析数据库集群的运行状态。

步骤s102,根据数据库集群的状态指标特征信息,分析数据库集群的运行状况。

数据库集群的状态指标特征信息与预设状态指标对应,每种预设状态指标包括至少一个表征数据库集群运行状况的状态指标特征信息,并且至少一个预设状态指标对应的至少一个状态指标特征信息能够反映数据库集群的不同性能情况。

具体地,与访问情况对应的状态指标特征信息包括每秒查询率(queriespersecond,简称qps)和/或每秒处理事务数(transactionspersecond,简称tps),其中,qps是对数据库集群中的一个特定的查询服务器在一秒钟内所处理流量多少的衡量标准,tps是指一秒钟内处理的客户机向服务器发送的请求的个数,qps与qps的值越高则代表服务器承担的数据查询或处理的压力越大。

具体地,与连接数占用情况对应的状态指标特征信息包括每个服务器节点的连接数,每个服务器节点的连接数越多表示访问该服务器节点的人数越多,相应的访问压力就越大,容易造成无法访问该服务器节点的状况。

具体地,与内存占用情况对应的状态指标特征信息包括内存占用率,内存占用率越高,表明为该数据库集群申请的内存使用率越高,与此同时也表明该内存的运行压力也越大。

具体地,与磁盘容量占用情况对应的状态指标特征信息包括磁盘容量占用率,磁盘容量占用率越高表明为该数据库集群申请的磁盘容量越不够用。

具体地,与索引使用情况对应的状态指标特征信息包括索引使用频率和/或索引结果,其中,索引使用频率越高则表示对该索引的需求大,索引结果则表示每条索引能够满足哪些查询需求,因为不同的索引对应的索引结果可能存在重叠或覆盖的情况。

具体地,与网络流量对应的状态指标特征信息包括网络流量平均值和/或网络流量峰值,网络流量平均值和/或网络流量峰值越高则反映了客户机对数据库集群的访问量越大。

具体地,与节点状态对应的状态指标特征信息为unknown、recovery、down、rollback、fatal、primary以及secondary中的一种,其中,若节点状态为unknown、recovery、down以及fatal中的一种,则表明节点运行状态异常。

具体地,与数据查询情况对应的状态指标特征信息包括查询的响应时间和查询的并发数,其中,查询的响应时间长短表明了该查询为慢查询或者快查询,并且查询的响应时间越长则服务器的查询速度越慢,效率越低;查询的并发数表明了同时提交查询请求的数量,查询的并发数越大,则对应服务器的查询压力越大,越容易造成服务器崩溃。

具体地,与节点日志信息对应的状态指标特征信息包括校验值匹配信息和/或节点崩溃信息,若校验值匹配信息显示匹配不一致,则表明节点日志对应的文件数据发生了损坏;若节点日志信息中显示节点崩溃信息,则表明该节点发生了崩溃,不能对外正常提供服务。

通过采集能够反映数据库集群性能的状态指标特征信息,可以实现对数据库集群的运行状况的分析,进而有针对性的进行自动优化处理。

步骤s103,针对运行状况触发相应的故障处理措施和/或优化处理措施进行自动优化处理。

数据库集群在运行和维护的过程中,不可避免会出现问题,为了保证数据库集群能够对外提供稳定的服务,需要针对不同的问题触发不同的处理措施。

具体地,针对qps、tps过高,内存占用率、磁盘容量占用率高,索引使用率低,索引结果重复,网络流量平均值和/或网络流量峰值高等特征反映的数据库集群中存在的待优化的问题触发优化处理措施进行优化,以索引结果重复为例,若索引结果重复,即至少两个索引中的一个索引的索引结果被另外的索引对应的索引结果覆盖,则对应被覆盖的索引结果的索引的查询功能能够被其他的索引代替,针对这种重复索引的待处理问题,可以将索引结果范围小的索引删除以释放更多的数据库集群资源,提高数据库集群的运行性能。

具体地,针对校验值不匹配,节点崩溃,查询的时间长以及查询的并发数多,节点状态异常和/或连接数过多等特征反映的数据库集群中存在的故障问题触发故障处理措施进行处理,以校验值不匹配为例,若日志节点中显示校验值不匹配,则认为文件发生了损坏,如果不及时对该文件中的数据进行恢复,则该文件不能提供正确的数据以致不能对外提供服务,针对这种文件损坏的故障问题,及时采取数据恢复措施,以保证数据库集群正常对外提供服务。

本实施例提供的数据库集群自动优化处理方法,通过对数据库集群的状态信息进行监控,根据预设状态指标对应的状态指标特征信息分析数据库集群的运行状况,并针对不同的运行状况触发相应的措施对数据库集群进行优化处理或故障处理,与现有技术相比,无需投入过多的人力资源,降低了人力成本,而且能够及时发现数据库出现的各种故障和待优化问题,自动处理这些问题,提高了数据库的性能和服务质量。

图2示出了根据本发明另一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中节点状态异常的运行状况进行数据恢复。如图2所示,该方法包括如下步骤:

步骤s201,监控数据库集群的状态信息,采集数据库集群中各个节点的节点状态特征信息。

具体地,通过监控数据库集群的状态信息,实时采集各个节点的节点状态特征信息。以mongodb数据库集群为例,集群中的节点包含主节点(也称主数据库)和从节点(也称从数据库),主节点在正常提供服务时的状态特征信息为primary,从节点在正常提供服务时的状态特征信息为secondary,如果主节点和备份节点暂时不能提供服务或存在异常问题,其状态特征信息可能为unknown、recovery、down、rollback或fatal。因此,节点状态特征信息反映出节点正常或异常的运行状况。

步骤s202,根据节点状态特征信息,判断数据库集群中各个节点的运行状况是否为异常。

当节点暂时不能提供服务或存在异常问题时,节点状态特征信息为unknown、recovery、down、rollback或fatal,即当采集到的节点状态为unknown、recovery、down、rollback或fatal时,需要分析数据库集群中对应节点的运行状况是否存在异常。其中,unknown表示节点状态为未知状态,recovery表示节点处在正在恢复状态,down表示节点不可到达,rollback表示数据正在回滚,在回滚结束时,将会转移到recovery或secondary状态,fatal表示出错,需要根据日志,找出出错原因,重新做同步。通过分析以上节点状态特征信息,若为unknown、recovery、down、fatal,则表示节点的运行状况为异常。

步骤s203,针对运行状况为异常的节点,暂停该节点对外提供服务;对节点中的数据进行恢复处理。

具体地,针对运行状况为异常的节点,暂停该节点对业务请求方提供服务,并删除节点中的无效数据,向从其它节点或备份节点请求一份完整的数据进行数据恢复处理,例如从主节点或备份节点中拉取数据进行数据恢复处理。

本实施例提供的数据库集群自动优化处理方法,通过实时采集数据库集群中各个节点的节点状态特征信息,并据此节点状态信息判断节点的运行状况,针对运行状况为异常的节点进行恢复处理,该方法不仅能够及时发现运行状况异常的节点,而且可以对异常节点有针对性的进行数据恢复处理,避免造成节点不可用的状况。

图3示出了根据本发明又一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中所存在的慢查询的运行状况进行故障处理。如图3所示,该方法包括如下步骤:

步骤s301,监控数据库集群的状态信息,采集数据库集群中数据查询请求的响应时间和并发数。

慢查询是一种消耗资源多、耗时长的查询类型,并且随着同时访问的连接数的增多,即并发数增多,慢查询会降低数据库的处理效率。本实施例将数据查询情况作为监控对象,采集数据查询请求的响应时间和并发数。

步骤s302,根据预设响应时间阈值和预设并发数阈值判断数据库集群中数据查询请求是否为待处理的慢查询请求。

具体地,若数据查询请求的响应时间超过预设响应时间阈值,则判断该数据查询请求为慢查询请求,并且若当前数据查询请求的并发数超过预设并发数阈值,则确定该慢查询请求为待处理的慢查询请求。由于慢查询请求会影响与之并发的数据查询请求的处理效率,导致并发的数据查询请求响应卡慢,并且如果并发数超过预设并发数阈值,可能会导致数据查询请求无法响应,因此需要及时对响应时间超过预设响应时间阈值,与此同时,数据查询请求的并发数超过预设并发数阈值的待处理的慢查询进行处理,以减少数据查询请求的响应时间,提高数据库的处理效率。

步骤s303,若数据查询请求为待处理的慢查询请求,停止执行该数据查询请求。

针对待处理的慢查询请求采取强制停止该请求的操作,使得并发的其它正常的数据查询请求能够正常响应。

本实施例提供的数据库集群自动优化处理方法,通过采集数据库集群中数据查询请求的响应时间和并发数,根据预设响应时间阈值判断数据查询请求是否为慢查询,并且根据当前数据查询请求的并发数以及预设并发数阈值确定慢查询请求是否为待处理的慢查询请求,针对待处理的慢查询请求采取强制停止该请求的操作,以避免由于该待处理的慢查询请求的影响而导致数据查询请求响应慢甚至无法响应的问题,减少数据查询请求的响应时间,提高数据库的处理效率。

图4示出了根据本发明再一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中文件损坏和/或节点崩溃的运行数据恢复。如图4所示,该方法包括如下步骤:

步骤s401,监控数据库集群的状态信息,采集数据库集群中的节点日志信息。

以mongodb数据库集群为例,mongodb经常会对文件进行校验以判断文件中的数据是否匹配,并且在节点日志信息中记录匹配的特征信息,例如,若文件中的数据不匹配,则会在对应的节点日志信息中显示不匹配的记录,根据该记录,就能及时发现文件损坏的情况。

步骤s402,扫描节点日志信息,根据节点日志信息的校验值判断数据文件、索引文件和/或元数据文件是否损坏,和/或,根据节点日志信息判断节点是否出现崩溃情况。

在本实施例中,通过扫描节点日志信息,并根据节点日志信息中的校验值匹配的特征信息,判断是否有文件损坏,文件损坏包括数据文件损坏、索引文件损坏和/或元数据文件损坏;和/或,通过扫描节点日志信息,并根据节点日志信息中的strace信息判断节点是否出现了不可预估的崩溃情况,其中,strace信息记录了系统调用,其可以反映出服务器节点的崩溃情况。。

以利用校验值判断文件是否损坏为例,通过比较同一文件在不同时期的校验值来判断该文件是否发生了损坏,例如,在写入数据到某一节点之后,计算该节点文件中数据的校验和,在下一次从该节点读数据的时候,再次计算该节点文件数据的校验和,如果两次计算的校验和不同,则确定文件中的数据不一致,并将该不一致的特征信息记录在节点日志信息中,通过扫描节点日志信息即可及时发现节点文件损坏的情况。

步骤s403,若数据文件、索引文件和/或元数据文件损坏,和/或,节点出现崩溃情况,则对节点内的数据进行恢复处理。

若节点日志信息表明数据文件、索引文件和/或元数据文件损坏,和/或,节点出现崩溃情况,则需要对损坏的文件或发生崩溃的节点进行修复以使该文件和/或节点能够正常对外提供服务。

在进行修复时,首先向主库请求一份完整的数据,再在预设时间段内对该文件和/或节点的运行状况进行循环检测,若监测结果显示无异常,则认为对该文件/或节点的修复完成,若检测结果显示异常,则再次扫描日志信息,视情况进行恢复(相当于先将所有的文件清空,再向主库请求一份完整的数据),即完成修复。

本实施例提供的数据库集群自动优化处理方法,通过扫描节点日志信息,并利用节点日志信息中的校验值匹配结果的特征信息和/或strace信息判断是否发生了文件损坏和/或节点崩溃,并针对损坏的文件和/或崩溃的节点进行修复,以保证数据库集群中的节点始终能够正常提供服务。

图5示出了根据本发明一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中连接数不够的运行状况进行连接数调整。如图5所示,该方法包括如下步骤:

步骤s501,监控数据库集群的状态信息,采集数据库集群中的节点日志信息。

在数据库集群中各个节点的节点日志信息里,会有外界访问该节点的信息,其中包括连接数占用情况的特征信息。

步骤s502,扫描节点日志信息,判断节点的连接数是否已经超过预设连接数阈值。

扫描节点日志信息,通过节点日志信息中的关于连接数的特征信息判断节点当前的连接数是否超过了预设连接数阈值,例如,当节点日志信息中有“toomanyopenfiles”的特征信息,则表示超过了预设连接数阈值,后续对于该节点的访问请求就会由于无法创建连接而导致无响应请求的故障。

步骤s503,若节点的连接数已经超过预设连接数阈值,则调整预设连接数阈值。

针对连接数已经超过预设连接数阈值的情况,通过调整预设连接数阈值以使后续的访问请问能够正常响应,进而能够不影响该节点对外提供服务。

本实施例提供的数据库集群自动优化处理方法,通过扫描数据库集群中的节点日志信息,获取关于当前节点的连接数的特征信息,据此特征信息判断连接数是否超过了预设连接数阈值,针对超过了预设连接数阈值的情况,通过调整预设连接数阈值以使后续的访问请问能够正常响应,进而能够不影响该节点对外提供服务。

图6示出了根据本发明另一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中集群容量不够的运行状况进行自动扩容。如图6所示,该方法包括如下步骤:

步骤s601,监控数据库集群的状态信息,采集数据库集群中的网络流量、业务访问特征、i/o使用率和/或集群容量占用情况。

数据库集群的存储能力取决于集群容量,在业务请求方的业务扩展后,其需要存储的数据量会随之增多,访问需求、网络流量以及i/o使用率也会随之增大,当集群容量不能满足上述增长需求时,数据库集群就会出现读写效率低甚至无法读写的情况,进而不能正常对业务请求方提供服务。

本实施例中,对受业务需求影响的数据库集群的状态指标特征信息进行采集并利用该状态指标特征信息对集群容量是否合理进行判断,该状态指标特征信息包括网络流量、业务访问特征、i/o使用率和/或集群容量占用情况,其中,业务访问特征包括tps和/或qps。

步骤s602,根据预设网络流量阈值、预设业务访问特征阈值、预设i/o使用率阈值和/或预设集群容量占用情况阈值判断集群容量是否满足当前业务需求。

通过比较网络流量与预设网络流量阈值、业务访问特征与预设业务访问特征阈值、i/o使用率与预设i/o使用率阈值和/或集群容量占用情况与预设集群容量占用情况阈值,来判断集群容量是否满足当前业务需求。如果数据库集群中的网络流量、业务访问特征、i/o使用率以及集群容量占用情况中有一项或多项超过其对应的预设阈值,则判断集群容量不能满足当前的业务需求。

步骤s603,若集群容量不能满足当前业务需求,则进行自动扩容。

针对集群容量不能满足当前业务需求的情况,若不进行扩容,则数据库集群不能正常对业务请求方提供服务。而进行自动扩容时,需要根据数据库集群中的网络流量、业务访问特征、i/o使用率和/或集群容量占用情况超过其对应的预设阈值的超出量,并结合业务请求方当前的业务需求来确定扩容的量,以实现用最优的集群容量配置来满足当前业务需求,最优的集群容量配置即使集群容量既能够满足业务数据的存储需求以及读写效率,又能够得到最大程度的利用的配置。

本实施例提供的数据库集群自动优化处理方法,通过采集数据库集群中的网络流量、业务访问特征、i/o使用率和/或集群容量占用情况;并根据预设网络流量阈值、预设业务访问特征阈值、预设i/o使用率阈值和/或预设集群容量占用情况阈值判断集群容量是否满足当前业务需求;针对集群容量不能满足当前业务需求的情况,进行自动扩容,以实现用最优的集群容量配置来满足当前业务需求。

图7示出了根据本发明又一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中套餐设置不合理的运行状况进行套餐等级调整。如图7所示,该方法包括如下步骤:

步骤s701,监控数据库集群的状态信息,采集业务使用方对数据库集群的容量占用情况和/或业务访问特征。

在数据库中,每申请一个集群时就会匹配一个相应的套餐,套餐是对内存、磁盘价格、网络流量费以及机房费用等进行的折算,即对所有的套餐内的资源进行量化折算,每一个套餐都有一个预估支撑业务量,例如,当数据库管理员进行了业务的删除、清理等处理,或者发生了机器的变动迁移,业务使用方所需要的资源都会发生改变,此时都要对套餐进行调整,也即对业务占用资源的消费进行调整。

本实施例中,是否需要调整套餐等级是通过采集的业务使用方对数据库集群的容量占用情况和/或业务访问特征来判断的,同样的,业务访问特征包括tps和/或qps。

步骤s702,根据业务使用方对数据库集群的容量占用情况和/或业务访问特征的变化趋势,判断业务使用方的套餐级别设置是否合理。

若业务使用方对数据库集群的容量占用情况和/或业务访问特征在预设时间段内持续下降,则认为业务使用方所需要的资源呈减少的趋势,判断套餐需要调整到对应更少资源的等级;若业务使用方对数据库集群的容量占用情况和/或业务访问特征在预设时间段内持续上升,则认为业务使用方所需要的资源呈增长的趋势,判断套餐需要调整到对应更多资源的等级。上述两种需要调整的情况均为套餐级别设置不合理的情况。

步骤s703,若业务使用方的套餐级别设置不合理,则根据变化趋势对业务使用方的套餐级别进行调整。

针对套餐级别设置不合理的情况,根据业务使用方对数据库集群的容量占用情况和/或业务访问特征的变化趋势对应调整套餐等级,为业务使用方的资源需求匹配合理的套餐。具体地,根据预设时间段内容量占用情况和/或业务访问特征的变化趋势对应的变化程度,并结合当前占用的资源情况、业务使用方的业务数据以及对业务数据的读写请求所需要的资源将套餐调整到合适的等级,例如,预设时间段内容量占用情况和/或业务访问特征持续上升,并且变化程度大,在综合考虑资源占用情况后,将套餐等级跨多个等级调整到对应更多资源的等级,若变化程度小,则相应的等级调整的跨度小,可选择一次只调整到最邻近的等级。

本实施例提供的数据库集群自动优化处理方法,采集业务使用方对数据库集群的容量占用情况和/或业务访问特征;根据预设时间段内业务使用方对数据库集群的容量占用情况和/或业务访问特征的变化趋势,判断业务使用方的套餐级别设置是否合理;并针对设置不合理的情况,根据当前占用的资源情况、业务使用方的业务数据以及业务数据的读写请求所需要的资源将套餐调整到合适的等级。本实施例能够在业务发生变化或者其他影响需求资源的情况下及时判断套餐等级的设置是否合理,并且根据当前占用的资源情况、业务使用方的业务数据以及业务数据的读写请求所需要的资源自动将套餐调整到合适的等级。

图8示出了根据本发明再一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中参数设置不合理的运行状况进行参数调整。如图8所示,该方法包括如下步骤:

步骤s801,监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息。

每个数据库集群在初始化时会有一整套固定的参数模板,集群内部的参数包括内存参数、磁盘容量参数以及一些性能指标,这些参数或指标要随着业务的变化而进行相应的调整来优化资源的使用。

通过采集一些数据库集群状态指标特征信息,比如访问情况、内存占用情况、磁盘容量占用情况以及网络流量等,并利用这些信息判断数据库集群参数的设置是否合理。

步骤s802,对状态指标特征信息进行采样分析和计算;根据计算结果判断集群参数的设置是否合理。

其中,集群参数包括内存参数、磁盘容量参数、压缩方式参数、和/或存储引擎参数。以内存参数为例,通过对内存占用情况进行分析计算,若内存占用情况超过预设内存占用情况阈值,则判断内存参数的设置不合理。

步骤s803,若集群参数的设置不合理,根据计算结果调整集群参数。

针对集群参数设置不合理的情况,根据计算结果对集群参数进行自动优化。例如对数据库集群中的压缩方式进行优化,默认压缩方式为snappy,该种压缩方式可以满足一般业务需求,并且该方式对应的cpu使用率较低,但是压缩率不是非常高,若计算结果显示磁盘容量占用情况高,则可以调整压缩方式为zlib,该压缩方式的压缩率最高,能够降低磁盘容量的占用。

本实施例提供的数据库集群自动优化处理方法,通过对状态指标特征信息进行采样分析和计算;根据计算结果判断集群参数的设置是否合理;若集群参数的设置不合理,根据计算结果调整集群参数。本实施例能够通过监控到的随着业务的变化而随之变化的状态指标特征信息,例如访问情况、内存占用情况、磁盘容量占用情况以及网络流量,对集群参数进行调整以优化资源的使用。

图9示出了根据本发明一个实施例的数据库集群自动优化处理方法的流程示意图。该方法用于针对数据库集群中的重复索引、索引利用率低和/或缺失索引的运行状况自动优化处理。如图9所示,该方法包括如下步骤:

步骤s901,监控数据库集群的状态信息,采集索引使用信息。

在mongodb中,如果没有索引,读取数据时基于必须扫描集合中的每个文件并从中选取符合查询条件的记录,这种方式的查询效率是非常低的,尤其是在处理大量数据时,查询要花费很长的时间,而索引则能够极大的提高查询的效率。但是,若索引的设置不合理,依然会影响查询的效率以及占用过多的资源。

扫描业务请求方使用数据库集群中索引的索引使用信息以及业务请求方的历史业务访问情况,分析索引存在的问题。

步骤s902,根据索引使用信息和业务访问情况,分析索引存在的问题。

根据索引使用信息,分析是否存在重复索引;和/或,根据索引使用信息,分析索引利用率;和/或,根据业务访问情况,分析是否需要创建新的索引。

具体地,在已经存在的至少两个索引的索引使用信息中,其中至少一个索引对应的查询结果被另外的索引对应的查询结果所包含,相当于另外的索引能够满足更大的查询需求,这种情况下,该至少一个索引实现的查询功能可以被另外的索引代替,并且,若在数据库集群中,存在大量的这种重复索引的情况,则会占用大量的数据库集群的资源,因此会影响集群的处理或响应效率;通过扫描索引使用信息,发现有些索引的索引利用率低,有一种可能的情况就是,这些利用率低的索引适应于特殊的功能或时期,当前该功能已经关闭或不再使用,也就体现出对应的索引有被利用的历史记录,但是当前已经几乎不被使用了,这种索引利用率低的索引也会占用数据库集群的资源;扫描索引使用信息的结果显示业务请求方访问某些字段的频率较高,但是并没有建立对应这些访问字段的索引,例如,在新增了业务功能之后,业务使用方对该功能对应的字段进行查询,但是还未及时在数据库集群中建立相关的索引,这种情况就说明当前的索引还不能满足业务使用方对新功能的需求,缺少索引。

步骤s903,针对索引存在的不同问题,采取相应的措施。

针对重复索引,进行删除处理;和/或,删除索引利用率低于预设利用率阈值的索引;和/或,针对业务访问度高于预设访问度阈值的访问字段,创建与访问字段对应的新的索引。

具体地,为了避免重复索引和/或索引利用率的索引对数据库集群的资源的占用,删除满足业务使用方的需求小的重复索引和/或利用率低于预设利用率阈值的索引;并且,为了满足业务使用方的新的访问需求,比如对某些字段的访问,针对业务访问度高于预设访问度阈值的访问字段,创建新的索引。

本实施例提供的数据库集群自动优化处理方法,通过扫描索引使用信息,根据索引使用信息,分析是否存在重复索引,并删除满足业务使用方的需求小的重复索引;根据索引使用信息,分析索引利用率,删除利用率低于预设利用率阈值的索引;根据业务访问情况,分析是否需要创建新的索引,创建业务访问度高于预设访问度阈值的访问字段对应的索引。上述删除的处理方式能够减少对应的索引占用数据库集群资源,提高数据库集群的处理或响应效率,上述创建新索引的方式能够满足业务使用方的新的访问需求。

图10示出了根据本发明实施例的数据库集群自动优化处理装置的功能框图。如图10所示,该装置包括:采集模块11、分析模块12以及处理模块13。

采集模块11,适于监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息。

其中,预设状态指标包括:访问情况、连接数占用情况、内存占用情况、磁盘容量占用情况、索引使用情况、网络流量、节点状态、数据查询情况和/或节点日志信息。

采集模块11进一步适于:采集与预设状态指标对应的历史时间段内和/或实时的数据库集群的状态指标特征信息。

分析模块12,适于根据数据库集群的状态指标特征信息,分析数据库集群的运行状况;

处理模块13,适于针对运行状况触发相应的故障处理措施和/或优化处理措施进行自动优化处理。

在本发明的一个具体的实施例中针对数据库集群中节点状态异常的运行状况进行数据恢复时:

采集模块11进一步适于:采集数据库集群中各个节点的节点状态特征信息;

分析模块12进一步适于:根据节点状态特征信息,判断数据库集群中各个节点的运行状况是否为异常。

处理模块13进一步适于:针对运行状况为异常的节点,暂停该节点对外提供服务;对节点中的数据进行恢复处理。

在本发明的一个具体的实施例中针对数据库集群中慢查询的运行状况进行故障处理时:

采集模块11进一步适于:采集数据库集群中数据查询请求的响应时间和并发数;

分析模块12进一步适于:根据预设响应时间阈值和预设并发数阈值判断数据库集群中数据查询请求是否为待处理的慢查询请求。

处理模块13进一步适于:若数据查询请求为待处理的慢查询请求,停止执行该数据查询请求。

在本发明的一个具体的实施例中针对数据库集群中文件损坏和/或节点崩溃的运行数据恢复时:

采集模块11进一步适于:采集数据库集群中的节点日志信息;

分析模块12进一步适于:扫描节点日志信息,根据节点日志信息的校验值判断数据文件、索引文件和/或元数据文件是否损坏,和/或,根据节点日志信息判断节点是否出现崩溃情况。

处理模块13进一步适于:若数据文件、索引文件和/或元数据文件损坏,和/或,节点出现崩溃情况,则对节点内的数据进行恢复处理。

在本发明的一个具体的实施例中针对数据库集群中连接数不够的运行状况进行连接数调整时:

采集模块11进一步适于:采集数据库集群中的节点日志信息;

分析模块12进一步适于:扫描节点日志信息,判断节点的连接数是否已经超过预设连接数阈值。

处理模块13进一步适于:若节点的连接数已经超过预设连接数阈值,则调整预设连接数阈值。

在本发明的一个具体的实施例中针对数据库集群中集群容量不够的运行状况进行自动扩容时:

采集模块11进一步适于:采集数据库集群中的网络流量、业务访问特征、i/o使用率和/或集群容量占用情况;

分析模块12进一步适于:根据预设网络流量阈值、预设业务访问特征阈值、预设i/o使用率阈值和/或预设集群容量占用情况阈值判断集群容量是否满足当前业务需求;

处理模块13进一步适于:若集群容量不能满足当前业务需求,则进行自动扩容。

在本发明的一个具体的实施例中针对数据库集群中套餐设置不合理的运行状况进行套餐等级调整时:

采集模块11进一步适于:采集业务使用方对数据库集群的容量占用情况和/或业务访问特征;

分析模块12进一步适于:根据业务使用方对数据库集群的容量占用情况和/或业务访问特征的变化趋势,判断业务使用方的套餐级别设置是否合理。

处理模块13进一步适于:若业务使用方的套餐级别设置不合理,则根据变化趋势对业务使用方的套餐级别进行调整。

在本发明的一个具体的实施例中针对数据库集群中参数设置不合理的运行状况进行参数调整时:

分析模块12进一步适于:对状态指标特征信息进行采样分析和计算;根据计算结果判断集群参数的设置是否合理,其中,集群参数包括内存参数、磁盘容量参数、压缩方式参数、和/或存储引擎参数。

处理模块13进一步适于:若集群参数的设置不合理,根据计算结果调整集群参数。

在本发明的一个具体的实施例中针对数据库集群中的重复索引、索引利用率低和/或缺失索引的运行状况自动优化处理时:

采集模块11进一步适于:采集索引使用信息;

分析模块12进一步适于:根据索引使用信息,分析是否存在重复索引;和/或,根据索引使用信息,分析索引利用率;和/或,根据业务访问情况,分析是否需要创建新的索引。

处理模块13进一步适于:针对重复索引,进行删除处理;和/或,删除索引利用率低于预设利用率阈值的索引;和/或,针对业务访问度高于预设访问度阈值的访问字段,创建与访问字段对应的新的索引。

本申请实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据库集群自动优化处理方法。

图11示出了根据本发明实施例的一种服务器的结构示意图,本发明具体实施例并不对服务器的具体实现做限定。

如图11所示,该服务器可以包括:处理器(processor)111、通信接口(communicationsinterface)113、存储器(memory)115、以及通信总线117。

其中:

处理器111、通信接口113、以及存储器115通过通信总线117完成相互间的通信。

通信接口113,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器111,用于执行程序119,具体可以执行上述数据库集群自动优化处理方法实施例中的相关步骤。

具体地,程序119可以包括程序代码,该程序代码包括计算机操作指令。

处理器111可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器115,用于存放程序119。存储器115可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序119具体可以用于使得处理器111执行以下操作:

监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息;

根据数据库集群的状态指标特征信息,分析数据库集群的运行状况;

针对运行状况触发相应的故障处理措施和/或优化处理措施进行自动优化处理。

其中,预设状态指标包括:访问情况、连接数占用情况、内存占用情况、磁盘容量占用情况、索引使用情况、网络流量、节点状态、数据查询情况和/或节点日志信息。

程序119具体还可以用于使得处理器111执行以下操作:

采集与预设状态指标对应的历史时间段内和/或实时的数据库集群的状态指标特征信息。

程序119具体还可以用于使得处理器111执行以下操作:

采集数据库集群中各个节点的节点状态特征信息;

根据节点状态特征信息,判断数据库集群中各个节点的运行状况是否为异常。

程序119具体还可以用于使得处理器111执行以下操作:

针对运行状况为异常的节点,暂停该节点对外提供服务;

对节点中的数据进行恢复处理。

程序119具体还可以用于使得处理器111执行以下操作:

采集数据库集群中数据查询请求的响应时间和并发数;

根据预设响应时间阈值和预设并发数阈值判断数据库集群中数据查询请求是否为待处理的慢查询请求。

程序119具体还可以用于使得处理器111执行以下操作:

若数据查询请求为待处理的慢查询请求,停止执行该数据查询请求。

程序119具体还可以用于使得处理器111执行以下操作:

采集数据库集群中的节点日志信息;

扫描节点日志信息,根据节点日志信息的校验值判断数据文件、索引文件和/或元数据文件是否损坏,和/或,根据节点日志信息判断节点是否出现崩溃情况。

程序119具体还可以用于使得处理器111执行以下操作:

若数据文件、索引文件和/或元数据文件损坏,和/或,节点出现崩溃情况,则对节点内的数据进行恢复处理。

程序119具体还可以用于使得处理器111执行以下操作:

采集数据库集群中的节点日志信息;

扫描节点日志信息,判断节点的连接数是否已经超过预设连接数阈值。

程序119具体还可以用于使得处理器111执行以下操作:

若节点的连接数已经超过预设连接数阈值,则调整预设连接数阈值。

程序119具体还可以用于使得处理器111执行以下操作:

采集数据库集群中的网络流量、业务访问特征、i/o使用率和/或集群容量占用情况;

根据预设网络流量阈值、预设业务访问特征阈值、预设i/o使用率阈值和/或预设集群容量占用情况阈值判断集群容量是否满足当前业务需求。

程序119具体还可以用于使得处理器111执行以下操作:

若集群容量不能满足当前业务需求,则进行自动扩容。

程序119具体还可以用于使得处理器111执行以下操作:

采集业务使用方对数据库集群的容量占用情况和/或业务访问特征;

根据业务使用方对数据库集群的容量占用情况和/或业务访问特征的变化趋势,判断业务使用方的套餐级别设置是否合理。

程序119具体还可以用于使得处理器111执行以下操作:

若业务使用方的套餐级别设置不合理,则根据变化趋势对业务使用方的套餐级别进行调整。

程序119具体还可以用于使得处理器111执行以下操作:

对状态指标特征信息进行采样分析和计算;

根据计算结果判断集群参数的设置是否合理,其中,集群参数包括内存参数、磁盘容量参数、压缩方式参数、和/或存储引擎参数。

程序119具体还可以用于使得处理器111执行以下操作:

若集群参数的设置不合理,根据计算结果调整集群参数。

程序119具体还可以用于使得处理器111执行以下操作:

采集索引使用信息;

根据索引使用信息,分析是否存在重复索引;

和/或,根据索引使用信息,分析索引利用率;

和/或,根据业务访问情况,分析是否需要创建新的索引。

程序119具体还可以用于使得处理器111执行以下操作:

针对重复索引,进行删除处理;

和/或,删除索引利用率低于预设利用率阈值的索引;

和/或,针对业务访问度高于预设访问度阈值的访问字段,创建与访问字段对应的新的索引。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的数据库集群自动优化处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了a1.一种数据库集群自动优化处理方法,包括:

监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息;

根据所述数据库集群的状态指标特征信息,分析数据库集群的运行状况;以及

针对运行状况触发相应的故障处理措施和/或优化处理措施进行自动优化处理。

a2.根据a1所述的方法,其中,所述预设状态指标包括:访问情况、连接数占用情况、内存占用情况、磁盘容量占用情况、索引使用情况、网络流量、节点状态、数据查询情况和/或节点日志信息。

a3.根据a1或a2所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集与预设状态指标对应的历史时间段内和/或实时的数据库集群的状态指标特征信息。

a4.根据a1-a3任一项所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集数据库集群中各个节点的节点状态特征信息;

所述根据数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:根据节点状态特征信息,判断所述数据库集群中各个节点的运行状况是否为异常。

a5.根据a4所述的方法,其中,所述针对运行状况触发相应的故障处理措施进行自动优化处理进一步包括:

针对运行状况为异常的节点,暂停该节点对外提供服务;以及

对所述节点中的数据进行恢复处理。

a6.根据a1-a3任一项所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集数据库集群中数据查询请求的响应时间和并发数;

所述根据数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:根据预设响应时间阈值和预设并发数阈值判断所述数据库集群中数据查询请求是否为待处理的慢查询请求。

a7.根据a6所述的方法,其中,所述针对运行状况触发相应的故障处理措施进行自动优化处理进一步包括:若数据查询请求为待处理的慢查询请求,停止执行该数据查询请求。

a8.根据a1-a3任一项所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集数据库集群中的节点日志信息;

所述根据数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:

扫描节点日志信息,根据节点日志信息的校验值判断数据文件、索引文件和/或元数据文件是否损坏,和/或,根据节点日志信息判断节点是否出现崩溃情况。

a9.根据a8所述的方法,其中,所述针对运行状况触发相应的故障处理措施进行自动优化处理进一步包括:

若所述数据文件、索引文件和/或元数据文件损坏,和/或,节点出现崩溃情况,则对所述节点内的数据进行恢复处理。

a10.根据a1-a3任一项所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集数据库集群中的节点日志信息;

所述根据数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:扫描节点日志信息,判断节点的连接数是否已经超过预设连接数阈值。

a11.根据a10所述的方法,其中,所述针对运行状况触发相应的故障处理措施进行自动优化处理进一步包括:若节点的连接数已经超过预设连接数阈值,则调整所述预设连接数阈值。

a12.根据a1-a3任一项所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集数据库集群中的网络流量、业务访问特征、i/o使用率和/或集群容量占用情况;

所述根据数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:根据预设网络流量阈值、预设业务访问特征阈值、预设i/o使用率阈值和/或预设集群容量占用情况阈值判断集群容量是否满足当前业务需求。

a13.根据a12所述的方法,其中,所述针对运行状况触发相应的优化处理措施进行自动优化处理进一步包括:若集群容量不能满足当前业务需求,则进行自动扩容。

a14.根据a1-a3中任一项所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集业务使用方对数据库集群的容量占用情况和/或业务访问特征;

所述根据数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:根据业务使用方对数据库集群的容量占用情况和/或业务访问特征的变化趋势,判断所述业务使用方的套餐级别设置是否合理。

a15.根据a14所述的方法,其中,所述针对运行状况触发相应的优化处理措施进行自动优化处理进一步包括:若所述业务使用方的套餐级别设置不合理,则根据所述变化趋势对所述业务使用方的套餐级别进行调整。

a16.根据a1-a3任一项所述的方法,其中,所述根据数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:

对所述状态指标特征信息进行采样分析和计算;以及

根据计算结果判断集群参数的设置是否合理,其中,集群参数包括内存参数、磁盘容量参数、压缩方式参数、和/或存储引擎参数。

a17.根据a16所述的方法,其中,所述针对运行状况触发优化处理措施进行自动优化处理进一步包括:

若集群参数的设置不合理,根据计算结果调整集群参数。

a18.根据a1-3任一项所述的方法,其中,所述采集与预设状态指标对应的数据库集群的状态指标特征信息进一步包括:采集索引使用信息;

所述根据所述数据库集群的状态指标特征信息,分析数据库集群的运行状况进一步包括:

根据索引使用信息,分析是否存在重复索引;

和/或,根据索引使用信息,分析索引利用率;

和/或,根据业务访问情况,分析是否需要创建新的索引。

a19.根据a18所述的方法,其中,所述针对运行状况触发相应的优化处理措施进行自动优化处理进一步包括:

针对重复索引,进行删除处理;

和/或,删除索引利用率低于预设利用率阈值的索引;

和/或,针对业务访问度高于预设访问度阈值的访问字段,创建与所述访问字段对应的新的索引。

本发明还公开了b20.一种数据库集群自动优化处理装置,包括:

采集模块,适于监控数据库集群的状态信息,采集与预设状态指标对应的数据库集群的状态指标特征信息;

分析模块,适于根据所述数据库集群的状态指标特征信息,分析数据库集群的运行状况;以及

处理模块,适于针对运行状况触发相应的故障处理措施和/或优化处理措施进行自动优化处理。

b21.根据b20所述的装置,其中,所述预设状态指标包括:访问情况、连接数占用情况、内存占用情况、磁盘容量占用情况、索引使用情况、网络流量、节点状态、数据查询情况和/或节点日志信息。

b22.根据b20或b21所述的装置,其中,所述采集模块进一步适于:采集与预设状态指标对应的历史时间段内和/或实时的数据库集群的状态指标特征信息。

b23.根据b20-b22任一项所述的装置,其中,所述采集模块进一步适于:采集数据库集群中各个节点的节点状态特征信息;

所述分析模块进一步适于:根据节点状态特征信息,判断所述数据库集群中各个节点的运行状况是否为异常。

b24.根据b23所述的装置,其中,所述处理模块进一步适于:

针对运行状况为异常的节点,暂停该节点对外提供服务;以及

对所述节点中的数据进行恢复处理。

b25.根据b20-b22任一项所述的装置,其中,所述采集模块进一步适于:采集数据库集群中数据查询请求的响应时间和并发数;

所述分析模块进一步适于:根据预设响应时间阈值和预设并发数阈值判断所述数据库集群中数据查询请求是否为待处理的慢查询请求。

b26.根据b25所述的装置,其中,所述处理模块进一步适于:若数据查询请求为待处理的慢查询请求,停止执行该数据查询请求。

b27.根据b20-b22任一项所述的装置,其中,所述采集模块进一步适于:采集数据库集群中的节点日志信息;

所述分析模块进一步适于:扫描节点日志信息,根据节点日志信息的校验值判断数据文件、索引文件和/或元数据文件是否损坏,和/或,根据节点日志信息判断节点是否出现崩溃情况。

b28.根据b27所述的装置,其中,所述处理模块进一步适于:

若数据文件、索引文件和/或元数据文件损坏,和/或,节点出现崩溃情况,则对所述节点内的数据进行恢复处理。

b29.根据b20-b22任一项所述的装置,其中,所述采集模块进一步适于:采集数据库集群中的节点日志信息;

所述分析模块进一步适于:扫描节点日志信息,判断节点的连接数是否已经超过预设连接数阈值。

b30.根据b29所述的装置,其中,所述处理模块进一步适于:若节点的连接数已经超过预设连接数阈值,则调整所述预设连接数阈值。

b31.根据b20-b22任一项所述的装置,其中,所述采集模块进一步适于:采集数据库集群中的网络流量、业务访问特征、i/o使用率和/或集群容量占用情况;

所述分析模块进一步适于:根据预设网络流量阈值、预设业务访问特征阈值、预设i/o使用率阈值和/或预设集群容量占用情况阈值判断集群容量是否满足当前业务需求;

b32.根据b31所述的装置,其中,所述处理模块进一步适于:若集群容量不能满足当前业务需求,则进行自动扩容。

b33.根据b20-b22中任一项所述的装置,其中,所述采集模块进一步适于:采集业务使用方对数据库集群的容量占用情况和/或业务访问特征;

所述分析模块进一步适于:根据业务使用方对数据库集群的容量占用情况和/或业务访问特征的变化趋势,判断所述业务使用方的套餐级别设置是否合理。

b34.根据b33所述的装置,其中,所述处理模块进一步适于:若所述业务使用方的套餐级别设置不合理,则根据所述变化趋势对所述业务使用方的套餐级别进行调整。

b35.根据b20-b22任一项所述的装置,其中,所述分析模块进一步适于:

对所述状态指标特征信息进行采样分析和计算;以及

根据计算结果判断集群参数的设置是否合理,其中,集群参数包括内存参数、磁盘容量参数、压缩方式参数、和/或存储引擎参数。

b36.根据b35所述的装置,其中,所述处理模块进一步适于:

若集群参数的设置不合理,根据计算结果调整集群参数。

b37.根据b20-b22任一项所述的装置,其中,所述采集模块进一步适于:采集索引使用信息;

所述分析模块进一步适于:

根据索引使用信息,分析是否存在重复索引;

和/或,根据索引使用信息,分析索引利用率;

和/或,根据业务访问情况,分析是否需要创建新的索引。

b38.根据b37所述的装置,其中,所述处理模块进一步适于:

针对重复索引,进行删除处理;

和/或,删除索引利用率低于预设利用率阈值的索引;

和/或,针对业务访问度高于预设访问度阈值的访问字段,创建与所述访问字段对应的新的索引。

本发明还公开了c39.一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如a1-a19中任一项所述的数据库集群自动优化处理方法对应的操作。

本发明还公开了d40.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行a1-a19中任一项所述的数据库集群自动优化处理方法对应的操作。

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