CN111581287A - 一种数据库管理的控制方法、系统和存储介质 - Google Patents

一种数据库管理的控制方法、系统和存储介质 Download PDF

Info

Publication number
CN111581287A
CN111581287A CN202010378580.3A CN202010378580A CN111581287A CN 111581287 A CN111581287 A CN 111581287A CN 202010378580 A CN202010378580 A CN 202010378580A CN 111581287 A CN111581287 A CN 111581287A
Authority
CN
China
Prior art keywords
node
slave
master
database
server
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
CN202010378580.3A
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.)
Shanghai Maosheng Intelligent Technology Co ltd
Original Assignee
Shanghai Maosheng Intelligent 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 Shanghai Maosheng Intelligent Technology Co ltd filed Critical Shanghai Maosheng Intelligent Technology Co ltd
Priority to CN202010378580.3A priority Critical patent/CN111581287A/zh
Publication of CN111581287A publication Critical patent/CN111581287A/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
    • G06F16/275Synchronous replication

Landscapes

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

Abstract

本申请涉及一种数据库管理的控制方法、系统和存储介质,其中,在主节点和至少两个从节点分别连接的情况下,该数据库管理的控制方法包括:从节点检测主节点的网络连接性,在网络连接性出现异常的情况下,从节点发出第一错误信息;从节点检测该节点与主节点之间的同步状态,在同步状态发生异常的情况下,从节点发出第二错误信息;在全部从节点都发出第一错误信息和第二错误信息的情况下,确定主节点出现故障,将主节点与任意一个从节点进行切换。通过本申请,解决了主数据库服务器易发生误切换、以及主数据库服务器在发生宕机的情况下,外部应用不能正常访问的问题。

Description

一种数据库管理的控制方法、系统和存储介质
技术领域
本申请涉及数据库管理领域,特别是涉及一种数据库管理的控制方法、系统和存储介质。
背景技术
随着关系型数据库管理系统的日臻完善,关系型数据库管理系统已经作为商品化软件被广泛应用于各行各业。MySQL是一种关系型数据库管理系统,MySQL的集群方式为主从同步方式,MySQL有主数据库服务器和从数据库服务器,在主数据库服务器宕机的情况下,MySQL就需要切换到从数据库服务器。目前主数据库服务器切换到从数据库的方式主要有两种,一种是通过人工将应用配置文件中的主数据库服务器的IP地址修改为从数据库服务器的IP地址,另一种是使用keepalived自动将应用配置文件中的主数据库服务器的IP地址修改为从数据库服务器的IP地址,从而实现业务切换到可用的数据库服务器继续使用。
在相关技术中,在主数据库服务器宕机后,在人工将主数据库服务器切换到从数据库服务器的这段时间内,业务会发生中断,从而影响外部应用的访问。此外,在使用keepalived的过程中,由于网络波动而导致从节点与主节点发生误切换。在发生误切换的情况下,外部应用连接的服务器从主数据库服务器切换到从数据库服务器,在使用一段时间从数据库服务器之后,由于网络恢复正常,从数据库服务器又切换到主数据库服务器,此外,在进行误切换之后,因为主数据库服务器没有与从数据库服务器同步数据,进而导致外部应用需要的数据读取失败,导致业务异常。
目前针对相关技术中主数据库服务器易发生误切换和主数据库服务器在发生宕机的情况下,外部应用不能正常访问的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据库管理的控制方法、系统和存储介质,以至少解决相关技术中主数据库服务器在宕机后或发生误切换的情况下,会造成业务发生异常的问题。
本发明的第一个方面,本申请实施例提供了一种数据库管理的控制方法,其中,主节点和至少两个从节点分别连接,包括:
从节点检测主节点的网络连接性,在所述网络连接性出现异常的情况下,所述从节点发出第一错误信息;
所述从节点检测所述从节点与所述主节点之间的同步状态,在所述同步状态发生异常的情况下,所述从节点发出第二错误信息;
在全部所述从节点都发出所述第一错误信息和所述第二错误信息的情况下,确定所述主节点出现故障,将所述主节点与任一所述从节点进行切换。
在其中的一个实施例中,在所述从节点包括第一从节点和至少一个第二从节点的情况下,所述方法还包括:
所述主节点与所述第一从节点进行切换;
所述第一从节点变更为第一主节点,并使用所述第一主节点的数据库。
在其中的一个实施例中,在所述主节点与所述第一从节点切换之后,所述方法还包括:
在预设时间内停止外部应用使用所述主节点。
在其中的一个实施例中,在所述主节点与所述第一从节点切换之后,所述方法还包括:
所述主节点变更为第三从节点;
在所述第三从节点恢复正常的情况下,将所述第三从节点接入所述第一主节点。
在其中的一个实施例中,在所述第三从节点恢复正常的情况下,将所述第三从节点接入所述第一主节点之后,所述方法还包括:
所述第三从节点与所述第一主节点进行数据同步。
在其中的一个实施例中,在所述确定所述主节点出现故障之后,所述方法还包括:
调用应用程序接口发送所述主节点的故障信息。
在其中的一个实施例中,所述方法还包括:
设置后端服务器只配置所述主节点。
本发明的第二个方面,本申请实施例提供了一种数据库管理系统,包括远程字典服务器、负载均衡服务器、主数据库服务器以及至少两个从数据库服务器;
所述主数据库服务器与至少两个所述从数据库服务器分别连接,用于在所述从数据库服务器检测到所述主数据库服务器的网络连接性发生异常的情况下,所述从数据库服务器发出第一错误信息,在所述从数据库服务器检测到所述从数据库服务器与所述主数据库服务器的同步状态发生异常的情况下,所述从数据库服务器发出第二错误信息;
所述远程字典服务器与至少两个所述从数据库服务器分别连接,所述远程字典服务器根据接收的全部从数据库服务器的所述第一错误信息和所述第二错误信息确定所述主数据库服务器发生异常;
所述负载均衡服务器与所述主数据库服务器以及至少两个所述从数据库服务器分别连接,用于在所述主数据库服务器发生异常的情况下,所述负载均衡服务器将所述主数据库服务器与任一所述从数据库服务器进行切换。
在其中的一个实施例中,所述系统还包括外部应用设备;
所述外部应用设备与所述远程字典服务器连接,在所述主数据库服务器发生故障的情况下,所述远程字典服务器发送故障信息到所述外部应用设备。
本发明的第三个方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机调用执行时实现如上所述的数据库管理的控制方法。
相比于相关技术,本申请实施例提供了一种数据库管理的控制方法、系统和存储介质,在主节点和至少两个从节点分别连接的情况下,通过从节点检测主节点的网络连接性,在网络连接性出现异常的情况下,从节点发出第一错误信息;从节点检测该节点与主节点之间的同步状态,在同步状态发生异常的情况下,从节点发出第二错误信息;在每个从节点都发出第一错误信息和第二错误信息的情况下,确定主节点出现故障,将主节点与任意一个从节点进行切换,解决了主数据库服务器易发生误切换和主数据库服务器在发生宕机的情况下,外部应用不能正常访问的问题,实现了主数据库服务器在宕机的情况下,外部应用能够正常访问以及主数据库服务器不再发生误切换的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本发明实施例的数据库管理系统的示意图一;
图2是根据本发明实施例的数据库管理的控制方法的流程图一;
图3是根据本发明实施例的数据库管理的控制方法的流程图二
图4是根据本发明实施例的数据库管理的控制方法的流程图三;
图5是根据本发明实施例的数据库管理的控制方法的流程图四;
图6是根据本发明实施例的数据库管理的控制方法的流程图五;
图7是根据本发明实施例的数据库管理系统的示意图二。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的一种数据库管理的控制方法,可以应用到关系型数据库管理系统的控制中。
图1是本发明实施例的数据库管理系统的示意图一,如图1所示,主数据库服务器11分别与至少两个从数据库服务器12连接,其中,主数据库服务器11上设置一个主节点,每个从数据库服务器12上设置一个从节点。从数据库服务器12能够检测主数据库服务器11的网络连接性,在主数据库服务器11的网络连接性出现异常的情况下,从数据库服务器12就会发出第一错误信息;从数据库服务器12检测该从数据库服务器12与主数据库服务器11之间的同步状态,在从数据库服务器12与主数据库服务器11的同步状态出现异常的情况下,从数据库服务器12发出第二错误信息。在所有从数据库服务器12都发出第一错误信息和第二错误信息的情况下,就能确定主数据库服务器11出现故障,然后将主数据库服务器11与任意一个从数据库服务器12进行切换。
通过主数据库服务器11和至少两个从数据库服务器12分别连接,若全部从数据库服务器12检测到主数据库服务器12的网络连接性发生异常而发出第一错误信息,全部从数据库服务器12检测到自身与主数据库服务器12之间的同步状态发生异常而发出第二错误信息,就能判断主数据库服务器12发生异常,将主数据库服务器11与任意一个从数据库服务器12进行切换,解决了在主数据库服务器11发生误切换的问题。
图2是根据本发明实施例的数据库管理的控制方法的流程图一,如图2所示,在主节点和至少两个从节点连接的情况下,该方法步骤如下:
步骤S202,从节点检测主节点的网络连接性,在网络连接性出现异常的情况下,从节点发出第一错误信息。
其中,从节点可以检测到主节点的网络连接性,在从节点检测到主节点的网络连接性处于正常状态的情况下,从节点就发出一个正确信息,在从节点检测到主节点的网络连接性出现异常状态的情况下,从节点就发出一个错误信息。
步骤S204,从节点检测该从节点与主节点之间的同步状态,在同步状态发生异常的情况下,从节点发出第二错误信息。
其中,从节点查看该从节点与主节点之间的同步状态,在同步状态正常的情况下,从节点发出一个正确信息,在从节点与主节点的同步状态出现异常的情况下,从节点发出一个错误信息。
步骤S206,在所有从节点都发出第一错误信息和第二错误信息的情况下,确定主节点出现故障,将主节点与任意一个从节点进行切换。
其中,由于主节点同时连接有至少两个从节点,在至少一个从节点没有发出第一错误信息和/或第二错误信息的情况下,从节点可能发生了误判,此时就不需要将主节点与任一从节点进行切换;但是在所有从节点都发出第一错误信息和第二错误信息的情况下,就能判定主节点已经发生故障,然后将主节点与任一从节点进行自动切换。
在一些实施例中,在使用一个主节点和两个从节点进行数据库管理的情况下,其中,从节点包括第一从节点和第二从节点,能够判断从节点发生误判的情况包括:
第一从节点没有发出第一错误信息和第二错误信息,第二从节点没有发出第一错误信息但是发出第二错误信息;
第一从节点没有发出第一错误信息和第二错误信息,第二从节点发出第一错误信息但是没有发出第二错误信息;
第一从节点没有发出第一错误信息和第二错误信息,第二从节点发出第一错误信息和第二错误信息;
第一从节点没有发出第一错误信息但是发出第二错误信息,第二从节点发出第一错误信息但是没有发出第二错误信息;
第一从节点没有发出第一错误信息但是发出第二错误信息,第二从节点没有发出第一错误信息但是发出第二错误信息;
第一从节点没有发出第一错误信息但是发出第二错误信息,第二从节点发出第一错误信息和第二错误信息;
第一从节点发出第一错误信息但是没有发出第二错误信息,第二从节点发出第一错误信息和第二错误信息;
第一从节点发出第一错误信息但是没有发出第二错误信息,第二从节点发出第一错误信息但是没有发出第二错误信息。
例如,在使用一个主节点、第一从节点和第二从节点进行数据库管理的情况下,若第一从节点没有发出第一错误信息和第二错误信息,第二从节点发出第一错误信息,但是没有发出第二错误信息,此时,就说明第二从节点检测到主节点的网络连接性发生异常,但是没有检测到第二从节点与主节点的同步状态发生异常,此时,可能是第二从节点发生了误判,无法判定主节点发生异常;若第一从节点发出第一错误信息但是没有发出第二错误信息,第二从节点发出第一错误信息但是没有发出第二错误信息,也说明第一从节点检测到主节点的网络连接性出现异常,但是第一从节点与主节点之间的同步状态没有发现异常,第二从节点也检测到主节点的网络连接性出现异常,但是第二从节点与主节点之间的同步状态没有发生异常,此时,可能是第一从节点和第二从节点都发生了误判,并不能确定主节点发生异常;若第一从节点发出了第一错误信息和第二错误信息,但是第二从节点没有发出第一错误信息但发出了第二错误信息,说明第一从节点检测到主节点的网络连接性和自身与主节点的同步状态发生了异常,但是第二从节点检测到主节点的网络连接性发生异常,但是第二从节点没有检测到自身与主节点的连接状态出现异常,此时也无法判断主节点故障。
在上述无法判断主节点发生故障的情况下,主节点不会与任意一个从节点进行切换。只有在第一个从节点和第二个从节点均发出第一错误信息和第二错误信息的情况下,第一从节点和第二从节点都检测到主节点的网络连接性发生异常,并且第一从节点和第二从节点都检测到自身与主节点的同步状态发生异常,就能判定主节点发生异常,主节点与任意一个从节点进行切换,如主节点与第一从节点进行切换。
通过步骤S202至S206,在全部从节点都发出第一错误信息和第二错误信息的情况下,就能够判定主节点出现了故障,将主节点与任意一个从节点进行切换,解决了主节点易出现误切换的问题。
图3是根据本发明实施例的数据库管理的控制方法的流程图二,如图3所示,主节点与任一从节点进行切换包括如下步骤:
步骤S302,在从节点包括第一从节点和至少一个第二从节点的情况下,主节点与第一从节点进行切换。
其中,在主节点发生故障之后,主节点一般而言是无法自动修复的,需要人工去进行检修维护,恢复主节点的正常使用。此时,通过主节点与第一从节点进行切换,解决了在主节点故障的时间内,外部应用没有节点进行访问的问题。
步骤S304,第一从节点变更为第一主节点,并使用第一主节点的数据库。
其中,主节点和任意一个从节点都有对应的数据库,在主节点出现故障的情况下,外部应用不能继续使用主节点所对应的数据库,这时就需要外部应用访问第一从节点的所对应的数据库。
通过步骤S302至S304,将第一从节点变更为第一主节点并使用第一主节点的数据库,解决了在主节点宕机的情况下,外部应用不能继续访问数据库的问题,实现了外部应用的正常访问。
图4是根据本发明实施例的数据库管理的控制方法的流程图三,如图4所示,在从节点包括第一从节点和至少一个第二从节点的情况下,主节点与第一从节点进行切换之后,该方法还包括如下步骤:
步骤S402,在预设时间内停止外部应用使用主节点。
其中,预设时间包括在主节点出现故障到主节点恢复正常使用的一段时间,在主节点出现故障之后,需要管理人员对主节点进行维修检测,如果继续使用主节点的数据库就会造成数据丢失的问题,所以需要在预设时间内冻结主节点的数据库,停止外部应用继续使用该主节点,防止外部应用在使用过程中造成数据丢失的问题。
在一些实施例中,外部应用包括外部应用程序、后端服务器等,在外部应用为外部应用程序的情况下,在预设时间停止外部应用程序访问该主节点,从而禁止让外部应用程序访问主节点所对应的数据库。
通过在预设时间内停止外部应用继续使用主节点,解决了主节点宕机后,外部应用继续使用主节点而导致数据丢失的问题,实现了外部应用数据的完整保存。
图5是根据本发明实施例的数据库管理的控制方法的流程图四,如图5所示,在从节点包括第一从节点和至少一个第二从节点的情况下,主节点与第一从节点进行切换之后,该方法还包括如下步骤:
步骤S502,主节点变更为第三从节点;
步骤S504,在第三从节点恢复正常的情况下,将第三从节点接入第一主节点。
其中,第一从节点变更为第一主节点并且将主节点变更为第三从节点,在维护时间内人工进行维护的情况下,第三从节点恢复正常,并将第三从节点接入第一主节点使用。
在一些实施例中,第三从节点恢复正常包括网络连接性处于正常状态、能够检测第一主节点的网络连接性以及第一主节点能够与第三从节点进行同步数据等。
通过步骤S502至步骤S504,在主节点变更为第三从节点,在第三从节点恢复正常的情况下,将第三从节点接入第一主节点,解决了在主节点变更为第三从节点的情况下,第三从节点处于故障状态不能正常使用的问题,实现了在第三从节点接入第一主节点的情况下,第三从节点继续检测第一主节点的网络连接性和第三从节点能够检测第三从节点和第一主节点之间的同步状态的技术效果。
图6是根据本发明实施例的数据库管理的控制方法的流程图五,如图6所示,在第三从节点恢复正常的情况下,将第三从节点接入第一主节点之后,该方法还包括如下步骤:
步骤S602,第三从节点与第一主节点进行数据同步,用于更新第三从节点的数据库。
其中,第三从节点接入第一主节点之后,第三从节点在故障期间,外部应用不断访问第一主节点的数据库,并产生新的数据,因为第三从节点并没有与第一主节点同步数据,所以需要将第一主节点的数据同步到第三从节点,保持第一主节点和第三从节点数据的同步。
在一些实施例中,第三从节点与第一主节点同步数据包括第三从节点与第一主节点同步所有数据、第三从节点与第一主节点同步部分重要数据等,如在第三从节点与第一主节点同步所有数据需要消耗大量时间的情况下,第三节点可以与第一主节点只同步部分重要数据,减少同步时间。
通过步骤S602,解决了第三从节点在故障期间接收不到数据的问题,实现了第一主节点与第三从节点数据的同步。
此外,在确定主节点出现故障之后,可以通过应用程序接口发送故障信息。
其中,通过调用应用程序接口能够将故障信息发送到对应的外部应用中。
在一些实施例中,应用程序接口包括远程过程调用、标准查询语言、信息交付、文件传输等类型,如在确定主节点出现故障之后,可以通过文件传输类型的应用程序接口将故障信息发送到外部应用中。
例如,在主节点发生故障的情况下,通过调用钉钉的webhook接口,能够将故障信息通知相关管理人员,然后相关管理人员对主节点的故障进行维修,确保了数据库管理系统出现故障后的快速响应。
此外,设置后端服务器只配置主节点。
其中,后端服务器可以为负载均衡服务器,默认负载均衡服务器只配置主节点,外部应用读取负载均衡服务器的IP地址,并且在出现异常的情况下,外部应用也不需要修改配置,即外部应用只读取负载均衡服务器的IP地址。其中,因为外部应用只读取负载均衡服务器连接的IP地址,所以只需要将负载均衡服务器连接的主节点的IP地址与从节点的IP地址进行切换,就能够实现让外部应用从访问主节点的数据库切换为访问从节点的数据库,解决了主节点宕机后,外部应用不能正常访问的问题,实现了在主节点宕机的情况下,主节点与从节点快速切换。
此外,在一些特殊情况下,如主节点与第一从节点切换,第一从节点变更为第一主节点,主节点变更为第三从节点。此时,在第三从节点处于“冻结”状态的情况下,仅第一主节点和第二从节点处于“活跃”状态,若第二从节点发出第一错误信息和第二错误信息,则第一主节点与第二从节点进行自动切换。在这种情况下,第二从节点易出现误判的情况,导致发生误切换的问题,其中,“冻结”用于指示从节点或主节点不能正常使用,“活跃”用于指示从节点或主节点能够正常使用。因此,为了解决这种低概率问题,需要设置主节点和至少三个从节点的架构。
其中,在使用主节点和至少三个从节点的架构的情况下,其中,从节点包括第一从节点和至少两个从节点,在主节点故障之后,将主节点切换为第三从节点,第一从节点切换为第一主节点;虽然第三从节点处于“冻结”状态,但是第一主节点和至少两个第二从节点仍然处于“活跃”状态。此时,仍然能够保持一个主节点和至少两个从节点的架构,并能够继续防止发生误切换,进而避免特殊情况下出现一个主节点和一个从节点的情况,其中,第三从节点恢复正常后立即接入第一主节点,从而恢复主节点和至少三个从节点的架构。
例如,设置一个主节点、一个第一从节点、第二从节点以及第三从节点,在主节点宕机后,主节点与第一从节点进行切换,主节点变更为第四从节点,第一从节点变更为第一主节点;此时虽然第四从节点处于“冻结”状态,但是第一主节点和第二从节点、第三从节点处于“活跃”状态,从而保持一个主节点和两个从节点的架构,避免发生误切换。其中,在第四节点解除“冻结”状态的情况下,将第四从节点接入第一主节点,恢复一个主节点和三个从节点的架构。
通过设置主节点和至少三个从节点的架构,解决了在一主两从架构发生切换后,只有一主一从而容易出现误切换的问题。
对应于上述数据库管理的控制方法,在本实施例中,还提供了一种数据库管理系统,该系统实现上述实施例及优选实施例,已经进行过说明的不在赘述。
在本实施例中,提供了一种数据库管理系统,图7是根据本发明实施例的数据库管理系统的示意图二,如图7所示,包括主数据库服务器11、至少两个从数据库服务器12、远程字典服务器73以及负载均衡服务器74。
主数据库服务器11与至少两个从数据库服务器12分别连接,从数据库服务器12用于检测主数据库服务器11的网络连接性和同步状态,在主数据库服务器11的网络连接性发生异常的情况下,从数据库服务器12发出第一错误信息;在从数据库服务器12和主数据库服务器11之间的同步状态发生异常的情况下,从数据库服务器12发出第二错误信息。
远程字典服务器73与至少两个从数据库服务器12分别连接,远程字典服务器73用于接收全部从数据库服务器12发出的第一错误信息和第二错误信息,并根据第一错误信息和第二错误信息确定主数据库服务器11发生异常。
其中,在从数据库服务器12检测到主数据库服务器11的网络连接性和从数据库服务器12和主数据库11之间的同步状态均出现异常的情况下,从数据库服务器12向远程字典服务器73发出第一错误信息和第二错误信息,远程字典服务器73保存该第一错误信息和第二错误信息,在远程字典服务器73中存在全部从数据库服务器12都发送的第一错误信息和第二错误信息的情况下,就能够确定主数据库服务器11已经出现故障。
负载均衡服务器74与主数据库服务器11、至少两个从数据库服务器12以及远程字典服务器73分别连接,负载均衡服务器74通过远程字典服务器73获知主数据库服务器11发生故障,然后将连接的主数据库服务器11与任意一个从数据库服务器12进行切换。
其中,在确定主数据库服务器11发生故障的情况下,负载均衡服务器74连接的主数据库服务器11的IP地址与从数据库服务器12的IP地址进行切换,从而实现将主数据库服务器11与从数据库服务器12进行切换的目的。
例如,在从数据库服务器12检测到主数据库服务器11的网络连接性发生异常的情况下,从数据库服务器12就往远程字典服务器73写入一条key值error,其中,每当从数据库服务器12向远程字典服务器73写入一条key值error时,就表明从数据库服务器12发出了一个错误信息,在从数据库服务器12检测到自身与主数据库服务器11的同步状态出现异常的情况下,同样往远程字典服务器73写入一条key值error,在系统的shell程序检测到远程字典服务器73中存在全部从数据库服务器12都发出的两条key值error的情况下,系统的Shell程序就能够确定主数据库服务器12发生了异常,然后Shell程序就调用负载均衡服务器74和软件开发工具包将原配置的主数据库服务器11的IP地址与任意一个从数据库服务器12的IP地址进行切换,从而实现主数据库服务器11与从数据库服务器12进行切换。
通过主数据库服务器11与至少两个从数据库服务器12分别连接,远程字典服务器73与至少两个从数据库服务器12分别连接,负载均衡服务器74与主数据库服务器11、远程字典服务器73和至少两个从数据库服务器12分别连接,解决了主数据库服务器12易发生误切换和主数据库服务器12发生宕机后,外部应用不能正常访问的问题。
此外,本系统还包括外部应用设备,其中,外部应用设备与远程字典服务器73网络连接,外部应用设备用于接收远程字典服务器73发出的故障信息。其中,在系统程序确定主数据库服务器11发生故障的情况下,系统程序调用远程字典服务器73的应用程序接口将故障信息发送到外部应用设备。
其中,外部应用设备可以是包含应用程序的终端,如手机、平板电脑、笔记本电脑等。
通过外部应用设备与远程字典服务器73网络连接,解决了数据库管理系统发生故障后不能及时通知相关人员的问题,实现了数据库管理系统对故障的快速响应。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例提供的数据库管理的控制方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据库管理的控制方法,其特征在于,其中,主节点和至少两个从节点分别连接,包括:
从节点检测主节点的网络连接性,在所述网络连接性出现异常的情况下,所述从节点发出第一错误信息;
所述从节点检测所述从节点与所述主节点之间的同步状态,在所述同步状态发生异常的情况下,所述从节点发出第二错误信息;
在全部所述从节点都发出所述第一错误信息和所述第二错误信息的情况下,确定所述主节点出现故障,将所述主节点与任一所述从节点进行切换。
2.根据权利要求1所述的方法,其特征在于,在所述从节点包括第一从节点和至少一个第二从节点的情况下,所述方法还包括:
所述主节点与所述第一从节点进行切换;
所述第一从节点变更为第一主节点,并使用所述第一主节点的数据库。
3.根据权利要求2所述的方法,其特征在于,在所述主节点与所述第一从节点切换之后,所述方法还包括:
在预设时间内停止外部应用使用所述主节点。
4.根据权利要求2所述的方法,其特征在于,在所述主节点与所述第一从节点切换之后,所述方法还包括:
所述主节点变更为第三从节点;
在所述第三从节点恢复正常的情况下,将所述第三从节点接入所述第一主节点。
5.根据权利要求4所述的方法,其特征在于,在所述第三从节点恢复正常的情况下,将所述第三从节点接入所述第一主节点之后,所述方法还包括:
所述第三从节点与所述第一主节点进行数据同步。
6.根据权利要求1所述的方法,其特征在于,在所述确定所述主节点出现故障之后,所述方法还包括:
调用应用程序接口发送所述主节点的故障信息。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
设置后端服务器只配置所述主节点。
8.一种数据库管理系统,其特征在于,包括远程字典服务器、负载均衡服务器、主数据库服务器以及至少两个从数据库服务器;
所述主数据库服务器与至少两个所述从数据库服务器分别连接,用于在所述从数据库服务器检测到所述主数据库服务器的网络连接性发生异常的情况下,所述从数据库服务器发出第一错误信息,在所述从数据库服务器检测到所述从数据库服务器与所述主数据库服务器的同步状态发生异常的情况下,所述从数据库服务器发出第二错误信息;
所述远程字典服务器与至少两个所述从数据库服务器分别连接,所述远程字典服务器根据接收的全部从数据库服务器的所述第一错误信息和所述第二错误信息确定所述主数据库服务器发生异常;
所述负载均衡服务器与所述主数据库服务器、远程字典服务器以及至少两个所述从数据库服务器分别连接,用于在所述主数据库服务器发生异常的情况下,所述负载均衡服务器将所述主数据库服务器与任一所述从数据库服务器进行切换。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括外部应用设备;
所述外部应用设备与所述远程字典服务器连接,在所述主数据库服务器发生故障的情况下,所述远程字典服务器发送故障信息到所述外部应用设备。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机调用执行时实现权利要求1至7中任一项所述的数据库管理的控制方法。
CN202010378580.3A 2020-05-07 2020-05-07 一种数据库管理的控制方法、系统和存储介质 Pending CN111581287A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010378580.3A CN111581287A (zh) 2020-05-07 2020-05-07 一种数据库管理的控制方法、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010378580.3A CN111581287A (zh) 2020-05-07 2020-05-07 一种数据库管理的控制方法、系统和存储介质

Publications (1)

Publication Number Publication Date
CN111581287A true CN111581287A (zh) 2020-08-25

Family

ID=72112073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010378580.3A Pending CN111581287A (zh) 2020-05-07 2020-05-07 一种数据库管理的控制方法、系统和存储介质

Country Status (1)

Country Link
CN (1) CN111581287A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422368A (zh) * 2020-11-18 2021-02-26 青岛以萨数据技术有限公司 基于clickhouse的数据库集群监控方法及系统
CN113515499A (zh) * 2021-03-25 2021-10-19 中国雄安集团数字城市科技有限公司 一种数据库服务方法及系统
CN114676118A (zh) * 2022-05-30 2022-06-28 深圳市科力锐科技有限公司 数据库切换方法、装置、设备及存储介质
CN114785789A (zh) * 2022-04-26 2022-07-22 平安普惠企业管理有限公司 数据库故障管理方法、装置、电子设备及存储介质
CN115499296A (zh) * 2022-07-29 2022-12-20 天翼云科技有限公司 一种云桌面热备管理方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050237926A1 (en) * 2004-04-22 2005-10-27 Fan-Tieng Cheng Method for providing fault-tolerant application cluster service
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN108984569A (zh) * 2017-06-05 2018-12-11 中兴通讯股份有限公司 数据库切换方法、系统和计算机可读存储介质
CN109388630A (zh) * 2018-09-29 2019-02-26 北京京东金融科技控股有限公司 数据库切换方法、系统、电子设备和计算机可读介质
US20190095293A1 (en) * 2016-07-27 2019-03-28 Tencent Technology (Shenzhen) Company Limited Data disaster recovery method, device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050237926A1 (en) * 2004-04-22 2005-10-27 Fan-Tieng Cheng Method for providing fault-tolerant application cluster service
US20190095293A1 (en) * 2016-07-27 2019-03-28 Tencent Technology (Shenzhen) Company Limited Data disaster recovery method, device and system
CN108984569A (zh) * 2017-06-05 2018-12-11 中兴通讯股份有限公司 数据库切换方法、系统和计算机可读存储介质
CN108710673A (zh) * 2018-05-17 2018-10-26 招银云创(深圳)信息技术有限公司 实现数据库高可用方法、系统、计算机设备和存储介质
CN109388630A (zh) * 2018-09-29 2019-02-26 北京京东金融科技控股有限公司 数据库切换方法、系统、电子设备和计算机可读介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马刚;吕途;: "基于大数据HDFS改进的心跳模型" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422368A (zh) * 2020-11-18 2021-02-26 青岛以萨数据技术有限公司 基于clickhouse的数据库集群监控方法及系统
CN113515499A (zh) * 2021-03-25 2021-10-19 中国雄安集团数字城市科技有限公司 一种数据库服务方法及系统
CN114785789A (zh) * 2022-04-26 2022-07-22 平安普惠企业管理有限公司 数据库故障管理方法、装置、电子设备及存储介质
CN114785789B (zh) * 2022-04-26 2024-01-16 永诚恒易网络科技股份有限公司 数据库故障管理方法、装置、电子设备及存储介质
CN114676118A (zh) * 2022-05-30 2022-06-28 深圳市科力锐科技有限公司 数据库切换方法、装置、设备及存储介质
CN115499296A (zh) * 2022-07-29 2022-12-20 天翼云科技有限公司 一种云桌面热备管理方法、装置及系统
CN115499296B (zh) * 2022-07-29 2024-03-12 天翼云科技有限公司 一种云桌面热备管理方法、装置及系统

Similar Documents

Publication Publication Date Title
CN111581287A (zh) 一种数据库管理的控制方法、系统和存储介质
CN101150430B (zh) 一种通过心跳机制实现网络接口板倒换的方法
CN106330475B (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
CN103795553B (zh) 基于监控的主、备服务器切换
CN112181660A (zh) 一种基于服务器集群的高可用方法
CN105429799A (zh) 服务器备份方法及装置
CN115269248B (zh) 双节点集群下防止脑裂方法和装置、电子设备和存储介质
CN104660449A (zh) 防止堆叠分裂多主设备Master的方法和设备
CN111585835A (zh) 一种带外管理系统的控制方法、装置和存储介质
JP6007988B2 (ja) 予備系装置、運用系装置、冗長構成システム、及び負荷分散方法
CN117370316A (zh) 数据库的高可用管理方法和装置、电子设备及存储介质
CN114598594B (zh) 一种多集群下应用故障的处理方法、系统、介质和设备
CN110661599B (zh) 一种主、备节点间的ha实现方法、装置及存储介质
KR100297555B1 (ko) 이동통신 시스템에서의 다이나믹 기능을 이용한 기지국의 채널자원 관리방법
US20230126682A1 (en) Fault tolerance method and apparatus of network device system, computer device, and storage medium
CN114301763A (zh) 分布式集群故障的处理方法及系统、电子设备及存储介质
CN114840495A (zh) 一种数据库集群防脑裂的方法、存储介质与设备
CN111510336B (zh) 一种网络设备状态管理方法及装置
CN115514797A (zh) 备用smf发现方法、装置、电子设备和介质
CN111064608A (zh) 消息系统的主从切换方法、装置、电子设备及存储介质
CN115086173B (zh) 网络升级过程中的可靠性保障方法和装置
CN111045872B (zh) 一种实现高可用自我保护机制的方法及系统
WO2021259171A1 (zh) 运行状态的切换方法及装置、主备管理系统、网络系统
CN115643237B (zh) 一种用于会议的数据处理系统
CN111107542B (zh) Cu-du分布架构连接故障自愈的方法、设备及存储介质

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