一种数据库集群的故障检测方法和装置制造方法及图纸

技术编号:13038522 阅读:45 留言:0更新日期:2016-03-23 10:28
本发明专利技术实施例提供了一种数据库集群的故障检测方法和装置,其中的方法具体包括:接收用户输入的检测对象参数和检测项目参数;确定所述数据库集群中所述检测对象参数对应的目标服务器;以及在远程登录所述目标服务器后,执行所述检测项目参数对应的检测操作,以得到对应的检测结果。本发明专利技术实施例能够实现自动检测数据库集群中存在的故障,从而可以简化故障检测的操作、以及可以降低故障检测的难度。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种数据库集群的故障检测方法和装置
技术介绍
随着计算机和网络技术的迅速发展,数据库集群广泛应用于各种领域,尤其用于存储海量数据。在具体应用中,数据库集群通常可以包括一个主数据库(Master)和多个从数据库(Slave),以MySQL数据库为例,参照图1,示出了现有一种MySQL数据库集群的架构示意图,其具体包括:主数据库Master和三个从数据库Slave,分别为Slave-1、Slave_2和Slave-3。其中,Slave-1和Slave-2位于机房1,Slave-3位于机房2。主数据库mas ter分别与从数据库 Slave-1、Slave_2 和 Slave-3 连接。在实际应用中,主数据库或者从数据库都有可能因为各种原因出现故障,例如出现用户无法登录数据库、数据查询速度较慢等情况。目前,通常采用人工方式对数据库集群中的故障进行检测,具体地,人工登录数据库集群中的主数据库和从数据库,通过对执行SQL语句得到的结果进行分析,检测数据库的状态,从而找到故障原因。然而,在数据库服务器数量较多时,现有的数据库故障检测方法不仅耗费大量的人力资源和时间资源,导致故障检测的效率低下,而且通过执行SQL语句来检测数据库的状态,往往需要较高的专业技术水平,因此,对故障检测人员的要求也较高,为数据库的故障检测带来困难。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据库集群的故障检测方法和装置。依据本专利技术的一个方面,提供了一种数据库集群的故障检测方法,包括:接收用户输入的检测对象参数和检测项目参数;确定所述数据库集群中所述检测对象参数对应的目标服务器;以及在远程登录所述目标服务器后,执行所述检测项目参数对应的检测操作,以得到对应的检测结果。可选地,所述检测项目参数对应的检测操作为连通性检测;所述执行所述检测项目参数对应的检测操作的步骤,进一步包括:通过所述目标服务器中的预置账户信息对目标数据库执行连通性检测,将对应连通性检测结果中的异常数据作为对应的检测结果。可选地,所述通过所述目标服务器中的预置账户信息对目标数据库执行连通性检测,将对应连通性检测结果中的异常数据作为对应的检测结果的步骤,进一步包括:使用所述目标服务器中的预置账户信息连接所述目标数据库,以得到所述目标数据库的连接状态信息;在所述连接状态信息符合预置条件时,将所述连接状态信息作为对应的检测结果Ο可选地,所述检测项目参数对应的检测操作为代理检测;所述执行所述检测项目参数对应的检测操作的步骤,进一步包括:查询所述目标服务器中记录的数据库访问日志,并将查询得到的异常访问记录作为对应的检测结果;其中,所述数据库访问日志中记录有通过所述目标服务器间接访问目标数据库的访问记录。可选地,所述异常访问记录包括以下任一种:所述数据库访问日志中预置时间段内的访问报错信息;所述数据库访问日志中满足预置慢查询条件的访问记录。可选地,所述检测项目参数对应的检测操作为数据库状态检测;所述执行所述检测项目参数对应的检测操作的步骤,进一步包括:在所述目标服务器中执行数据库状态查询操作,以获取数据库的状态信息,将所述状态信息中的异常状态信息作为对应的检测结果。可选地,所述状态信息包括:所述数据库的可用内存信息,则所述将所述状态信息中的异常状态信息作为对应的检测结果的步骤,进一步包括:在所述数据库的可用内存信息小于预设门限时,将相应的状态信息作为对应的检测结果。可选地,所述远程登录所述目标服务器的步骤,进一步包括:根据所述目标服务器的数目,建立对应数目的进程;通过所述对应数目的进程,并行执行远程登录目标服务器的操作。可选地,所述确定所述数据库集群中所述检测对象参数对应的目标服务器的步骤,进一步包括:根据所述检测对象参数查询预置的管理配置文件,得到与所述检测对象参数对应的目标服务器的信息;根据所述目标服务器的信息生成服务器列表,所述服务器列表中包括至少一个目标服务器的信息。可选地,所述目标服务器的信息包括:目标服务器的地址信息、账户名称信息以及账户密码信息;相应地,所述远程登录所述目标服务器的步骤,进一步包括:根据所述目标服务器的地址信息、账户名称信息以及账户密码信息,远程登录所述服务器列表中对应的目标服务器。可选地,所述方法还包括:通过预置页面方式展现所述检测结果。依据本专利技术的另一方面,提供了一种数据库集群的故障检测装置,包括:参数接收模块,用于接收用户输入的检测对象参数和检测项目参数;目标服务器确定模块,用于确定所述数据库集群中所述检测对象参数对应的目标服务器;以及检测执行模块,用于在远程登录所述目标服务器后,执行所述检测项目参数对应的检测操作,以得到对应的检测结果。可选地,所述检测项目参数对应的检测操作为连通性检测;所述检测执行模块,进一步包括:连通性检测子模块,用于通过所述目标服务器中的预置账户信息对目标数据库执行连通性检测,将对应连通性检测结果中的异常数据作为对应的检测结果。可选地,所述连通性检测子模块,进一步包括:连接状态获取单元,用于使用所述目标服务器中的预置账户信息连接所述目标数据库,以得到所述目标数据库的连接状态信息;连通性结果获取单元,用于在所述连接状态信息符合预置条件时,将所述连接状态信息作为对应的检测结果。可选地,所述检测项目参数对应的检测操作为代理检测;所述检测执行模块,进一步包括:代理检测子模块,用于查询所述目标服务器中记录的数据库访问日志,并将查询得到的异常访问记录作为对应的检测结果;其中,所述数据库访问日志中记录有通过所述目标服务器间接访问目标数据库的访问记录。可选地,所述异常访问记录包括以下任一种:所述数据库访问日志中预置时间段内的访问报错信息;所述数据库访问日志中满足预置慢查询条件的访问记录。可选地,所述检测项目参数对应的检测操作为数据库状态检测;所述检测执行模块,进一步包括:数据库状态检测子模块,用于在所述目标服务器中执行数据库状态查询操作,以获取数据库的状态信息,将所述状态信息中的异常状态信息作为对应的检测结果。可选地,所述状态信息包括:所述数据库的可用内存信息,则所述数据库状态检测子模块,进一步包括:状态结果获取单元,用于在所述数据库的可用内存信息小于预设门限时,将相应的状态信息作为对应的检测结果。可选地,所述检测执行模块,进一步包括:进程创建子模块,用于根据所述目标服务器的数目,建立对应数目的进程;并行登录子模块,用于通过所述对应数目的进程,并行执行远程登录目标服务器的操作。可选地,所述目标服务器确定模块,进一步包括:信息查询子模块,用于根据所述检测对象参数查询预置的管理配置文件,得到与所述检测对象参数对应的目标服务器的信息;列表生成子模块,用于根据所述目标服务器的信息生成服务器列表;所述服务器列表中包括至少一个目标服务器的信息。可选地,所述目标服务器的信息包括:目标服务器的地址信息、账户名称信息以及账户密码信息;相应地,所述检测执行模块,进一步包括:远程登录子模块,用于根据所述目标服务器的地址信息、账户名称信息以及账户密码信息,远程登录所述服务器列表中对应的目标服务器。 可选地,所述装置还包括:结果展现模块,用于通过预置页面本文档来自技高网...

【技术保护点】
一种数据库集群的故障检测方法,包括:接收用户输入的检测对象参数和检测项目参数;确定所述数据库集群中所述检测对象参数对应的目标服务器;以及在远程登录所述目标服务器后,执行所述检测项目参数对应的检测操作,以得到对应的检测结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:贾欣桥杨挺王立新
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1