CN116089149A - 数据库系统的运行方法、存储介质及设备 - Google Patents

数据库系统的运行方法、存储介质及设备 Download PDF

Info

Publication number
CN116089149A
CN116089149A CN202310139338.4A CN202310139338A CN116089149A CN 116089149 A CN116089149 A CN 116089149A CN 202310139338 A CN202310139338 A CN 202310139338A CN 116089149 A CN116089149 A CN 116089149A
Authority
CN
China
Prior art keywords
state
center
database system
communication
arbiter
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
CN202310139338.4A
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.)
Beijing Kingbase Information Technologies Co Ltd
Original Assignee
Beijing Kingbase Information Technologies 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 Beijing Kingbase Information Technologies Co Ltd filed Critical Beijing Kingbase Information Technologies Co Ltd
Priority to CN202310139338.4A priority Critical patent/CN116089149A/zh
Publication of CN116089149A publication Critical patent/CN116089149A/zh
Pending legal-status Critical Current

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/21Design, administration or maintenance of databases
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据库系统的运行方法、存储介质及设备。数据库系统包括仲裁者、主中心和备中心,数据库系统的运行方法包括采集数据库系统的状态集合,状态集合包括采集时刻的仲裁者与主中心的通信状态、仲裁者与备中心之间的通信状态以及主中心与备中心之间的通信状态;判断状态集合是否与第一预设状态相符,第一预设状态至少包括仲裁者与主中心之间的通信状态为断开以及主中心与备中心之间的通信状态为断开;若状态集合与第一预设状态相符,获取上一采集时刻采集的状态集合,记为参考状态集合;根据参考状态集合调整数据库系统的运行模式。从而能够对数据库系统的故障情况作出更准确的判断,减少故障处理过程中出现问题的情况。

Description

数据库系统的运行方法、存储介质及设备
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据库系统的运行方法、存储介质及设备。
背景技术
在具有容灾功能的数据库系统中,通常包括仲裁者、主中心和备中心,从而能够在主中心出现故障的情况下,将备中心提升为新的主中心,以保证数据库系统的容灾效果。具体地,在仲裁者和备中心均ping(Packet Internet Groper,因特网包探索器,可以实现节点与其他节点之间的网络连接)不通主中心的情况下,会将备中心提升为新的主中心来继续维持数据库系统,以提高数据库系统的可用性。
现有的数据库系统虽然保证了可用性,但是由于目前数据库系统只将主中心与备中心和仲裁者失去连接作为改变数据库系统运行模式的依据,对故障具体情况的判断不够准确,容易导致数据库系统在将备中心提升为新的主中心的过程中出现问题,以致于数据库系统可靠性不高。
发明内容
本发明的一个目的是要提供一种能够解决上述任一问题的数据库系统的运行方法、存储介质及设备。
特别地,本发明提供了一种数据库系统的运行方法,数据库系统包括仲裁者、主中心和备中心,数据库系统的运行方法包括:
按照预设周期采集数据库系统的状态集合,状态集合包括采集时刻的仲裁者与主中心的通信状态、仲裁者与备中心之间的通信状态以及主中心与备中心之间的通信状态;
判断状态集合是否与第一预设状态相符,第一预设状态至少包括仲裁者与主中心之间的通信状态为断开以及主中心与备中心之间的通信状态为断开;
若状态集合与第一预设状态相符,获取上一采集时刻采集的状态集合,记为参考状态集合;
根据参考状态集合调整数据库系统的运行模式。
可选地,第一预设状态包括仲裁者与主中心之间的通信状态为断开、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为断开。
可选地,根据参考状态集合调整数据库系统的运行模式的步骤包括:
判断参考状态集合是否与第二预设状态相符;
若参考状态集合与第二预设状态相符,将备中心提升为主中心;
停止原来的主中心的事务处理工作。
可选地,第二预设状态包括仲裁者与主中心之间的通信状态为正常、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为正常。
可选地,第二预设状态包括仲裁者与主中心之间的通信状态为断开、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为正常。
可选地,判断状态集合是否与第一预设状态相符的步骤之后包括:
若状态集合与第一预设状态不相符,保持当前数据库系统当前的运行模式。
可选地,状态集合还包括主中心和备中心之间的数据差异状态,数据差异状态包括相同状态和相异状态,相同状态表示主中心和备中心的数据相同,相异状态表示主中心和备中心的数据不同;
第二预设状态至少包括主中心和备中心之间的数据差异状态为相同状态。
可选地,根据参考集合调整数据库系统的运行模式的步骤包括:
判断参考状态集合是否与第三预设状态相符,第三预设状态至少包括仲裁者与备中心之间的通信状态为断开;
若参考状态集合与第三预设状态相符,保持主中心的事务处理工作。
根据本发明的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据上述任一项所述的数据库系统的运行方法。
根据本发明的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据上述任一项所述的数据库系统的运行方法。
本发明的数据库系统的运行方法通过采集包括仲裁者与主中心的通信状态、仲裁者与备中心之间的通信状态以及主中心与备中心之间的通信状态的状态集合,当状态集合符合第一预设状态的情况下,获取上一采集时刻采集到的状态集合,从而根据上一采集时刻采集到的状态集合对数据库系统的运行模式进行调整。也就是说,能够利用状态集合的变化对情况对数据库系统的运行模式进行调整。所以,一方面能够根据仲裁者与主中心的通信状态、仲裁者与备中心之间的通信状态以及主中心与备中心之间的通信状态对故障情况进行判断,有助于辨别实际故障类型。另一方面,根据状态集合的变化对运行模式进行调整,能够对故障前一刻的系统情况进行确认,从而能够一定程度上确认故障是由什么状态发展而来,进而更好地对数据库运行模式进行调整。因此,本实施例的方法能够对数据库系统的故障情况作出更准确的判断,从而减少故障处理过程中出现问题的情况,保证了数据库系统的可用性和可靠性。
进一步地,本发明的通过使第一预设状态包括仲裁者与主中心之间的通信状态为断开、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为断开,并且,在参考状态集合与第二预设状态相符的情况下将备中心提升为主中心,停止原来的主中心的事务处理工作。也就是说,只有数据库系统的状态集合由仲裁者与主中心之间的通信状态为正常、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为正常跳变为仲裁者与主中心之间的通信状态为断开、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为断开,或者由仲裁者与主中心之间的通信状态为断开、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为正常跳变为仲裁者与主中心之间的通信状态为断开、仲裁者与备中心之间的通信状态为正常以及主中心与备中心之间的通信状态为断开的情况下才将备中心提升为主中心,停止原来的主中心的事务处理工作。因此,一方面能够在主中心故障或者主中心和仲裁者、主中心和备中心之间通信故障的情况下,将备中心提升为主中心,停止原来的主中心的事务处理工作,以避免数据库系统出现同时存在两个主中心的情况,从而避免将备中心提升为主中心后出现脑裂问题。另一方面,保证了故障前主中心和备中心能够通信以保持状态同步,保障备中心成为新的主中心后的正常使用。另外,只有符合上述情况才停止原来的主中心的事务处理工作,避免了在仲裁者与备中心之间的通信状态为断开而导致备中心无法被提升为新的主中心下仍然停止原来的主中心的事务处理工作,以致于数据库系统无主中心可用的情况发生。因此,能够对数据库系统的各种故障类型做出符合要求的处理,有助于减少数据库系统故障处理过程中出现的问题,保证了数据库系统的可用性和可靠性。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本发明一个实施例的数据库系统的示意图;
图2是根据本发明一个实施例的数据库系统的运行方法的示意性流程图;
图3是根据本发明一个实施例的数据库系统的运行方法中根据参考状态集合确定数据库系统的运行模式步骤的示意性流程图;
图4是根据本发明一个实施例的数据库系统的运行方法针对的一种数据库系统状态变化的示意图;
图5是根据本发明一个实施例的数据库系统的运行方法针对的另一种数据库系统状态变化的示意图;
图6是根据本发明一个实施例的数据库系统的运行方法针对的又一种数据库系统状态变化的示意图;
图7是根据本发明一个实施例的数据库系统的运行方法针对的又一种数据库系统状态变化的示意图;
图8是根据本发明一个实施例的机器可读存储介质的示意图;
图9是根据本发明一个实施例的计算机设备的示意图。
具体实施方式
本领域技术人员应当理解的是,下文所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,该一部分实施例旨在用于解释本发明的技术原理,并非用于限制本发明的保护范围。基于本发明提供的实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本发明的保护范围之内。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
如图1和图2所示,在一个实施例中,数据库系统包括仲裁者10、主中心20和备中心30。数据库系统的运行方法一般性地包括:
步骤S201,按照预设周期采集数据库系统的状态集合。状态集合包括采集时刻的仲裁者10与主中心20的通信状态、仲裁者10与备中心30之间的通信状态以及主中心20与备中心30之间的通信状态。
具体来说,创建状态集合,状态集合表示为[仲裁者与主中心的通信状态,仲裁者与备中心之间的通信状态,主中心与备中心之间的通信状态]。其中,仲裁者10、主中心20和备中心30两两之间的通信状态用取值表示,例如,通信状态正常为0,异常为1。那么,在正常的数据库状态下,采集到状态集合为[0,0,0]。
进一步地,按照预设周期定期采集并记录数据库系统的状态集合,从而能够形成数据库系统的状态集合的变化记录序列。
步骤S202,判断状态集合是否与第一预设状态相符,若是,执行步骤S203,若否,执行步骤S205。第一预设状态至少包括仲裁者10与主中心20之间的通信状态为断开以及主中心20与备中心30之间的通信状态为断开。
具体地,第一预设状态包括仲裁者10与主中心20之间的通信状态为断开、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为断开。参照上文示例,也就是说,第一预设状态为[1,0,1]。
步骤S203,获取上一采集时刻采集的状态集合,记为参考状态集合。具体来说,如果当前采集时刻采集到状态集合与第一预设状态相符,在按照时间顺序采集而形成的状态集合的变化记录序列中,获取上一采集时刻,即当前采集时刻的上一次采集工作中采集到的状态集合。
步骤S204,根据参考状态集合确定数据库系统的运行模式。
参照图3所示,具体来说,根据参考状态集合确定数据库系统的运行模式的步骤包括:
步骤S301,判断参考状态集合是否与第二预设状态相符。
具体地,第二预设状态包括仲裁者10与主中心20之间的通信状态为正常、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为正常。或者,第二预设状态包括仲裁者10与主中心20之间的通信状态为断开、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为正常。
参照上文示例,也就是说,第二预设状态为[0,0,0]或者[1,0,0]。
步骤S302,若参考状态集合与第二预设状态相符,将备中心提升为主中心。具体地,如果参考状态集合为[0,0,0]或者[1,0,0]。也就是说,在按时间顺序记录的状态集合的变化序列中,[1,0,1]的上一个状态集合为[0,0,0]或者[1,0,0]。换句话说,数据库系统的状态由[0,0,0]或者[1,0,0]跳变至[1,0,1]。那么,将备中心30提升为数据库系统中的新的主中心。
步骤S303,停止原来的主中心的事务处理工作。停止原来的主中心20的事务处理工作。
步骤S205,保持当前数据库系统当前的运行模式。具体地,如果状态集合与第一预设状态不相符。也就是说,当前采集时刻采集到的状态集合不为[1,0,1],那么不对数据库系统的运行模式做出改变。具体来说,就是保持主中心20作为写操作的执行中心,使主中心20进行事务处理。换句话说,不将备中心30提升为新的主中心,也不停止主中心20的事务处理工作。
在本实施例的方案中,通过采集包括仲裁者10与主中心20的通信状态、仲裁者10与备中心30之间的通信状态以及主中心20与备中心30之间的通信状态的状态集合,当状态集合符合第一预设状态的情况下,获取上一采集时刻采集到的状态集合,从而根据上一采集时刻采集到的状态集合对数据库系统的运行模式进行调整。也就是说,能够利用状态集合的变化对情况对数据库系统的运行模式进行调整。
所以,一方面能够根据仲裁者10与主中心20的通信状态、仲裁者10与备中心30之间的通信状态以及主中心20与备中心30之间的通信状态对故障情况进行判断,有助于辨别故障的具体情况。另一方面,根据状态集合的变化对运行模式进行调整,能够对故障前一刻的系统情况进行确认,从而能够一定程度上确认故障是由什么状态发展而来,进而更好地对数据库运行模式进行调整。因此,本实施例的方法能够对数据库系统的故障情况作出更准确的判断,从而减少故障处理过程中出现问题的情况。
进一步地,现有技术因为对故障的具体情况判断不够准确,容易出现在主中心没有故障,只是主中心20和仲裁者10以及备中心30的通信出现故障的情况下将备中心提升为主中心,导致出现两个主中心以致于出现脑裂。而如果停止主中心的事务处理来防止脑裂,那么如果备中心30与仲裁者10之间的通信先发生故障的情况下,又会导致无主中心可用的问题。
在本实施例的方案中,通过使第一预设状态包括仲裁者10与主中心20之间的通信状态为断开、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为断开,并且,在参考状态集合与第二预设状态相符的情况下将备中心提升为主中心,停止原来的主中心的事务处理工作。
也就是说,只有数据库系统的状态集合由仲裁者10与主中心20之间的通信状态为正常、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为正常跳变为仲裁者10与主中心20之间的通信状态为断开、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为断开,或者由仲裁者10与主中心20之间的通信状态为断开、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为正常跳变为仲裁者10与主中心20之间的通信状态为断开、仲裁者10与备中心30之间的通信状态为正常以及主中心20与备中心30之间的通信状态为断开的情况下才将备中心30提升为主中心,停止原来的主中心20的事务处理工作。
因此,一方面能够在主中心20故障或者主中心20和仲裁者10、主中心20和备中心30之间通信故障的情况下,将备中心30提升为主中心,停止原来的主中心20的事务处理工作,以避免数据库系统出现同时存在两个主中心的情况,从而避免将备中心提升为主中心后出现脑裂问题。另一方面,保证了故障前主中心20和备中心30能够通信以保持状态同步,保障备中心30成为新的主中心后的正常使用。
另外,只有符合上述情况才停止原来的主中心20的事务处理工作,避免了在仲裁者10与备中心30之间的通信状态为断开而导致备中心30无法被提升为新的主中心下仍然停止原来的主中心20的事务处理工作,以致于数据库系统无主中心可用的情况发生。因此,能够对数据库系统的各种故障类型做出符合要求的处理,有助于减少数据库系统故障处理过程中出现的问题。
在本实施例中,进一步地,状态集合还包括主中心20和备中心30之间的数据差异状态,数据差异状态包括相同状态和相异状态,相同状态表示主中心20和备中心30的数据相同,相异状态表示主中心20和备中心30的数据不同。第二预设状态至少包括主中心20和备中心30之间的数据差异状态为相同状态。
具体地,同样用取值表示,例如,相同状态正常为0,相异状态为1。那么[0,0,0,0]即表示仲裁者10与主中心20之间的通信状态为正常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为正常以及主中心20和备中心30之间的数据差异状态为相同状态。
因此,第二预设状态包括仲裁者10与主中心20之间的通信状态为正常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为正常以及主中心20和备中心30之间的数据差异状态为相同状态。也就是[0,0,0,0]。或者,第二预设状态包括仲裁者10与主中心20之间的通信状态为断开、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为正常以及主中心20和备中心30之间的数据差异状态为相同状态。也就是[1,0,0,0]。
下面,参照各种情况的示意图,对本实施例的方法进行说明:
参照图4所示,当数据库系统的主中心20本身出现故障,数据库系统由仲裁者10与主中心20之间的通信状态为正常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为正常以及主中心20和备中心30之间的数据差异状态为相同状态跳变为仲裁者10与主中心20之间的通信状态为异常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为异常以及主中心20和备中心30之间的数据差异状态为相异状态。
也就是说,参考状态集合为[0,0,0,0]符合第二预设状态,采集到的故障合集为[1,0,1,1]符合第一预设状态。从而,将备中心30提升为新的主中心并停止原来的主中心20的事务处理(因为原来的主中心20以出现问题无法使用,可以看做是停止事务处理工作),符合处理要求。
参照图5所示,当数据库系统的主中心20本身没有问题,而是主中心20和仲裁者10以及备中心30的通信出现故障。数据库系统由仲裁者10与主中心20之间的通信状态为正常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为正常以及主中心20和备中心30之间的数据差异状态为相同状态跳变为仲裁者10与主中心20之间的通信状态为异常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为异常以及主中心20和备中心30之间的数据差异状态为相异状态。
也就是说,参考状态集合为[0,0,0,0]符合第二预设状态,采集到的故障合集为[1,0,1,1]符合第一预设状态。从而,将备中心30提升为新的主中心并停止原来的主中心20的事务处理,符合处理要求。
参照图6所示,当数据库系统的主中心20本身没有问题,主中心20和仲裁者10的通信先出现故障,然后主中心20和备中心30的通信再出现故障。数据库系统由仲裁者10与主中心20之间的通信状态为异常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为正常以及主中心20和备中心30之间的数据差异状态为相同状态跳变为仲裁者10与主中心20之间的通信状态为异常、仲裁者10与备中心30之间的通信状态为正常、主中心20与备中心30之间的通信状态为异常以及主中心20和备中心30之间的数据差异状态为相异状态。
也就是说,参考状态集合为[1,0,0,0]符合第二预设状态,采集到的故障合集为[1,0,1,1]符合第一预设状态。从而,将备中心30提升为新的主中心并停止原来的主中心20的事务处理,符合处理要求。
参照图7所示,当数据库系统的仲裁者10和备中心30的通信先出现故障,主中心20和仲裁者10的通信再出现故障,主中心20和备中心30的通信再出现故障。数据库系统由仲裁者10与主中心20之间的通信状态为正常、仲裁者10与备中心30之间的通信状态为异常、主中心20与备中心30之间的通信状态为正常以及主中心20和备中心30之间的数据差异状态为相同状态跳变为仲裁者10与主中心20之间的通信状态为异常、仲裁者10与备中心30之间的通信状态为异常、主中心20与备中心30之间的通信状态为异常以及主中心20和备中心30之间的数据差异状态为相异状态。
也就是说,参考状态集合为[0,1,0,0]不符合第二预设状态,采集到的故障合集为[1,1,1,1]不符合第一预设状态。从而,不执行将备中心30提升为新的主中心以及停止原来的主中心20的事务处理的操作,也就是维持当前模式,继续以主中心20进行事务处理。
参照图1所示,在一个实施例中,根据参考状态集合调整数据库系统的运行模式的步骤包括:判断参考状态集合是否与第三预设状态相符,第三预设状态至少包括仲裁者10与备中心30之间的通信状态为断开;若参考状态集合与第三预设状态相符,保持主中心20的事务处理工作。
也就是说,只要采集到的状态集合出现仲裁者10与主中心20之间的通信状态为断开以及主中心20与备中心30之间的通信状态为断开,就获取参考状态集合。如果参考状态集合中包括仲裁者10与备中心30之间的通信状态为断开,则保持主中心20的事务处理,即维持当前的运行模式。
如果参考状态集合中不包括仲裁者10与备中心30之间的通信状态为断开,则提升备中心30为新的主中心并停止原来的主中心20的事务处理。即若参考状态集合与第三预设状态不相符,提升备中心30为新的主中心并停止原来的主中心20的事务处理。
本实施例还提供了一种机器可读存储介质和计算机设备。图8是根据本发明一个实施例的机器可读存储介质100的示意图。图9是根据本发明一个实施例的计算机设备200的示意图。
机器可读存储介质100其上存储有机器可执行程序110,机器可执行程序110被处理器执行时实现上述任一实施例的数据库系统的运行方法。
计算机设备200可以包括存储器210、处理器220及存储在存储器210上并在处理器220上运行的机器可执行程序110,并且处理器220执行机器可执行程序110时实现上述任一实施例的数据库系统的运行方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本实施例的描述而言,机器可读存储介质100可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,机器可读存储介质100甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
计算机设备200可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备200可以是云计算节点。计算机设备200可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备200可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算机设备200可以包括适于执行存储的指令的处理器220、在操作期间为所述指令的操作提供临时存储空间的存储器210。处理器220可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器210可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
处理器220可以通过系统互连(例如PCI、PCI-Express等)连接到适于将计算机设备200连接到一个或多个I/O设备(输入/输出设备)的I/O接口(输入/输出接口)。I/O设备可以包括例如键盘和指示设备,其中指示设备可以包括触摸板或触摸屏等等。I/O设备可以是计算机设备200的内置组件,或者可以是外部连接到计算设备的设备。
处理器220也可以通过系统互连链接到适于将计算机设备200连接到显示设备的显示接口。显示设备可以包括作为计算机设备200的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备200的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,NIC)可以适于通过系统互连将计算机设备200连接到网络。在一些实施例中,NIC可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(WAN))、局域网(LAN)或因特网等等。远程设备可以通过网络连接到计算设备。
本实施例提供的流程图并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

Claims (10)

1.一种数据库系统的运行方法,所述数据库系统包括仲裁者、主中心和备中心,所述数据库系统的运行方法包括:
按照预设周期采集所述数据库系统的状态集合,所述状态集合包括采集时刻的所述仲裁者与所述主中心的通信状态、所述仲裁者与所述备中心之间的通信状态以及所述主中心与所述备中心之间的通信状态;
判断所述状态集合是否与第一预设状态相符,所述第一预设状态至少包括所述仲裁者与所述主中心之间的通信状态为断开以及所述主中心与所述备中心之间的通信状态为断开;
若所述状态集合与所述第一预设状态相符,获取上一采集时刻采集的状态集合,记为参考状态集合;
根据所述参考状态集合调整所述数据库系统的运行模式。
2.根据权利要求1所述的数据库系统的运行方法,其中,所述第一预设状态包括所述仲裁者与所述主中心之间的通信状态为断开、所述仲裁者与所述备中心之间的通信状态为正常以及所述主中心与所述备中心之间的通信状态为断开。
3.根据权利要求2所述的数据库系统的运行方法,其中,所述根据所述参考状态集合调整所述数据库系统的运行模式的步骤包括:
判断所述参考状态集合是否与第二预设状态相符;
若所述参考状态集合与所述第二预设状态相符,将所述备中心提升为主中心;
停止原来的主中心的事务处理工作。
4.根据权利要求3所述的数据库系统的运行方法,其中,所述第二预设状态包括所述仲裁者与所述主中心之间的通信状态为正常、所述仲裁者与所述备中心之间的通信状态为正常以及所述主中心与所述备中心之间的通信状态为正常。
5.根据权利要求3所述的数据库系统的运行方法,其中,所述第二预设状态包括所述仲裁者与所述主中心之间的通信状态为断开、所述仲裁者与所述备中心之间的通信状态为正常以及所述主中心与所述备中心之间的通信状态为正常。
6.根据权利要求2所述的数据库系统的运行方法,其中,所述判断所述状态集合是否与第一预设状态相符的步骤之后包括:
若所述状态集合与所述第一预设状态不相符,保持当前数据库系统当前的运行模式。
7.根据权利要求3所述的数据库系统的运行方法,其中,所述状态集合还包括所述主中心和所述备中心之间的数据差异状态,所述数据差异状态包括相同状态和相异状态,相同状态表示所述主中心和所述备中心的数据相同,相异状态表示所述主中心和所述备中心的数据不同;
所述第二预设状态至少包括所述主中心和所述备中心之间的数据差异状态为相同状态。
8.根据权利要求1所述的数据库系统的运行方法,其中,所述根据所述参考状态集合调整所述数据库系统的运行模式的步骤包括:
判断所述参考状态集合是否与第三预设状态相符,所述第三预设状态至少包括所述仲裁者与所述备中心之间的通信状态为断开;
若所述参考状态集合与所述第三预设状态相符,保持所述主中心的事务处理工作。
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的数据库系统的运行方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据库系统的运行方法。
CN202310139338.4A 2023-02-20 2023-02-20 数据库系统的运行方法、存储介质及设备 Pending CN116089149A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310139338.4A CN116089149A (zh) 2023-02-20 2023-02-20 数据库系统的运行方法、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310139338.4A CN116089149A (zh) 2023-02-20 2023-02-20 数据库系统的运行方法、存储介质及设备

Publications (1)

Publication Number Publication Date
CN116089149A true CN116089149A (zh) 2023-05-09

Family

ID=86211944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310139338.4A Pending CN116089149A (zh) 2023-02-20 2023-02-20 数据库系统的运行方法、存储介质及设备

Country Status (1)

Country Link
CN (1) CN116089149A (zh)

Similar Documents

Publication Publication Date Title
CN202798798U (zh) 基于云计算技术的高可用系统
US20180077230A1 (en) Method and apparatus for switching between servers in server cluster
CN107480014B (zh) 一种高可用设备切换方法及装置
CN109286529B (zh) 一种恢复RabbitMQ网络分区的方法及系统
WO2015169199A1 (zh) 分布式环境下虚拟机异常恢复方法
CN102546135B (zh) 主备服务器切换系统及方法
CN102882704B (zh) 一种issu的软重启升级过程中的链路保护方法和设备
CN107508694B (zh) 一种集群内的节点管理方法及节点设备
CN106960060B (zh) 一种数据库集群的管理方法及装置
US20240126356A1 (en) Power redundancy control system and method for gpu server, and medium
CN111585835B (zh) 一种带外管理系统的控制方法、装置和存储介质
CN114840495A (zh) 一种数据库集群防脑裂的方法、存储介质与设备
CN103309764A (zh) 虚拟机的容错机制的保护方法和装置
CN109271270A (zh) 存储系统中底层硬件的故障排除方法、系统及相关装置
CN106411643B (zh) Bmc检测方法以及装置
CN117076196A (zh) 一种数据库容灾的管控方法和装置
CN104158843A (zh) 分布式文件存储系统的存储单元失效检测方法及装置
CN111104266A (zh) 访问资源的分配方法、装置、存储介质和电子设备
CN116089149A (zh) 数据库系统的运行方法、存储介质及设备
CN111338456B (zh) 一种bbu掉电保护实现方法及系统
KR20140140719A (ko) 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법
CN102968320B (zh) 基于云备份的工控设备自动恢复系统及其运行方法
CN107480004B (zh) 故障恢复方法、装置和计算机设备
CN107094167B (zh) 一种数据转存方法及装置
US20130198377A1 (en) Control method, control system, information processing apparatus, and computer-readable non-transitory medium

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