CN112749045B - 数据库集群切换方法、设备、存储介质及装置 - Google Patents

数据库集群切换方法、设备、存储介质及装置 Download PDF

Info

Publication number
CN112749045B
CN112749045B CN202110034785.4A CN202110034785A CN112749045B CN 112749045 B CN112749045 B CN 112749045B CN 202110034785 A CN202110034785 A CN 202110034785A CN 112749045 B CN112749045 B CN 112749045B
Authority
CN
China
Prior art keywords
information
library
target
database
initial
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.)
Active
Application number
CN202110034785.4A
Other languages
English (en)
Other versions
CN112749045A (zh
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.)
Shenzhen Yolanda Technology Co ltd
Original Assignee
Shenzhen Yolanda 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 Shenzhen Yolanda Technology Co ltd filed Critical Shenzhen Yolanda Technology Co ltd
Priority to CN202110034785.4A priority Critical patent/CN112749045B/zh
Publication of CN112749045A publication Critical patent/CN112749045A/zh
Application granted granted Critical
Publication of CN112749045B publication Critical patent/CN112749045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种数据库集群切换方法、设备、存储介质及装置,本发明获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;根据所述目标主库信息和所述初始主库信息确定数据库连接信息;根据所述数据库连接信息构建目标数据库集群。由于是根据目标主库信息和初始主库信息确定数据库连接信息,并构建目标数据库集群,本发明相对于现有技术集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差,进而导致数据缺失,本发明实现了主库与从库切换同写库与读库切换保持同步一致,保证服务的高可用和数据的一致性。

Description

数据库集群切换方法、设备、存储介质及装置
技术领域
本发明涉及数据库领域,尤其涉及一种数据库集群切换方法、设备、存储介质及装置。
背景技术
目前,随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。现有技术中数据库集群是通过集中式处理,容易造成性能瓶颈,数据集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据库集群切换方法、设备、存储介质及装置,旨在解决现有技术中对于数据库集群通过数据集中处理造成数据缺失的技术问题。
为实现上述目的,本发明提供一种数据库集群切换方法,所述数据库集群切换方法包括以下步骤:
获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;
在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;
根据所述目标主库信息和所述初始主库信息确定数据库连接信息;
根据所述数据库连接信息构建目标数据库集群。
优选地,所述在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息的步骤,包括:
在所述初始主库存在故障时,获取切换信息,并根据所述切换信息从所述待切换数据库集群中选取目标主库;
从所述初始主库切换至目标主库,并获取目标主库信息。
优选地,所述根据所述目标主库信息和所述初始主库信息确定数据库连接信息的步骤,包括:
根据预设校验模型对所述目标主库信息和所述初始主库信息进行合法校验,并获得校验结果;
在所述校验结果满足预设条件时,获取所述目标主库对应的第一连接信息和所述初始主库对应的第二连接信息;
根据所述第一连接信息和所述第二连接信息确定数据库连接信息。
优选地,所述根据所述数据库连接信息构建目标数据库集群的步骤,包括:
查找所述待切换数据库集群对应的初始配置文件信息;
根据所述数据库连接信息对所述初始配置文件信息进行修改,获得目标配置文件信息;
根据所述目标配置文件信息构建目标数据库集群。
优选地,所述根据所述数据库连接信息对所述初始配置文件信息进行修改,获得目标配置文件信息的步骤,包括:
获取所述初始配置文件信息对应的写权限信息以及读权限信息;
根据所述数据库连接信息对所述写权限信息以及读权限信息进行修改,获得目标配置文件信息。
优选地,所述根据所述目标配置文件信息构建目标数据库集群的步骤,包括:
根据所述目标配置文件信息对待切换数据库集群对应的读权限信息和写权限信息进行修改,获得权限切换信息;
根据所述权限切换信息构建目标数据库集群。
优选地,所述根据所述权限切换信息构建目标数据库集群的步骤之后,包括:
获取目标数据库集群对应的读权限信息和写权限信息;
将所述读权限信息和写权限信息生成告警信息。
此外,为实现上述目的,本发明还提出一种数据库集群切换设备,所述数据库集群切换设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库集群切换程序,所述数据库集群切换程序配置为实现如上文所述的数据库集群切换的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据库集群切换程序,所述数据库集群切换程序被处理器执行时实现如上文所述的数据库集群切换方法的步骤。
此外,为实现上述目的,本发明还提出一种数据库集群切换装置,所述数据库集群切换装置包括:
故障判断模块,用于获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;
数据库切换模块,用于在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;
信息确定模块。用于根据所述目标主库信息和所述初始主库信息确定数据库连接信息;
集群构建模块,用于根据所述数据库连接信息构建目标数据库集群。
本发明获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;根据所述目标主库信息和所述初始主库信息确定数据库连接信息;根据所述数据库连接信息构建目标数据库集群。由于是根据目标主库信息和初始主库信息确定数据库连接信息,并构建目标数据库集群,本发明相对于现有技术集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差,进而导致数据缺失,本发明实现了主库与从库切换同写库与读库切换保持同步一致,保证服务的高可用和数据的一致性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据库集群切换设备的结构示意图;
图2为本发明数据库集群切换方法第一实施例的流程示意图;
图3为本发明数据库集群切换方法第二实施例的流程示意图;
图4为本发明数据库集群切换方法第三实施例的流程示意图;
图5为本发明数据库集群切换装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据库集群切换设备结构示意图。
如图1所示,该数据库集群切换设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据库集群切换设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据库集群切换程序。
在图1所示的数据库集群切换设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述数据库集群切换设备通过处理器1001调用存储器1005中存储的数据库集群切换程序,并执行本发明实施例提供的数据库集群切换方法。
基于上述硬件结构,提出本发明数据库集群切换方法的实施例。
参照图2,图2为本发明数据库集群切换方法第一实施例的流程示意图,提出本发明数据库集群切换方法第一实施例。
在第一实施例中,所述数据库集群切换方法包括以下步骤:
步骤S10:获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障。
需说明的是,本实施例中执行主体可以是包含数据库集群切换系统的设备。该设备可以是手机、笔记本、平板电脑等,该实施例以数据库集群切换系统为说明,本实施例对此不做限制,在本实施例以及下述各实施例中以数据库集群切换系统为例对本发明数据库集群切换方法进行说明。
应理解的是,待切换数据库集群可以是数据库集群中有断掉连接的主库需要切换数据库连接方式的集群。数据库集群可以是至少两台或者多台数据库服务器构成一个虚拟单一数据库逻辑映像,类似于但数据库系统可以向客户端提供透明的数据服务。初始主库信息可以是包含主库数据传输节点信息、写操作信息、连接信息及地址参数信息等,主库是具有负载写操作的数据库,在大量的数据操作中,主库主要用于写操作,从库用于读操作。
可理解的是,数据库集群切换系统可以通过预设命令间隔时间来设置探测主库故障的间隔,例如:设置间隔为3秒。通过连接失败次数达到预设次数后,判定主库节点发生故障,例如:当连续4次连接失败后,则判定主库节点发生故障。
具体实现中,数据库集群切换系统通过获取待切换数据库集群的初始主库信息,并根据初始主库信息判断初始主库是否存在故障。如:数据库集群切换系统可以使用ping_interval(命令间隔)来设置MHA Manager探测初始主库故障的间隔,默认间隔3秒,当连续4次ping失败后,则判定Master(主库)节点发生故障。
步骤S20:在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息。
需说明的是,目标主库可以是从待切换数据库集群中排除初始主库后从剩余的数据库中选取一个数据库作为目标主库。例如:数据库集群中有A、B、C三个数据库,A作为初始主库,当A发生故障时,从B、C中选取一个数据库作为目标主库。
可理解的是,目标主库信息可以包含数据传输节点信息、连接信息及地址参数信息等。
具体实现中,在初始主库存在故障时,从初始主库切换至目标主库,并获取目标主库信息。
步骤S30:根据所述目标主库信息和所述初始主库信息确定数据库连接信息。
需说明的是,数据库连接信息可以是指目标主库与初始主库对应的网络地址匹配预设用户、端口号及密码等连接信息。
可理解的是,将筛选获取的目标主库、初始主库对应的IP信息,匹配预先设的关联数据库连接用户、端口、密码等参数信息,根据匹配成功的参数信息确定数据库连接信息。
具体实现中,数据库集群切换系统可以根据筛选获取的目标主库、初始主库对应的IP信息,匹配预先设的关联数据库连接用户、端口、密码等参数信息,根据匹配成功的参数信息确定数据库连接信息。。
步骤S40:根据所述数据库连接信息构建目标数据库集群。
需说明的是,目标数据库集群可以是指更换主库后重新构建连接后的集群,例如:待切换集群中有A、B、C三个数据库,当初始主库A发生故障时,为了避免数据缺失,从B、C中选取一个从库作为主库,如B作为目标主库,即将B作为目标主库将A、C连接起来构建新的数据库集群。
具体实现中,数据库集群切换系统通过数据库连接信息构建目标数据库集群。数据库集群的重建也可以通过手动控制,即通过控制目标主库、初始主库的只读状态来防止脏数据写入,保证数据一致性。根据切换后的目标主库信息,修改待切换数据库集群的配置文件,使得待切换数据库集群的writeHost(写库对应的写权限信息)、readHost(读库对应的读权限信息)结构配置和目标主库、从库结构一致。通过在线重启数据库集群来重置dmlsql、select sql路由分配。
本施例通过获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;根据所述目标主库信息和所述初始主库信息确定数据库连接信息;根据所述数据库连接信息构建目标数据库集群。由于是根据目标主库信息和初始主库信息确定数据库连接信息,并构建目标数据库集群,本实施例相对于现有技术集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差,进而导致数据缺失,本实施例实现了主库与从库切换同写库与读库切换保持同步一致,保证服务的高可用和数据的一致性。
参照图3,图3为本发明数据库集群切换方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明数据库集群切换方法的第二实施例。
在本实施例中,所述步骤S20,包括:
步骤S201:在所述初始主库存在故障时,获取切换信息,并根据所述切换信息从所述待切换数据库集群中选取目标主库。
需说明的是,切换信息可以是指对初始主库进行切换时,初始主库的地址参数信息及待切换数据库集群中数据库地址参数信息,地址参数信息可以包含端口、网络参数及密码等信息,本实施例对此不加以限制。
可理解的是,目标主库可以是待切换数据库集群中除初始主库的从库中选取的数据库。从库可以是具有读操作的数据库,且从库是对主库数据进行复制的数据库。
具体实现中,数据库集群切换系统在识别到初始主库存在故障时,获取切换信息,并根据切换信息从待切换数据库集群中选取目标主库。
步骤S202:从所述初始主库切换至目标主库,并获取目标主库信息。
需说明的是,目标主库信息可以包含初始主库的信息,并根据初始主库信息的读权限信息和写权限信息确定目标主库信息。
进一步地,所述根据所述目标主库信息和所述初始主库信息确定数据库连接信息的步骤,包括:根据预设校验模型对所述目标主库信息和所述初始主库信息进行合法校验,并获得校验结果;在所述校验结果满足预设条件时,获取所述目标主库对应的第一连接信息和所述初始主库对应的第二连接信息;根据所述第一连接信息和所述第二连接信息确定数据库连接信息。
需说明的是,预设校验模型可以是对目标主库信息和初始主库信息进行数据校验的模型,校验结果可以通过对目标主库和初始主库对应的参数信息是否一致进行校验所产生的结果,例如:在同个预设校验模型对目标主库和初始主库对应的参数信息进行校验,若校验值为空值,即说明初始主库与目标主库参数信息不匹配,即存在初始主库与目标主库之间存在数据丢失,即不能将初始主库切换至目标主库。
可理解的是,预设条件可以是指校验结果满足初始主库信息与目标主库信息一致。
应理解的是,第一连接信息可以是指初始主库在待切换集群中的数据库连接信息,可以包含各数据库之间的连接顺序,也可以包含各数据库地址及配置信息。第一连接信息可以是指目标主库在待切换集群中的数据库连接信息,可以包含各数据库之间的连接顺序,也可以包含各数据库地址及配置信息。
具体实现中,根据预设校验模型对目标主库信息和初始主库信息进行合法校验,并获得校验结果;在校验结果满足预设条件时,获取目标主库对应的第一连接信息和初始主库对应的第二连接信息;根据第一连接信息和第二连接信息确定数据库连接信息。数据库集群切换系统可以通过获取切换信息,筛选出目标主库、初始主库的参数信息,并校验参数的合法性。参数校验异常时,中止重建数据库集群,此时MHA Manager也会因参数异常中止。数据库集群切换系统也可以通过判断获取的参数合法性,如手动切换时输入的目标主库,和原来初始主库一致,或者空则保持不动作。此时MHA Manager切换也会因参数问题中止。
本实施例通过获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;在所述初始主库存在故障时,获取切换信息,并根据所述切换信息从所述待切换数据库集群中选取目标主库;从所述初始主库切换至目标主库,并获取目标主库信息;根据所述目标主库信息和所述初始主库信息确定数据库连接信息;根据所述数据库连接信息构建目标数据库集群。由于是根据目标主库信息和初始主库信息确定数据库连接信息,并构建目标数据库集群,本实施例相对于现有技术集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差,进而导致数据缺失,本实施例实现了主库与从库切换同写库与读库切换保持同步一致,保证服务的高可用和数据的一致性。
参照图4,图4为本发明数据库集群切换方法第三实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明数据库集群切换方法的第三实施例。
在本实施例中,所述步骤S40,包括:
步骤S401:查找所述待切换数据库集群对应的初始配置文件信息。
需说明的是,初始配置文件信息可以是包含待切换数据库集群中写权限信息和读权限信息,也可以是包含各数据库地址及配置信息。
具体实现中,数据库集群切换系统查找待切换数据库集群对应的初始配置文件信息。
步骤S402:根据所述数据库连接信息对所述初始配置文件信息进行修改,获得目标配置文件信息。
需说明的是,目标配置文件信息可以是对初始配置文件进行修改后生成的文件信息。
可理解的是,数据库连接信息可以是指在初始主库发生故障时,从初始主库切换至目标主库,生成目标数据库集群对应的数据库连接信息。
具体实现中,数据库集群切换系统根据数据库连接信息对初始配置文件信息进行修改,获得目标配置文件信息。
步骤S403:根据所述目标配置文件信息构建目标数据库集群。
需说明的是,数据库集群切换系统可以根据目标配置文件信息中包含各主从数据库对应的地址参数、端口号、用户名及密码等数据库连接信息构建目标数据库集群。
进一步地,所述根据所述数据库连接信息对所述初始配置文件信息进行修改,获得目标配置文件信息的步骤,包括:获取所述初始配置文件信息对应的写权限信息以及读权限信息;根据所述数据库连接信息对所述写权限信息以及读权限信息进行修改,获得目标配置文件信息。
需说明的是,初始配置文件信息对应的写权限信息以及读权限信息可以是初始主库对应的写权限信息,及各从库对应的读权限信息。
可理解的是,目标配置文件信息可以是对初始主库对应的写权限信及各从库对应的读权限信息进行修改后的配置文件信息。
具体实现中,初始主库发生故障后,数据库集群切换系统获取切换信息,并根据切换信息从数据库集群筛选出目标主库、初始主库的参数信息,并根据目标主库对应的参数信息和初始主库对应的参数信息对待切换数据库集群对应的读权限和写权限信息进行修改,获得目标主库对应的目标数据库集群对应的配置文件信息。
进一步地,所述根据所述目标配置文件信息构建目标数据库集群的步骤,包括:根据所述目标配置文件信息对待切换数据库集群对应的读权限信息和写权限信息进行修改,获得权限切换信息;根据所述权限切换信息构建目标数据库集群。
需说明的是,权限切换信息可以是指在进行主库切换时,将待切换数据库集群对应的读写权限进行切换所需配置的文件信息。
具体实现中,为了保证主从库切换和读写分离的同步,可以通过在主从库部署之后将读库与写库对应的信息进行切换,即如果writeHost指定的数据库宕机,那么这个writeHost绑定的所有readHost都将不可用。另一方面,由于这个writeHost宕机系统会自动的检测到,并切换到备用的writeHost上去。备用的writeHost可以是从数据库集群中的从库中选取确定的目标主库。数据库集群系统可以根据目标主库的数据库连接信息,修改待切换数据库集群配置文件writeHost信息,并剔除原readHost中的目标主库信息。根据目标配置文件信息在线重启数据库集群,完成writeHost,readHost切换。若此时主从切换已完成,检查目标主库的只读状态,确保只读状态已取消。当系统监控到主从切换完成,立即尝试取消目标主库的只读状态,恢复写入服务的正常提供。数据库集群系统通过控制目标主库和初始主库的只读状态来防止脏数据写入,保证数据一致性。根据切换后的目标主库信息,修改待切换数据库集群的配置文件,使得数据库集群的writeHost、readHost结构配置和目标主库、从库结构一致。通过在线重启数据库集群来重置dml sql、select sql路由分配。
进一步地,所述根据所述权限切换信息构建目标数据库集群的步骤之后,包括:获取目标数据库集群对应的读权限信息和写权限信息;将所述读权限信息和写权限信息生成告警信息。
需说明的是,目标数据库集群可以通过数据存储切分,将读操作和写操作对应的信息进行分区存储,一主库多从库,或者多主多从,这里的主库对应的就是写权限信息,从库对应的就是读权限信息。
可理解的是,主库与从库存储的数据可以是一致的,但将读写操作进行分离。
应理解的是,告警信息可以是包含对读权限信息和写权限信息对应的标签信息,写权限信息可以标记为writeHost,读权限信息可以标记为readHost。告警信息可以通过将标记信息生成告警信息。
具体实现中,数据库集群系统可以通过心跳检测NIOProcessor定时检测后端连接状态,判断是否超时等检查并获取目标数据库集群对应的的各writeHost、readHost心跳状态,将writeHost切换结果推送至webhook,短信通知相关运维人员。
本施例通过获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;根据所述目标主库信息和所述初始主库信息确定数据库连接信息;查找所述待切换数据库集群对应的初始配置文件信息;根据所述数据库连接信息对所述初始配置文件信息进行修改,获得目标配置文件信息;根据所述目标配置文件信息构建目标数据库集群。由于是根据目标主库信息和初始主库信息确定数据库连接信息,并构建目标数据库集群,本实施例相对于现有技术集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差,进而导致数据缺失,本实施例实现了主库与从库切换同写库与读库切换保持同步一致,保证服务的高可用和数据的一致性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据库集群切换程序,所述数据库集群切换程序被处理器执行时实现如上文所述的数据库集群切换方法的步骤。
参照图5,图5为本发明数据库集群切换装置第一实施例的结构框图。
如图5所示,本发明实施例提出的数据库集群切换装置包括:
故障判断模块10,用于获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;
数据库切换模块20,用于在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;
信息确定模块30,用于根据所述目标主库信息和所述初始主库信息确定数据库连接信息;
集群构建模块40,用于根据所述数据库连接信息构建目标数据库集群。
本实施例通过获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;在所述初始主库存在故障时,获取切换信息,并根据所述切换信息从所述待切换数据库集群中选取目标主库;从所述初始主库切换至目标主库,并获取目标主库信息;根据所述目标主库信息和所述初始主库信息确定数据库连接信息;根据所述数据库连接信息构建目标数据库集群。由于是根据目标主库信息和初始主库信息确定数据库连接信息,并构建目标数据库集群,本实施例相对于现有技术集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差,进而导致数据缺失,本实施例实现了主库与从库切换同写库与读库切换保持同步一致,保证服务的高可用和数据的一致性。
进一步地,所述数据库切换模块20还用于在所述初始主库存在故障时,获取切换信息,并根据所述切换信息从所述待切换数据库集群中选取目标主库;从所述初始主库切换至目标主库,并获取目标主库信息。
进一步地,所述信息确定模块30还用于根据预设校验模型对所述目标主库信息和所述初始主库信息进行合法校验,并获得校验结果;在所述校验结果满足预设条件时,获取所述目标主库对应的第一连接信息和所述初始主库对应的第二连接信息;根据所述第一连接信息和所述第二连接信息确定数据库连接信息。
进一步地,所述集群构建模块40还用于查找所述待切换数据库集群对应的初始配置文件信息;根据所述数据库连接信息对所述初始配置文件信息进行修改,获得目标配置文件信息;根据所述目标配置文件信息构建目标数据库集群。
进一步地,所述集群构建模块40还用于获取所述初始配置文件信息对应的写权限信息以及读权限信息;根据所述数据库连接信息对所述写权限信息以及读权限信息进行修改,获得目标配置文件信息。
进一步地,所述集群构建模块40还用于根据所述目标配置文件信息对待切换数据库集群对应的读权限信息和写权限信息进行修改,获得权限切换信息;根据所述权限切换信息构建目标数据库集群。
进一步地,所述数据库集群切换装置还包括:告警模块,所述告警模块用于获取目标数据库集群对应的读权限信息和写权限信息;将所述读权限信息和写权限信息生成告警信息。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据库集群切换程序,所述数据库集群切换程序被处理器执行时实现如上文所述的数据库集群切换方法的步骤。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据库集群切换方法,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种数据库集群切换方法,其特征在于,所述数据库集群切换方法包括以下步骤:
获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;
在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;
根据所述目标主库信息和所述初始主库信息确定数据库连接信息;
查找所述待切换数据库集群对应的初始配置文件信息;
获取所述初始配置文件信息对应的写权限信息以及读权限信息;
根据所述数据库连接信息对所述写权限信息以及读权限信息进行修改,获得目标配置文件信息;
根据所述目标配置文件信息对待切换数据库集群对应的读权限信息和写权限信息进行修改,获得权限切换信息;
根据所述权限切换信息构建目标数据库集群;
通过心跳检测定时检测后端连接状态,判断是否超时并获取目标数据库集群对应的各写权限信息和读权限信息的心跳状态;
根据所述心跳状态和写权限信息切换结果生成告警信息;
所述根据所述目标主库信息和所述初始主库信息确定数据库连接信息的步骤,包括:
根据预设校验模型对所述目标主库信息和所述初始主库信息进行合法校验,并获得校验结果;
在所述校验结果满足预设条件时,获取所述目标主库对应的第一连接信息和所述初始主库对应的第二连接信息;
根据所述第一连接信息和所述第二连接信息确定数据库连接信息。
2.如权利要求1所述的数据库集群切换方法,其特征在于,所述在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息的步骤,包括:
在所述初始主库存在故障时,获取切换信息,并根据所述切换信息从所述待切换数据库集群中选取目标主库;
从所述初始主库切换至目标主库,并获取目标主库信息。
3.如权利要求1所述的数据库集群切换方法,其特征在于,所述根据所述权限切换信息构建目标数据库集群的步骤之后,包括:
获取目标数据库集群对应的读权限信息和写权限信息;
将所述读权限信息和写权限信息生成告警信息。
4.一种数据库集群切换设备,其特征在于,所述数据库集群切换设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库集群切换程序,所述数据库集群切换程序被所述处理器执行时实现如权利要求1至3中任一项所述的数据库集群切换方法的步骤。
5.一种存储介质,其特征在于,所述存储介质上存储有数据库集群切换程序,所述数据库集群切换程序被处理器执行时实现如权利要求1至3中任一项所述的数据库集群切换方法的步骤。
6.一种数据库集群切换装置,其特征在于,所述数据库集群切换装置包括:
故障判断模块,用于获取待切换数据库集群的初始主库信息,并根据所述初始主库信息判断初始主库是否存在故障;
数据库切换模块,用于在所述初始主库存在故障时,从所述初始主库切换至目标主库,并获取目标主库信息;
信息确定模块,用于根据所述目标主库信息和所述初始主库信息确定数据库连接信息;
集群构建模块,用于查找所述待切换数据库集群对应的初始配置文件信息;获取所述初始配置文件信息对应的写权限信息以及读权限信息;根据所述数据库连接信息对所述写权限信息以及读权限信息进行修改,获得目标配置文件信息;根据所述目标配置文件信息对待切换数据库集群对应的读权限信息和写权限信息进行修改,获得权限切换信息;根据所述权限切换信息构建目标数据库集群;通过心跳检测定时检测后端连接状态,判断是否超时并获取目标数据库集群对应的各写权限信息和读权限信息的心跳状态;根据所述心跳状态和写权限信息切换结果生成告警信息;
所述信息确定模块,还用于根据预设校验模型对所述目标主库信息和所述初始主库信息进行合法校验,并获得校验结果;
所述信息确定模块,还用于在所述校验结果满足预设条件时,获取所述目标主库对应的第一连接信息和所述初始主库对应的第二连接信息;
所述信息确定模块,还用于根据所述第一连接信息和所述第二连接信息确定数据库连接信息。
CN202110034785.4A 2021-01-11 2021-01-11 数据库集群切换方法、设备、存储介质及装置 Active CN112749045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110034785.4A CN112749045B (zh) 2021-01-11 2021-01-11 数据库集群切换方法、设备、存储介质及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110034785.4A CN112749045B (zh) 2021-01-11 2021-01-11 数据库集群切换方法、设备、存储介质及装置

Publications (2)

Publication Number Publication Date
CN112749045A CN112749045A (zh) 2021-05-04
CN112749045B true CN112749045B (zh) 2023-05-26

Family

ID=75650801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110034785.4A Active CN112749045B (zh) 2021-01-11 2021-01-11 数据库集群切换方法、设备、存储介质及装置

Country Status (1)

Country Link
CN (1) CN112749045B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528373A (zh) * 2014-10-21 2016-04-27 阿里巴巴集团控股有限公司 数据库故障处理方法、装置、系统及服务器
CN111723066A (zh) * 2020-05-08 2020-09-29 武汉达梦数据库有限公司 基于日志解析同步的数据库切换方法和数据库切换系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932295B (zh) * 2018-05-31 2023-04-18 康键信息技术(深圳)有限公司 主数据库切换控制方法、装置、计算机设备和存储介质
CN109726046B (zh) * 2018-11-23 2021-01-08 网联清算有限公司 机房切换方法及切换装置
CN111190766A (zh) * 2019-12-12 2020-05-22 北京淇瑀信息科技有限公司 基于HBase数据库的跨机房集群的容灾方法、装置和系统
CN111813856A (zh) * 2020-07-01 2020-10-23 浪潮云信息技术股份公司 一种PostgreSQL高可用性的实现方法
CN112015595B (zh) * 2020-08-28 2021-03-02 掌阅科技股份有限公司 主从数据库的切换方法、计算设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528373A (zh) * 2014-10-21 2016-04-27 阿里巴巴集团控股有限公司 数据库故障处理方法、装置、系统及服务器
CN111723066A (zh) * 2020-05-08 2020-09-29 武汉达梦数据库有限公司 基于日志解析同步的数据库切换方法和数据库切换系统

Also Published As

Publication number Publication date
CN112749045A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN109729129B (zh) 存储集群系统的配置修改方法、存储集群及计算机系统
CN106843749B (zh) 写入请求处理方法、装置及设备
US6859889B2 (en) Backup system and method for distributed systems
US8074099B2 (en) Failure recovery method, failure recovery program and management server
US20100138687A1 (en) Recording medium storing failure isolation processing program, failure node isolation method, and storage system
CN109669762B (zh) 云计算资源管理方法、装置、设备及计算机可读存储介质
US10038593B2 (en) Method and system for recovering virtual network
CN107666493B (zh) 一种数据库配置方法及其设备
CN108958984B (zh) 基于ceph的双活同步在线热备方法
JP2017201470A (ja) 設定支援プログラム、設定支援方法及び設定支援装置
CN114884838A (zh) Kubernetes组件的监控方法及服务器
JP2006012004A (ja) ホットスタンバイシステム
CN108243031B (zh) 一种双机热备的实现方法及装置
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN112749045B (zh) 数据库集群切换方法、设备、存储介质及装置
CN114020279A (zh) 应用软件分布式部署方法、系统、终端及存储介质
CN107291575B (zh) 一种数据中心故障时的处理方法和设备
CN112000539A (zh) 一种巡检方法及装置
CN115794769B (zh) 高可用数据库管理的方法、电子设备及存储介质
CN111488247A (zh) 一种管控节点多次容错的高可用方法及设备
CN114666201A (zh) 一种高可用的分布式微服务架构
CN114297182A (zh) 一种工业模型数据管理方法、装置、设备及可读存储介质
CN110321251B (zh) 基于网络块设备的数据备份方法、装置、设备和存储介质
CN108319679B (zh) 一种主键的生成方法及装置
CN112702206A (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
GR01 Patent grant
GR01 Patent grant