CN114840495A - 一种数据库集群防脑裂的方法、存储介质与设备 - Google Patents
一种数据库集群防脑裂的方法、存储介质与设备 Download PDFInfo
- Publication number
- CN114840495A CN114840495A CN202210593418.2A CN202210593418A CN114840495A CN 114840495 A CN114840495 A CN 114840495A CN 202210593418 A CN202210593418 A CN 202210593418A CN 114840495 A CN114840495 A CN 114840495A
- Authority
- CN
- China
- Prior art keywords
- database
- cluster
- response
- gateway
- database cluster
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000002265 prevention Effects 0.000 title claims abstract description 29
- 210000004556 brain Anatomy 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 45
- 238000004891 communication Methods 0.000 claims abstract description 41
- 230000002159 abnormal effect Effects 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 6
- 230000000593 degrading effect Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种数据库集群防脑裂的方法、存储介质与设备,该方法包括:获取到当前数据库所在集群内任一其他数据库发生异常事件;获取当前数据库的主备状态;向数据库集群的信任网关发送探测报文,根据信任网关的响应确认当前数据库与信任网关的连通状态;根据连通状态执行与主备状态相对应的故障处理操作。本发明的数据库集群防脑裂的方法引入信任网关概念,数据库集群会通过向数据库集群的信任网关发送探测报文,根据信任网关的响应确认当前数据库与信任网关的连通状态进而判断当前数据库的网络状态,从而采取相应的措施,防止脑裂的发生,无需第三方服务来做仲裁,节约了设备成本。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据库集群防脑裂的方法、存储介质与设备。
背景技术
集群技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性等方面的相对较高的收益,其任务调度则是集群系统中的核心技术。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
在数据库主备集群中,主数据库是唯一对外提供完成读写服务的节点,其他都是备数据库并且只能提供读服务。当主数据库发生故障无法提供服务后,需要做故障转移(failover),使备数据库提升为主数据库继续提供服务。因为故障发生是不确定的,为了让主数据库故障对应用的影响最小化,一般都需要自动执行故障转移(auto-failover)。
自动故障转移的判断标准是主数据库故障。在网络故障中,如果备数据库所在服务器出现网络故障就会导致备数据库认为是主数据库发生了故障,触发自动故障转移,进而导致脑裂。所以,在数据库主备集群中,如果需要自动故障转移,都会引入第三方服务(observer、仲裁节点等)来做仲裁,防止网络问题导致脑裂。
图1是现有技术中主备集群部署架构的示意图。其中示出了网关设备300、主数据库服务器100、备数据库服务器200以及第三方服务服务器400。在传统的主备集群部署架构中,引入第三方服务(例如:Observer),第三方服务位于单独服务器,和主备集群位于同一网络分区下,所有数据库和第三方服务建立TCP连接来交换信息。当某个数据库发生网络故障后,其和第三方服务的TCP连接也会断开,备数据库在无第三方服务介入的情况下无法完成升主——这样就可以防止脑裂。
第三方服务需要单独占用一台设备,并且和集群的设备在同一组网下。但在实际应用场景中,不是所有的客户都可以提供多余的设备来部署第三方服务,在这种情况下客户也需要自动故障转移功能。
基于上述考虑,如何在无第三方服务的情况下提供自动故障转移功能,并能够预防网络问题导致的脑裂就是本领域关心的技术问题。
发明内容
本发明的一个目的是要提供一种能够解决上述任一问题的集群防脑裂的方法。
本发明一个进一步的目的是要防止数据库集群发生脑裂。
本发明另一个进一步的目的是要减少防脑裂所需的设备。
特别地,本发明提供了一种数据库集群防脑裂的方法,该数据库集群防脑裂的方法包括:
获取到当前数据库所在数据库集群内任一其他数据库发生异常事件;
获取当前数据库的主备状态;
向数据库集群的信任网关发送探测报文,根据信任网关的响应确认当前数据库与信任网关的连通状态;
根据连通状态执行与主备状态相对应的故障处理操作。
可选地,根据连通状态执行与主备状态相对应的故障处理操作的步骤包括:
在当前数据库为主数据库的情况下,若连通状态为正常连通,将其他数据库踢出数据库集群;
若连通状态为连接异常,关闭当前数据库。
可选地,根据连通状态执行与主备状态相对应的故障处理操作的步骤还包括:
在当前数据库为备数据库的情况下,若连通状态为正常连通,设置当前数据库为主数据库;
若连通状态为连接异常,将当前数据库降级为异常模式,并尝试将当前数据库踢出数据库集群。
可选地,异常事件包括发现数据库集群内任一其他数据库发生故障。
可选地,异常事件还包括发现所在数据库集群内任一其他数据库无法与当前数据库进行数据同步。
可选地,信任网关的响应包括正常响应和故障响应,故障响应包括错误响应、超时响应、未响应,并且
根据信任网关的响应确认当前数据库与信任网关的连通状态的步骤包括:
在信任网关的响应为正常响应的情况下,确定连通状态为正常连通;
在信任网关的响应为故障响应的情况下,确定连通状态为连接异常。
可选地,信任网关为数据库集群所在网段的网关设备。
可选地,网关设备为路由器或交换机。
根据本发明的另一方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现根据上述任一种数据库集群防脑裂的方法。
根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现根据上述任一种数据库集群防脑裂的方法。
本发明的数据库集群防脑裂的方法引入信任网关概念,数据库集群会通过向所述数据库集群的信任网关发送探测报文,根据所述信任网关的响应确认所述当前数据库与所述信任网关的连通状态进而判断当前数据库的网络状态,从而采取相应的措施,防止脑裂的发生,本发明的数据库集群防脑裂的方法无需第三方服务(observer、仲裁节点等)来做仲裁,节约了设备成本。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是现有技术中主备集群部署架构的示意图;
图2是根据本发明一个实施例的数据库集群防脑裂的方法的数据库集群的示意性架构图;
图3是根据本发明一个实施例的数据库集群防脑裂的方法的示意性流程图;
图4是根据本发明一个实施例的数据库集群防脑裂的方法在当前数据库为主数据库的情况下的示意性流程图;
图5是根据本发明一个实施例的数据库集群防脑裂的方法在当前数据库为备数据库的情况下的示意性流程图;
图6是根据本发明一个实施例的机器可读存储介质的示意图;以及
图7是根据本发明一个实施例的计算机设备的示意图。
具体实施方式
图2是根据本发明一个实施例的数据库集群防脑裂的方法的数据库集群的示意性架构图。本发明的数据库集群的架构包括主数据库服务器100、备数据库服务器200以及信任网关300。信任网关300为数据库集群所在网段的网关设备。网关设备为路由器或交换机。数据库集群首先须认定其所在网段内的任意网关设备为信任网关300,主数据库与备数据库都依靠信任网关300进行交互。在后续的检查中一旦发现同信任网关300断开连接,也即同时和本网络其他所有设备断开连接。
数据库集群会将本网段已有设备当做信任网关300,提供信任网关300的IP或host之后,数据库集群内的所有数据库都会通过ping向信任网关300发送ICMP(InternetControl Message Protocol,因特网控制报文协议)报文并通过报文返回判断与信任网关300的连通状态。当ping返回正常的应答报文,则此时信任网关300为正常响应。当ping返回差错报文,则此时信任网关300为错误响应。当ping返回超时信息,则此时信任网关300为超时响应。当ping超时未收到任何报文,则此时信任网关300为未响应。在信任网关300的响应为正常响应的情况下,确定连通状态为正常连通;在信任网关300的响应为异常响应的情况下,确定所述连通状态为连接异常。
图3是根据本发明一个实施例的数据库集群防脑裂的方法的示意性流程图。本实施例的数据库集群防脑裂的方法一般性地可包括:
步骤S202,获取到当前数据库所在集群内任一其他数据库发生异常事件。异常事件包括发现数据库集群内任一其他数据库发生故障和所在数据库集群内的任一其他数据库与当前数据库无法进行数据同步。当前数据库为数据库集群内的数据库。当前数据库可以为主数据库,也可以为备数据库。
步骤S204,获取当前数据库的主备状态。主备状态指当前数据库为主数据库或备数据库。
步骤S206,向数据库集群的信任网关发送探测报文,根据信任网关的响应确认当前的数据库与信任网关的连通状态。
信任网关可以为数据库集群所在网段的网关设备。网关设备可以为路由器或交换机,上述设备不需要做任何修改,只需要提供IP地址。信任网关的响应可以包括正常响应和故障响应。
故障响应可以包括错误响应、超时响应、未响应。数据库集群可以将本网段已有设备当做信任网关,提供信任网关的IP或host之后,数据库集群内的所有数据库都会通过ping向信任网关发送ICMP报文并通过报文返回判断与信任网关的连通状态。当ping返回正常的应答报文,则此时信任网关为正常响应。当ping返回差错报文,则此时信任网关为错误响应。当ping返回超时信息,则此时信任网关为超时响应。当ping超时未收到任何报文,则此时信任网关为未响应。在信任网关的响应为正常响应的情况下,确定连通状态为正常连通;在信任网关的响应为异常响应的情况下,确定所述连通状态为连接异常。
步骤S208,根据连通状态执行与主备状态相对应的故障处理操作。
在其他实施例中,在当前数据库未发现异常事件时,间隔预设时间进行网络检查,来判断是否是本设备网络出现问题和其他数据库断开,从而出现的错误判断。
本实施例的数据库集群防脑裂的方法引入信任网关概念,数据库集群会通过向所述数据库集群的信任网关发送探测报文,根据所述信任网关的响应确认所述当前数据库与所述信任网关的连通状态进而判断当前数据库的网络状态,从而采取相应的措施,防止脑裂的发生。本发明的数据库集群防脑裂的方法无需第三方服务(observer、仲裁节点等)来做仲裁,节约了设备成本。
在传统的主备集群部署架构中,引入第三方服务(例如:Observer),第三方服务位于单独服务器,和主备集群位于同一网络分区下,所有数据库和第三方服务建立TCP连接来交换信息。当某个数据库发生网络故障后,其和第三方服务的TCP连接也会断开,备数据库在无第三方服务介入的情况下无法完成升主——这样就可以防止脑裂。与传统的主备集群部署架构比对,本实施例的数据库集群防脑裂的方法引入信任网关概念,数据库集群会将本网段已有设备当做信任网关,提供信任网关的IP或host之后,数据库集群内的所有数据库都会通过ping向信任网关发送ICMP报文并通过报文返回判断与信任网关的连通状态,从而判断数据库的网络状态,避免因为网络问题导致的脑裂现象。相比于引入第三方服务的架构,实施例的数据库集群防脑裂的方法减少了应用设备,同样可以完成故障转移,而不会发生脑裂。
图4是根据本发明一个实施例的数据库集群防脑裂的方法在当前数据库为主数据库的情况下的示意性流程图。本实施例的数据库集群防脑裂的方法中根据所述连通状态执行与主备状态相对应的故障处理操作的步骤包括:
步骤S302,确认当前数据库为主数据库。
步骤S304,确认当前数据库与信任网关的连通状态。在连通状态为正常连通时,执行步骤S306。在连通状态为连接异常时,执行步骤S308。
步骤S306,将其他数据库提出数据库集群。
步骤S308,关闭当前数据库。
在当前数据库(主数据库)和其他数据库(备数据库)同步中断时,初步判断为其他数据库(备数据库)故障,同时进行信任网关检测,连通状态为连接异常时,判断为本地网络故障,关闭当前数据库(主数据库)。其他数据库可择优选择出一个提升为主数据库。
在当前数据库(主数据库)和其他数据库(备数据库)同步中断时,初步判断为其他数据库(备数据库)故障,同时进行信任网关检测,连通状态为连通正常。不对当前数据库进行状态变化,尝试将故障的其他数据库(备数据库)踢出集群。
图5是根据本发明一个实施例的数据库集群防脑裂的方法在当前数据库为备数据库的情况下的示意性流程图。本实施例的数据库集群防脑裂的方法中根据所述连通状态执行与主备状态相对应的故障处理操作的步骤包括:
步骤S402,确认当前数据库为备数据库。
步骤S404,确认当前数据库与信任网关的连通状态。在连通状态为正常连通时,执行步骤S406。在连通状态为连接异常时,执行步骤S408。
步骤S406,设置当前数据库为主数据库。
步骤S408,将当前数据库降级为异常模式,并尝试将当前数据库踢出数据库集群。将当前数据库降级以避免影响数据库集群的其他数据库正常运行。
在当前数据库(备数据库)和其他数据库(主数据库)同步中断时,初步判断为其他数据库(主数据库)故障,同时进行信任网关检测,连通状态为正常连通。执行自动故障转移,提升当前数据库为主数据库。
在当前数据库(备数据库)和其他数据库(主数据库)同步中断时,初步判断为其他数据库(主数据库)故障,同时进行信任网关检测,连通状态为连接异常时,判断为本地网络故障。无法执行自动故障转移,当前数据库降级为异常模式,并尝试将自己踢出集群,并且后续无法执行任何故障处理,仅保证数据库集群的运行。
在网络故障中,如果备数据库所在服务器出现网络故障就会导致备数据库认为是主数据库发生了故障,触发自动故障转移,进而导致脑裂。在数据库主备集群中,如果需要自动故障转移,都会引入第三方服务(observer、仲裁节点等)来做仲裁,防止网络问题导致脑裂。第三方服务需要单独用一台设备,并且和集群的设备在同一组网下。但在实际应用场景中,不是所有的客户都可以提供多余的设备来部署第三方服务,在这种情况下客户也需要故障转移功能。
如表1所示,三个方案的对比可体现本实施例的数据库集群防脑裂的方法(方案③)的效果。方案①:主备数据库集群,且拥有自动故障转移功能。方案②:主备数据库集群以及第三方服务(observer或仲裁节点),拥有自动故障转移功能。方案③:主备数据库集群以及信任网关,拥有自动故障转移功能。
表1
由上表可见,本实施例的数据库集群防脑裂的方法(方案③)相对于方案①,在主数据库或备数据库发生网络问题的时候避免了脑裂的发生;相对于方案②减少了第三方服务设备,同样可以完成自动故障转移,而不会发生脑裂。
本实施例的数据库集群防脑裂的方法相比传统无任何外部服务或设备的主备集群,可以预防脑裂的发生。本实施例的数据库集群防脑裂的方法相比与设置有第三方服务(observer或仲裁),在减少了需要独占设备的第三方服务的情况下,拥有和其一样的防脑裂能力。
本实施例还提供了一种机器可读存储介质和计算机设备。图6是根据本发明一个实施例的机器可读存储介质的示意图,图7是根据本发明一个实施例的计算机设备的示意图。
机器可读存储介质40其上存储有机器可执行程序41,机器可执行程序41被处理器执行时实现上述任一实施例的数据库集群防脑裂的方法。
计算机设备50可以包括存储器520、处理器510及存储在存储器520上并在处理器510上运行的机器可执行程序41,并且处理器510执行机器可执行程序41时实现上述任一实施例的数据库集群防脑裂的方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本实施例的描述而言,机器可读存储介质40可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质40甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
计算机设备50可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备50可以是云计算节点。计算机设备50可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备50可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算机设备50可以包括适于执行存储的指令的处理器510、在操作期间为所述指令的操作提供临时存储空间的存储器520。处理器510可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器520可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
处理器510也可以通过系统互连链接到适于将计算机设备50连接到显示设备的显示接口。显示设备可以包括作为计算机设备50的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备50的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,NIC)可以适于通过系统互连将计算机设备50连接到网络。在一些实施例中,NIC可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(WAN))、局域网(LAN)或因特网等等。远程设备可以通过网络连接到计算设备。
本实施例提供的流程图并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (10)
1.一种数据库集群防脑裂的方法,包括:
获取到当前数据库所在数据库集群内任一其他数据库发生异常事件;
获取所述当前数据库的主备状态;
向所述数据库集群的信任网关发送探测报文,根据所述信任网关的响应确认所述当前数据库与所述信任网关的连通状态;
根据所述连通状态执行与所述主备状态相对应的故障处理操作。
2.根据权利要求1所述的数据库集群防脑裂的方法,其中,所述根据所述连通状态执行与所述主备状态相对应的故障处理操作的步骤包括:
在所述当前数据库为主数据库的情况下,若所述连通状态为正常连通,将所述其他数据库踢出所述数据库集群;
若所述连通状态为连接异常,关闭所述当前数据库。
3.根据权利要求2所述的数据库集群防脑裂的方法,其中,所述根据所述连通状态执行与所述主备状态相对应的故障处理操作的步骤还包括:
在所述当前数据库为备数据库的情况下,若所述连通状态为正常连通,设置所述当前数据库为主数据库;
若所述连通状态为连接异常,将所述当前数据库降级为异常模式,并尝试将所述当前数据库踢出所述数据库集群。
4.根据权利要求1所述的数据库集群防脑裂的方法,其中,所述异常事件包括发现所述数据库集群内任一其他数据库发生故障。
5.根据权利要求1所述的数据库集群防脑裂的方法,其中所述异常事件还包括发现所在数据库集群内任一其他数据库无法与所述当前数据库进行数据同步。
6.根据权利要求1所述的数据库集群防脑裂的方法,其中,
所述信任网关的响应包括正常响应和故障响应,所述故障响应包括错误响应、超时响应、未响应,并且
所述根据所述信任网关的响应确认所述当前数据库与所述信任网关的连通状态的步骤包括:
在信任网关的响应为正常响应的情况下,确定所述连通状态为正常连通;
在信任网关的响应为故障响应的情况下,确定所述连通状态为连接异常。
7.根据权利要求1所述的数据库集群防脑裂的方法,其中,所述信任网关为所述数据库集群所在网段的网关设备。
8.根据权利要求7所述的数据库集群防脑裂的方法,其中,所述网关设备为路由器或交换机。
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的数据库集群防脑裂的方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据库集群防脑裂的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210593418.2A CN114840495A (zh) | 2022-05-27 | 2022-05-27 | 一种数据库集群防脑裂的方法、存储介质与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210593418.2A CN114840495A (zh) | 2022-05-27 | 2022-05-27 | 一种数据库集群防脑裂的方法、存储介质与设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114840495A true CN114840495A (zh) | 2022-08-02 |
Family
ID=82572374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210593418.2A Pending CN114840495A (zh) | 2022-05-27 | 2022-05-27 | 一种数据库集群防脑裂的方法、存储介质与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840495A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107787A (zh) * | 2023-02-15 | 2023-05-12 | 学科网(北京)股份有限公司 | 一种解决双机高可用架构脑裂的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391633A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库集群自动优化处理方法、装置及服务器 |
CN110750393A (zh) * | 2019-09-03 | 2020-02-04 | 北京字节跳动网络技术有限公司 | 避免网络服务双机热备脑裂的方法、装置、介质和设备 |
CN113360579A (zh) * | 2021-06-30 | 2021-09-07 | 平安普惠企业管理有限公司 | 数据库高可用处理方法、装置、电子设备及存储介质 |
CN114528350A (zh) * | 2022-02-18 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 集群脑裂的处理方法、装置、设备及可读存储介质 |
-
2022
- 2022-05-27 CN CN202210593418.2A patent/CN114840495A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391633A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库集群自动优化处理方法、装置及服务器 |
CN110750393A (zh) * | 2019-09-03 | 2020-02-04 | 北京字节跳动网络技术有限公司 | 避免网络服务双机热备脑裂的方法、装置、介质和设备 |
CN113360579A (zh) * | 2021-06-30 | 2021-09-07 | 平安普惠企业管理有限公司 | 数据库高可用处理方法、装置、电子设备及存储介质 |
CN114528350A (zh) * | 2022-02-18 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 集群脑裂的处理方法、装置、设备及可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116107787A (zh) * | 2023-02-15 | 2023-05-12 | 学科网(北京)股份有限公司 | 一种解决双机高可用架构脑裂的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7225356B2 (en) | System for managing operational failure occurrences in processing devices | |
CN112003961B (zh) | 一种kubernetes中资源暴露方法、系统、设备以及介质 | |
US9037899B2 (en) | Automated node fencing integrated within a quorum service of a cluster infrastructure | |
CN109286529B (zh) | 一种恢复RabbitMQ网络分区的方法及系统 | |
US9886358B2 (en) | Information processing method, computer-readable recording medium, and information processing system | |
CN107508694B (zh) | 一种集群内的节点管理方法及节点设备 | |
CN108984349B (zh) | 主节点选举方法及装置、介质和计算设备 | |
CN111949444A (zh) | 一种基于分布式服务集群的数据备份与恢复系统及方法 | |
CN109697078B (zh) | 非高可用性组件的修复方法、大数据集群和容器服务平台 | |
CN111385107A (zh) | 一种服务器的主备切换处理方法及装置 | |
US7373542B2 (en) | Automatic startup of a cluster system after occurrence of a recoverable error | |
CN113347037A (zh) | 一种数据中心访问方法及装置 | |
CN114840495A (zh) | 一种数据库集群防脑裂的方法、存储介质与设备 | |
WO2020233001A1 (zh) | 双控构架分布式存储系统、数据读取方法、装置和存储介质 | |
JP6083480B1 (ja) | 監視装置、フォールトトレラントシステムおよび方法 | |
CN117201507A (zh) | 云平台切换方法、装置、电子设备及存储介质 | |
CN110351122B (zh) | 容灾方法、装置、系统与电子设备 | |
CN113596195B (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
CN107087021B (zh) | 主从服务器确定方法及装置 | |
CN112035250A (zh) | 高可用局域网服务管理方法、设备及部署架构 | |
CN115001950A (zh) | 一种数据库集群的故障处理方法、存储介质与设备 | |
CN115190040B (zh) | 虚拟机高可用的实现方法及装置 | |
CN110266795A (zh) | 一种基于Openstack平台控制方法 | |
CN116248484B (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 |