[发明专利]数据库状态的检测方法、装置、电子设备及其存储介质有效
申请号: | 202010310910.5 | 申请日: | 2020-04-20 |
公开(公告)号: | CN111552637B | 公开(公告)日: | 2023-05-19 |
发明(设计)人: | 任冠亚 | 申请(专利权)人: | 北京顺达同行科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳紫藤知识产权代理有限公司 44570 | 代理人: | 远明 |
地址: | 100089 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 状态 检测 方法 装置 电子设备 及其 存储 介质 | ||
1.一种数据库状态的检测方法,其特征在于,应用于应用服务器,所述应用服务器对应连接有主数据库和至少一个从属数据库,包括:
获取应用服务器中的中间件的运行状态;
当获取到所述中间件的运行状态为启动状态时,在所述中间件中创建检验数据库的多个校验协程,所述多个校验协程包括第一校验协程,其中第一校验协程用于等待中间件中其他协程的调用;
根据所述多个校验协程确定主数据库的状态,其包括:
根据多个校验协程进行数据库校验得到多个校验状态,所述多个校验状态为除了第一校验协程外的多个校验协程分别进行数据库检验得到的状态;
当所述多个校验状态中任一校验状态为异常状态时,则根据所述第一校验协程获取并校验所述多个校验状态;
如果第一校验协程检测到任意一个校验协程的状态为正常状态时,则确定主数据库未发生故障,第一校验协程放弃继续对其他校验协程的校验,如果第一校验协程检验到其他所有校验协程的状态都为异常状态时,则确定主数据库故障。
2.如权利要求1所述的方法,其特征在于,所述多个校验协程包括第二校验协程,所述多个校验状态包括第一校验状态,所述第一校验状态为第二校验协程检验数据库得到的状态;
所述根据所述多个校验状态确定主数据库的状态的步骤,包括:
根据所述第二校验协程获取第一值、第二值以及第三值,所述第一值为所述第二校验协程将数据写入请求发送到数据库的主数据库节点上的次数,所述第二值为所述第二校验协程接收到的数据写入请求返回所述主数据库节点上的次数,所述第三值为根据所述第一值和第二值得到的第三值;
将所述第三值和第一预设阈值进行比较,得到比较结果;
根据所述比较结果得到所述第一校验状态。
3.如权利要求2所述的方法,其特征在于,所述多个校验协程包括第三校验协程,所述多个校验状态包括第二校验状态,所述第二校验状态为第三校验协程检验数据库得到的状态;
所述根据所述多个校验状态确定主数据库的状态的步骤,包括:
根据所述第三校验协程将检验数据插入主数据库的请求发送至所述主数据库节点,得到第一结果和第二结果,所述第一结果为将所述数据是否成功插入主数据库的结果,所述第二结果为请求发送是否成功的结果;
根据所述第一结果和第二结果,得到所述第二校验状态。
4.如权利要求2-3任一权利要求所述的方法,其特征在于,所述多个校验协程包括第四校验协程,所述多个校验状态包括第四校验状态,所述第四校验状态为第三校验协程检验数据库得到的状态;
所述根据所述多个校验状态确定主数据库的状态的步骤,包括:
根据所述第四校验协程获取从属数据库的读写线程的状态,所述读写线程的状态为所述从属数据库通过所述读写线程与所述主数据库的连接状态;
根据所述读写线程的状态得到第三校验状态。
5.如权利要求4所述的方法,其特征在于,所述根据所述多个校验状态确定主数据库的状态的步骤,包括:
当第一校验状态、第二校验状态以及第三校验状态均为异常状态时,确定所述数据库的状态为异常状态;
当第一校验状态、第二校验状态、第三校验状态中的任一校验状态为正常状态时,确定所述数据库的状态为正常状态。
6.如权利要求5所述的方法,其特征在于,所述确定所述数据库的状态为异常状态的步骤之后,还包括:
当确定所述数据库的状态为异常状态时,在所述至少一个从属数据库中选择目标数据库,将所述目标数据库调整为主数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京顺达同行科技有限公司,未经北京顺达同行科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010310910.5/1.html,转载请声明来源钻瓜专利网。