CN111198921A - 数据库的切换方法、装置、计算机设备和存储介质 - Google Patents

数据库的切换方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111198921A
CN111198921A CN201911425277.8A CN201911425277A CN111198921A CN 111198921 A CN111198921 A CN 111198921A CN 201911425277 A CN201911425277 A CN 201911425277A CN 111198921 A CN111198921 A CN 111198921A
Authority
CN
China
Prior art keywords
database
master
slave
databases
available
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911425277.8A
Other languages
English (en)
Inventor
王越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mbcloud Shenzhen Information Technology Co ltd
Original Assignee
Mbcloud Shenzhen Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mbcloud Shenzhen Information Technology Co ltd filed Critical Mbcloud Shenzhen Information Technology Co ltd
Priority to CN201911425277.8A priority Critical patent/CN111198921A/zh
Publication of CN111198921A publication Critical patent/CN111198921A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据库的切换方法、装置、计算机设备和存储介质。所述方法包括:首先通过计算机设备同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;然后若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;最后按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。采用本方法能够简化数据库的切换的操作过程。

Description

数据库的切换方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据库的切换方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,数据库的使用变得越来越常见。一般情况下,为了保证数据库可以稳定地提供服务,出现了相关的数据库高可用架构的技术。在数据库高可用架构技术中,往往会为主数据库配置从数据库,从数据库的数量可以是一个,也可以是多个。当主数据库出现故障时,会自动切换至从数据库,以此保证数据库可以稳定地提供服务。
传统技术中的数据库高可用架构,针对每一套高可用架构,都需要部署一个中间件,该中间件用于监测主数据库和从数据库的状态,进而使主数据库切换至从数据库。
但是,传统技术需为每一套高可用架构都部署一个中间件,并配置相应的参数,其操作比较繁琐。
发明内容
基于此,有必要针对上述技术问题,提供一种能够简化操作的数据库的切换方法、装置、计算机设备和存储介质。
第一方面,提供一种数据库的切换方法,该方法包括:
计算机设备同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;
若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;
按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
在其中一个实施例中,与该主数据库对应的可用从数据库包括多个,上述按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,包括:
计算机设备从多个该可用从数据库中,随机选择一个作为该目标从数据库。
在其中一个实施例中,在计算机设备同时获取数据库集群中多个主数据库的状态信息之后,上述方法还包括:
计算机设备对该主数据库进行预设次数的状态检测;
若预设次数的检测结果都为不可用,表征该主数据库当前不可用。
在其中一个实施例中,计算机设备同时获取数据库集群中多个主数据库的状态信息,包括:
计算机设备获取该数据库集群中当前可以访问的数据库;
若该数据库集群中当前可以访问的数据库为主数据库,获取该主数据库的状态信息。
在其中一个实施例中,在计算机设备获取该数据库集群中当前可以访问的数据库之后,该方法还包括:
若该数据库集群中当前可以访问的数据库为从数据库,计算机设备检测该从数据库的状态信息;
在该数据库集群中更新该从数据库的状态信息,并发送相应的提醒消息。
在其中一个实施例中,若该主数据库当前不可用,获取数据库集群中与该主数据库对应的可用从数据库,包括:
计算机设备获取与该主数据库对应的从数据库的失效转移参数;该失效转移参数用于表征是否存在与该主数据库对应的可用的从数据库;
根据从数据库的失效转移参数,确定可用从数据库。
在其中一个实施例中,在计算机设备同时获取数据库集群中多个主数据库的状态信息之前,该方法还包括:
计算机设备获取该数据库集群中当前不可访问的数据库;
在该数据库集群中更新该当前不可访问的数据库的状态信息,并发送相应的提醒消息。
第二方面,提供一种数据库的切换装置,该装置包括:
第一获取模块,用于同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;
第二获取模块,用于若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;
切换模块,用于按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
第三方面,提供一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现以下步骤:
同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;
若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;
按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;
若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;
按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
上述数据库的切换方法、装置、计算机设备和存储介质,能够同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;然后若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;最后按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。因为本申请提供的数据库的切换方法,在管理多套主数据库和从数据库时,不需要为每套高可用架构中的主数据库和从数据库都配置中间件,也可以实现当主数据库出现故障时,切换至相应的从数据库代替故障的主数据库继续提供数据服务。因此,本申请提供的数据库的切换方法,避免了因为配置中间件带来的操作繁琐的问题,从而极大地简化了数据库的切换的操作过程。
附图说明
图1为一个实施例中数据库的切换方法的应用环境图;
图2为一个实施例中数据库的切换方法的流程示意图;
图3为另一个实施例中数据库的切换方法的流程示意图;
图4为又一个实施例中数据库的切换方法的流程示意图;
图5为又一个实施例中数据库的切换方法方法的流程示意图;
图6为又一个实施例中数据库的切换方法的流程示意图;
图7为又一个实施例中数据库的切换方法的流程示意图;
图8为一个实施例中数据库的切换装置的结构框图;
图9为另一个实施例中数据库的切换装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据库的切换方法,可以应用于如图1所示的应用环境中。其中,该计算机设备可以是服务器,该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据库的切换数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库的切换方法。
在本申请实施例中,如图2所示,提供了一种数据库的切换方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
步骤201,计算机设备同时获取数据库集群中多个主数据库的状态信息;该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库。
一般情况下,计算机软件系统都有固定的提供数据服务的数据库,这些数据库可以被称为主数据库。在主数据库正常的情况下,计算机软件系统会一直使用主数据库提供的数据服务,但是主数据库经常会因为网络断开、并发请求数增加或语法错误等原因出现故障,当主数据库出现故障时,计算机软件系统就得不到相应的数据服务,此时就需要采取相应的故障应对措施。
因此,对主数据库的状态信息进行监控是十分必要的,本步骤中,计算机设备可以监控多个主数据库和从数据库。其中,管理人员可以预先设置需要监控的主数据库和从数据库有哪些。例如,管理人员可以在监控名单中插入想要监控的对象信息,该对象信息可以是主数据库或从数据库的地址信息。
可选的,该计算机设备可以定时获取数据库集群中主数据库的状态信息,也可以实时获取数据库集群中主数据库的状态信息,然后计算机设备会根据获取到的主数据库的状态信息更新数据库集群的信息。
步骤202,若该主数据库当前不可用,该计算机设备获取该数据库集群中与该主数据库对应的可用从数据库。
一般情况下,一个计算机软件系统的主数据库会对应至少一个从数据库,为主数据库配置相应的从数据库是为了应对主数据库出现故障的情况。
若当前监测到主数据库的状态是不可用时,证明当前的主数据库已经无法为计算机软件系统提供正常的数据服务,此时需要通过从数据库完成故障应对,所以需要获取发生故障的主数据库对应的从数据库有哪些,可选的,计算机设备可以通过主数据库的标签名获取与主数据库对应的从数据库有哪些,标签名表示主数据库提供数据服务的计算机软件系统的标识,一套主从数据库对应的标签名是相同的。
步骤203,按照预设的规则,该计算机设备在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
在获取到主数据库对应的可用从数据库有哪些以后,可以在其中选择一个目标从数据库,然后切换至该目标从数据库为计算机软件系统继续提供数据服务。
可选的,计算机设备可以通过数据库集群信息获知与当前主数据库对应的可用从数据库有哪些。该预设的规则可以是随机选择、提前指定或根据预先设置的优先级来选择。
上述数据库的切换方法中,首先通过计算机设备同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;然后若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;最后按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。因为本申请提供的数据库的切换方法,在管理多套主数据库和从数据库时,不需要为每套高可用架构中的主数据库和从数据库都配置中间件,也可以实现当主数据库出现故障时,切换至相应的从数据库代替故障的主数据库继续提供数据服务。因此,本申请提供的数据库的切换方法,避免了因为配置中间件带来的操作繁琐的问题,从而极大地简化了数据库的切换的操作过程。
在本申请实施例中,可选的,与该主数据库对应的可用从数据库包括多个,上述步骤203可以包括:该计算机设备从多个该可用从数据库中,随机选择一个作为该目标从数据库。
本申请实施例中,随机选择可以通过相关的算法来实现,例如通过哈希算法完成随机选择的过程。被选择的从数据库会被作为目标从数据库,然后进行下一步的切换操作。
本申请实施例中,通过设置相关的随机选择算法,使得计算机设备在选择目标从数据库时可以更加快速而且准确,提高了计算机设备选择目标从数据库的效率。
在本申请实施例中,请参考图3,提供了一种数据库的切换方法,在上述实施例的基础上,该方法还包括:
步骤301,该计算机设备对该主数据库进行预设次数的状态检测。
实际应用中,在主数据库为计算机软件系统提供数据服务的时候,常常会因为网络抖动等常见的瞬发性原因造成短暂的故障,但是这种短暂的故障在短时间内是很容易重新恢复到正常状态,且不会影响主数据库继续提供数据服务。因此,当主数据库只是出现了常见的瞬发性故障时,无需进行切换到从数据库的操作。
为了避免无用切换和频繁切换造成的资源浪费,在检测主数据库的状态时,可以设置一个次数阈值。具体的,预设的次数阈值为3次,当初步检查到当前主数据库不可用时,不进行切换到从数据库的操作,而是继续检查主数据库的状态是否正常,以此确定当前主数据库是否真的出现故障,以及故障是否只是由于常见的瞬发性原因造成的。
步骤302,若该预设次数的检测结果都为不可用,表征该主数据库当前不可用。
在上述步骤302的基础上,当检查三次主数据库的状态之后,根据三次检查得到的结果进一步判断当前主数据库是否出现故障。当连续三次的检查结果都指示当前主数据库的状态为不可用时,就可以确定当前的主数据库确实是不可用的,当确定当前数据库确实不可用时,就可以进行上述实施例中切换到目标从数据库继续为计算机软件系统提供数据服务的操作。
本申请实施例中,通过对主数据库进行多次反复检查,避免了因为常见的瞬发性原因造成的无用的切换,使得最终判断得到的主数据库的状态信息更加准确。
在本申请实施例中,请参考图4,上述步骤201可以包括:
步骤401,该计算机设备获取该数据库集群中当前可以访问的数据库。
上述步骤201是计算机设备同时获取数据库集群中多个主数据库的状态信息。具体的,可以计算机设备可以先获取数据库集群中当前可以访问的数据库有哪些,然后再获取数据库集群中多个主数据库的状态信息。
步骤402,若该数据库集群中当前可以访问的数据库为主数据库,该计算机设备获取该主数据库的状态信息。
计算机设备可以在获取到的可用数据库中,判断哪些主数据库,然后选择其中的主数据库,继续获取这些主数据库的状态信息,继而在数据库集群中更新主数据库的状态信息。可选的,计算机设备可以根据数据库的角色名(英文:role)判断得出数据库是主数据库还是从数据库。一般来说,主数据库的标签是主库(英文:master),从数据库的标签是从库(英文:slave)。
本申请实施例中,通过在数据库集群中首先获取可以访问的数据库,然后再从可以访问的数据库中获取主数据库,而获取到的主数据库才可以进入后续的一系列故障判断和切换至从库的操作。保证了可以精确地对从正常状态转变为故障状态的主数据库进行监测和切换。
在本申请实施例中,请参考图5,提供了一种数据库的切换方法,在上述实施例的基础上,该方法还包括:
步骤501,若该数据库集群中当前可以访问的数据库为从数据库,该计算机设备检测该从数据库的状态信息。
本申请实施例中,针对主数据库和从数据库有不同的操作流程。本步骤是针对从数据库的操作流程之一。在经过上述实施例中,经过获取数据库集群中可用的数据库之后,需要从可用的数据库中获取从数据库,然后针对从数据库进行专属操作。
步骤502,该计算机设备在该数据库集群中更新该从数据库的状态信息,并发送相应的提醒消息。
在获取到可用数据库中的从数据库后,可以继续检测从数据库的状态信息,然后在数据库集群中更新从数据库的状态信息,可选的,当检测到从数据库的状态为不可用时,可以发送相应的提醒消息,提醒消息可以包含当前不可用的从数据库的地址信息、故障持续的时长信息和故障的严重等级等。
本申请实施例中,通过检测在获取到可用数据库集群中的从数据库信息后,又进一步对从数据库进行监测,然后发送提醒消息,使管理人员可以充分掌握当前数据库集群中从数据库的状态信息。
在本申请实施例中,请参考图6,上述步骤202可以包括:
步骤601,该计算机设备获取与该主数据库对应的从数据库的失效转移参数;该失效转移参数用于表征是否存在与该主数据库对应的可用的从数据库。
其中,该失效转移参数可以包括标签名(英文:tag)、角色名(英文:role)、是否为候选的从数据库(英文:slave-candidate)和状态信息(英文:status)。其中,标签名表示该从数据库对应的计算机软件应用的标签;角色名表示数据库是否为从数据库;是否为候选的从数据库表示从数据库是否属于对应主数据库的候选数据库,是为1,不是为0;状态信息表示从数据库当前是否可用,可用为1,不可用为0。
步骤602,该计算机设备根据该从数据库的失效转移参数,确定该可用从数据库。
具体的,只有同时满足标签名与主数据库相同(与故障主数据库对应的是同一个计算机软件系统)、角色为从库、属于当前故障主数据库的候选数据库且状态信息为可用的从数据库才可以称为该故障主数据库的可用从数据库,然后接受进一步的选择目标从数据库的流程。
本申请实施例中,通过利用失效转移参数,可以精确筛选出故障主数据库的可用从数据库,提高了本申请数据库的切换准确性。
在本申请实施例中,请参考图7,提供了一种数据库的切换方法,该方法包括:
步骤701,该计算机设备获取该数据库集群中当前不可访问的数据库。
数据库是否不可用对于整个数据库集群来说是十分重要的,对于数据库集群中不可访问的数据库,计算机设备需要对不可访问的数据库进行监测。可选的,计算机设备可以通过实时或定时获取数据库的状态信息判断出数据库是否可用。
步骤702,该计算机设备在该数据库集群中更新该当前不可访问的数据库的状态信息,并发送相应的提醒消息。
在计算机设备获取到数据库集群中不可访问的数据库后,可以在数据库集群中实时或定时更新当前不可访问的数据库的状态信息。以使当前数据库集群中的数据库的状态信息可以更加准确地反应各个数据库的状态。此外,计算机设备通过邮件或者短信等方式还可以发送相应的提醒消息。
本申请实施例中,计算机设备通过获取数据库集群中不可访问的数据库,然后更新数据库集群中的信息并且发送提醒消息,使得管理员可以更好的掌握当前数据库集群中不可用的数据库的状态信息。
应该理解的是,虽然图2至图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在本申请实施例中,如图8所示,提供了一种数据库的切换装置800,包括:第一获取模块801、第二获取模块802和切换模块803,其中:
第一获取模块801,用于同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;
第二获取模块802,用于若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;
切换模块803,用于按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
在本申请实施例中,与该主数据库对应的可用从数据库包括多个,该切换模块具体803,用于从多个该可用从数据库中,随机选择一个作为该目标从数据库。
在本申请实施例中,请参考图9,提供了另一种数据库的切换装置900,该数据库的切换装置还包括:第一检测模块804,用于对该主数据库进行预设次数的状态检测;若该预设次数的检测结果都为不可用,表征该主数据库当前不可用。
在本申请实施例中,该第一获取模块801,具体用于获取该数据库集群中当前可以访问的数据库;若该数据库集群中当前可以访问的数据库为主数据库,获取该主数据库的状态信息。
在本申请实施例中,请参考图9,该数据库的切换装置还包括第二检测模块805,用于若该数据库集群中当前可以访问的数据库为从数据库,检测该从数据库的状态信息;在该数据库集群中更新该从数据库的状态信息,并发送相应的提醒消息。
在本申请实施例中,该第二获取模块802,具体用于获取与该主数据库对应的从数据库的失效转移参数;该失效转移参数用于表征是否存在与该主数据库对应的可用的从数据库;根据该从数据库的失效转移参数,确定可用从数据库。
在本申请实施例中,请参考图9,该装置还包括第三获取模块806,用于获取该数据库集群中当前不可访问的数据库;在该数据库集群中更新该当前不可访问的数据库的状态信息,并发送相应的提醒消息。
关于数据库的切换装置的具体限定可以参见上文中对于数据库的切换方法的限定,在此不再赘述。上述数据库的切换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本申请实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据库的切换数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库的切换方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本申请实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;
若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;
按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
在本申请实施例中,与该主数据库对应的可用从数据库包括多个,处理器执行计算机程序时还实现以下步骤:
从多个可用从数据库中,随机选择一个作为目标从数据库。
在本申请实施例中,处理器执行计算机程序时还实现以下步骤:
对该主数据库进行预设次数的状态检测;若该预设次数的检测结果都为不可用,表征该主数据库当前不可用。
在本申请实施例中,处理器执行计算机程序时还实现以下步骤:
获取该数据库集群中当前可以访问的数据库;若该数据库集群中当前可以访问的数据库为主数据库,获取该主数据库的状态信息。
在本申请实施例中,处理器执行计算机程序时还实现以下步骤:
若该数据库集群中当前可以访问的数据库为从数据库,检测该从数据库的状态信息;在该数据库集群中更新从数据库的状态信息,并发送相应的提醒消息。
在本申请实施例中,处理器执行计算机程序时还实现以下步骤:
获取与该主数据库对应的从数据库的失效转移参数;该失效转移参数用于表征是否存在与该主数据库对应的可用的从数据库;根据该从数据库的失效转移参数,确定可用从数据库。
在本申请实施例中,处理器执行计算机程序时还实现以下步骤:
获取该数据库集群中当前不可访问的数据库;在数据库集群中更新该当前不可访问的数据库的状态信息,并发送相应的提醒消息。
在本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
同时获取数据库集群中多个主数据库的状态信息,该状态信息用于表征该主数据库是否可用,该数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与该主数据库对应的从数据库;
若该主数据库当前不可用,获取该数据库集群中与该主数据库对应的可用从数据库;
按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为该目标从数据库。
在本申请实施例中,与该主数据库对应的可用从数据库包括多个,计算机程序被处理器执行时还实现以下步骤:
该按照预设的规则,在与该主数据库对应的可用从数据库中选择目标从数据库,包括:从多个可用从数据库中,随机选择一个作为目标从数据库。
在本申请实施例中,计算机程序被处理器执行时还实现以下步骤:
对该主数据库进行预设次数的状态检测;若该预设次数的检测结果都为不可用,表征该主数据库当前不可用。
在本申请实施例中,计算机程序被处理器执行时还实现以下步骤:
获取该数据库集群中当前可以访问的数据库;若该数据库集群中当前可以访问的数据库为主数据库,获取该主数据库的状态信息。
在本申请实施例中,计算机程序被处理器执行时还实现以下步骤:
若该数据库集群中当前可以访问的数据库为从数据库,检测该从数据库的状态信息;在该数据库集群中更新该从数据库的状态信息,并发送相应的提醒消息。
在本申请实施例中,计算机程序被处理器执行时还实现以下步骤:
获取与该主数据库对应的从数据库的失效转移参数;该失效转移参数用于表征是否存在与该主数据库对应的可用的从数据库;根据该从数据库的失效转移参数,确定该可用从数据库。
在本申请实施例中,计算机程序被处理器执行时还实现以下步骤:
获取该数据库集群中当前不可访问的数据库;在数据库集群中更新该当前不可访问的数据库的状态信息,并发送相应的提醒消息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据库的切换方法,其特征在于,所述方法包括:
计算机设备同时获取数据库集群中多个主数据库的状态信息,所述状态信息用于表征所述主数据库是否可用,所述数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与所述主数据库对应的从数据库;
若所述主数据库当前不可用,获取所述数据库集群中与所述主数据库对应的可用从数据库;
按照预设的规则,在与所述主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为所述目标从数据库。
2.根据权利要求1所述的方法,其特征在于,与所述主数据库对应的可用从数据库包括多个,所述按照预设的规则,在与所述主数据库对应的可用从数据库中选择目标从数据库,包括:
所述计算机设备从多个所述可用从数据库中,随机选择一个作为所述目标从数据库。
3.根据权利要求1或2所述的方法,其特征在于,在所述计算机设备同时获取数据库集群中多个主数据库的状态信息之后,所述方法还包括:
所述计算机设备对所述主数据库进行预设次数的状态检测;
若所述预设次数的检测结果都为不可用,表征所述主数据库当前不可用。
4.根据权利要求1所述的方法,其特征在于,所述计算机设备同时获取数据库集群中多个主数据库的状态信息,包括:
所述计算机设备获取所述数据库集群中当前可以访问的数据库;
若所述数据库集群中当前可以访问的数据库为主数据库,获取所述主数据库的状态信息。
5.根据权利要求4所述的方法,其特征在于,在所述计算机设备获取所述数据库集群中当前可以访问的数据库之后,所述方法还包括:
若所述数据库集群中当前可以访问的数据库为从数据库,所述计算机设备检测所述从数据库的状态信息;
在所述数据库集群中更新所述从数据库的状态信息,并发送相应的提醒消息。
6.根据权利要求1所述的方法,其特征在于,若所述主数据库当前不可用,获取所述数据库集群中与所述主数据库对应的可用从数据库,包括:
所述计算机设备获取与所述主数据库对应的从数据库的失效转移参数;所述失效转移参数用于表征是否存在与所述主数据库对应的可用的从数据库;
根据所述从数据库的失效转移参数,确定所述可用从数据库。
7.根据权利要求1所述的方法,其特征在于,在所述计算机设备同时获取数据库集群中多个主数据库的状态信息之前,所述方法还包括:
所述计算机设备获取所述数据库集群中当前不可访问的数据库;
在所述数据库集群中更新所述当前不可访问的数据库的状态信息,并发送相应的提醒消息。
8.一种数据库的切换装置,其特征在于,所述装置包括:
第一获取模块,用于同时获取数据库集群中多个主数据库的状态信息,所述状态信息用于表征所述主数据库是否可用,所述数据库集群包括分别为多个计算机软件系统提供数据服务的多个主数据库和与所述主数据库对应的从数据库;
第二获取模块,用于若所述主数据库当前不可用,获取所述数据库集群中与所述主数据库对应的可用从数据库;
切换模块,用于按照预设的规则,在与所述主数据库对应的可用从数据库中选择目标从数据库,并将为当前计算机软件系统提供数据服务的主数据库切换为所述目标从数据库。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201911425277.8A 2019-12-31 2019-12-31 数据库的切换方法、装置、计算机设备和存储介质 Pending CN111198921A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911425277.8A CN111198921A (zh) 2019-12-31 2019-12-31 数据库的切换方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911425277.8A CN111198921A (zh) 2019-12-31 2019-12-31 数据库的切换方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN111198921A true CN111198921A (zh) 2020-05-26

Family

ID=70746680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911425277.8A Pending CN111198921A (zh) 2019-12-31 2019-12-31 数据库的切换方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111198921A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199356A (zh) * 2020-12-09 2021-01-08 北京顺达同行科技有限公司 故障处理方法、装置、服务器以及存储介质
CN113296804A (zh) * 2020-09-01 2021-08-24 阿里云计算有限公司 升级数据库的方法以及装置
CN115348185A (zh) * 2022-08-19 2022-11-15 招银云创信息技术有限公司 一种分布式查询引擎的控制方法及其控制装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
WO2019174129A1 (zh) * 2018-03-13 2019-09-19 平安科技(深圳)有限公司 事件提醒方法、装置、计算机设备和存储介质
CN110413685A (zh) * 2019-04-12 2019-11-05 财付通支付科技有限公司 数据库服务切换方法、装置、可读存储介质和计算机设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019174129A1 (zh) * 2018-03-13 2019-09-19 平安科技(深圳)有限公司 事件提醒方法、装置、计算机设备和存储介质
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN110413685A (zh) * 2019-04-12 2019-11-05 财付通支付科技有限公司 数据库服务切换方法、装置、可读存储介质和计算机设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296804A (zh) * 2020-09-01 2021-08-24 阿里云计算有限公司 升级数据库的方法以及装置
CN112199356A (zh) * 2020-12-09 2021-01-08 北京顺达同行科技有限公司 故障处理方法、装置、服务器以及存储介质
CN115348185A (zh) * 2022-08-19 2022-11-15 招银云创信息技术有限公司 一种分布式查询引擎的控制方法及其控制装置
CN115348185B (zh) * 2022-08-19 2023-12-05 招银云创信息技术有限公司 一种分布式查询引擎的控制方法及其控制装置

Similar Documents

Publication Publication Date Title
CN108710673B (zh) 实现数据库高可用方法、系统、计算机设备和存储介质
CN109495312B (zh) 基于仲裁盘和双链路的高可用集群的实现方法和系统
CN111294845B (zh) 节点切换方法、装置、计算机设备和存储介质
CN109542961B (zh) 数据存储方法、装置、计算机设备和存储介质
CN111198921A (zh) 数据库的切换方法、装置、计算机设备和存储介质
CN108897658B (zh) 主数据库监控方法、装置、计算机设备和存储介质
CN112463448B (zh) 分布式集群数据库同步方法、装置、设备及存储介质
CN108848054B (zh) 网络设备注册方法、装置、计算机设备和存储介质
CN112866408B (zh) 一种集群中业务切换方法、装置、设备及存储介质
CN115994044B (zh) 基于监控服务的数据库故障处理方法、装置及分布式集群
CN112291904A (zh) 智能路灯设备集成控制方法、服务器、系统及介质
CN108924772B (zh) 短信发送方法、装置、计算机设备和存储介质
CN111342986A (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN112070585A (zh) 订单状态统一管理方法、装置、计算机设备和存储介质
CN111614701B (zh) 一种分布式集群、以及容器状态切换方法、装置
CN110930075A (zh) 电力设备故障定位方法、装置、计算机设备和存储介质
CN115686368A (zh) 区块链网络的节点的存储扩容的方法、系统、装置和介质
CN113778763B (zh) 一种三方接口服务故障智能切换方法及系统
CN113282334A (zh) 软件缺陷的恢复方法、装置、计算机设备和存储介质
CN111338848B (zh) 故障应用副本处理方法、装置、计算机设备和存储介质
CN112612652A (zh) 分布式存储系统异常节点重启方法及系统
CN113626240A (zh) 集群故障恢复方法、装置、计算机设备和存储介质
US20180139113A1 (en) Efficiently Calculating Per Service Impact Of Ethernet Ring Status Changes
CN115686951A (zh) 一种数据库服务器的故障处理方法和装置
CN113127053A (zh) 应用环境参数的配置方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 1901, building 5, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000

Applicant after: Zhaoyin yunchuang Information Technology Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: MBCLOUD (SHENZHEN) INFORMATION TECHNOLOGY Co.,Ltd.