CN116126881A - 数据库集群的元信息存储方法、存储介质与计算机设备 - Google Patents
数据库集群的元信息存储方法、存储介质与计算机设备 Download PDFInfo
- Publication number
- CN116126881A CN116126881A CN202310200591.6A CN202310200591A CN116126881A CN 116126881 A CN116126881 A CN 116126881A CN 202310200591 A CN202310200591 A CN 202310200591A CN 116126881 A CN116126881 A CN 116126881A
- Authority
- CN
- China
- Prior art keywords
- daemon
- meta information
- cluster
- main
- daemons
- 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 190
- 230000008569 process Effects 0.000 claims abstract description 129
- 238000004891 communication Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000003672 processing method Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function 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
- 238000010187 selection method Methods 0.000 description 1
- 238000012546 transfer Methods 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种数据库集群的元信息存储方法、存储介质与计算机设备,其中上述方法包括:获取所述数据库集群中各数据库节点的守护进程,所述守护进程至少用于存储集群元信息,并且各所述守护进程之间通信连接形成进程组;根据预设规则,从所述进程组中选出主守护进程;运行所述主守护进程,以生成集群元信息并对其他所述守护进程的集群元信息进行更新。本发明的技术方案,能够解决现有技术中由于数据库节点的数据库故障而引起的元信息无法更新的问题,可以提高数据库集群的可靠性。
Description
技术领域
本发明涉及数据库技术,特别是涉及一种数据库集群的元信息存储方法、存储介质与计算机设备。
背景技术
在使用数据库集群时,需要存储数据库集群的元信息,并且在数据库集群中的数据库节点故障时,需要根据存储的元信息进行主备切换,以及在切换完成后还需要更新数据库集群的元信息。数据库集群的元信息一般使用数据库本身进行存储,即数据库集群中的每个数据库节点的数据库中都会有一张数据库表用来存放元信息。
当有数据库节点的数据库故障时,该故障的数据库节点中存储的元信息将无法更新,而且当故障的数据库节点经过主备切换并重新进入工作状态时,其存储的元信息将与其他数据库节点的元信息不一致,导致数据库集群的状态出现异常。
发明内容
本发明提供了一种数据库集群的元信息存储方法、存储介质与计算机,用于解决现有技术中由于数据库节点的数据库故障而引起的元信息无法更新的问题,以提高数据库集群的可靠性。
为至少解决上述技术问题,本发明一方面提供了一种数据库集群的元信息存储方法,包括:
获取所述数据库集群中各数据库节点的守护进程,所述守护进程至少用于存储集群元信息,并且各所述守护进程之间通信连接形成进程组;
根据预设规则,从所述进程组中选出主守护进程;
运行所述主守护进程,以生成集群元信息并对其他所述守护进程的集群元信息进行更新。
根据本发明的一个实施例,所述元信息存储方法还包括:
响应于在前的所述进程组中新增所述守护进程形成新进程组,判断在前的所述进程组中是否存在所述主守护进程;
若是,则所述主守护进程对新增的所述守护进程的集群元信息进行更新;或者
若否,则根据所述预设规则,从所述新进程组中选择出所述主守护进程,并由所述主守护进程对所述新进程组中的其他所述守护进程的集群元信息进行更新。
根据本发明的一个实施例,所述元信息存储方法还包括:
响应于在前的所述进程组中退出所述守护进程形成新进程组,判断退出的所述守护进程是否为或是否其中一个为所述主守护进程,
若是,则根据所述预设规则,从所述新进程组中选择出新的所述主守护进程;或者
若否,响应于在前的所述进程组中所述主守护进程在所述新进程组中不满足所述预设规则,从所述新进程组中选择出新的所述主守护进程。
根据本发明的一个实施例,所述的根据预设规则,从所述进程组中选出主守护进程,包括:
响应于判断其中一个守护进程的数据为最新数据的所述守护进程的数量最多,将该守护进程作为所述主守护进程。
根据本发明的一个实施例,所述元信息存储方法还包括:
响应于多个守护进程符合所述预设规则,根据多个所述守护进程的标识确定所述主守护进程。
根据本发明的一个实施例,所述元信息存储方法还包括:
根据各守护进程的心跳报文,判断是否有守护进程加入或退出所述进程组。
根据本发明的一个实施例,所述元信息存储方法还包括:
响应于有守护进程接收到外部进程的访问请求,判断该守护进程是否为所述主守护进程;
如果是,则所述主守护进程对所述访问请求进行处理,以及生成相应的集群元信息并发送给所述外部进程;
如果否,则将所述访问请求转发给所述主守护进程;
所述主守护进程对所述访问请求进行处理,以及生成相应的集群元信息并通过该守护进程发送给所述外部进程。
根据本发明的一个实施例,所述元信息存储方法还包括:
响应于有守护进程接收到外部进程的访问请求,判断是否存在所述主守护进程;
如果否,则不响应所述访问请求。
根据本发明的另一方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现上述的任意一个实施例所述的元信息存储方法。
根据本发明的又一方面,还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现上述的任意一个实施例所述的元信息存储方法。
本发明所提供的技术方案,数据库集群中的各数据库节点分别设置有相应的守护进程,各守护进程之间相互通信连接,并且根据预设规则从各守护进程中选取主守护进程,以及采用该主守护进程集群元信息的生成和集群元信息的更新。由于本发明所提供的技术方案中各数据库节点设置有相应的守护进程,并通过守护进程进行集群元信息的存储,以将集群元信息的存储与数据库节点的数据服务解耦,使集群元信息的存储不依赖于数据库节点。由于即使有数据库节点的数据库出现故障时,对应的守护进程依然可以更新相应的集群元信息,因此当数据库节点重新进入工作状态,该数据库节点可以获取最新的集群元信息,从而提高数据库集群的可靠性。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本发明一个实施例的数据库集群的元信息存储方法的流程图;
图2是根据本发明一个实施例的有守护进程加入进程组时的处理方法的流程图;
图3是根据本发明一个实施例的当有守护进程退出进程组时的处理方法的流程图;
图4是根据本发明一个实施例的根据预设规则选取主守护进程的流程图;
图5是根据本发明一个实施例的从多个满足上述预设规则的守护进程中选择出主守护进程的流程图;
图6是根据本发明一个实施例的采用主守护进程进行对外服务的流程图;
图7是根据本发明一个实施例的机器可读存储介质的示意图;以及
图8是根据本发明一个实施例的计算机设备的示意图。
具体实施方式
图1所示出的是本发明所提供的一种数据库集群的元信息存储方法,其中数据库集群具有多个分布式设置的数据库节点,各数据库节点设置有相应的守护进程,各守护进程用于存储集群元信息,并且各守护进程之间相互通信连接。各守护进程运行在相应的设备上,并且本实施例中将运行守护进程的设备可以称为元信息存储节点,该元信息存储节点可以与数据库节点之间一一对应,也可以少于或者多于数据库节点。
本发明所提供的数据库集群的元信息存储方法用于将集群元信息的存储与数据库节点的数据库解耦,使集群元信息的存储不依赖于数据库节点,即使有数据库节点出现,也不会影响其对应守护进程的集群元信息更新,从而提高数据库集群的可靠性。下面结合图1所示出的流程,对本申请数据库集群的元信息存储方法做详细的介绍。
如图1所示,本发明的数据库集群的元信息存储方法包括如下步骤:
步骤S1:获取数据库集群中各数据库节点的守护进程,各守护进程之间通信连接,以形成进程组。
在本实施例中,各数据库节点均运行有一个名称为kbha进程的守护进程,该守护进程可以存储数据库集群的集群元信息,也可以提供对外访问的接口和更新集群元信息的接口,数据库进程或者数据库管理进程可以通过各守护进程的ip地址和端口列表访问守护进程。
数据库集群有多个数据库节点,各数据库节点均运行相应的守护进程,因此数据库集群中具有多个守护进程,并且多个守护进程之间通信连接,以形成数据库集群的进程组。
步骤S2:根据预设规则,从进程组中选取主守护进程。
由于数据库集群中的数据库节点采用去中心化的分布式设置,并且进程组中各守护进程也采用了去中心化的分布式设置,因此在本步骤S2中,各守护进程执行相同的选取方法,根据预设规则从进程组中选取主守护进程。
以其中一个守护进程选取上述主守护进程为例进行说明,该守护进程首先获取进程组中其他守护进程的状态信息,在加上其自身的状态信息,可以得到进程组中所有守护进程的状态信息;然后根据各守护进程的状态信息,判断出符合上述预设规则的守护进程,并将该守护进程作为主守护进程。
步骤S3:运行主守护进程,以生成集群元信息,并对其他守护进程的集群元信息进行更新。
例如,当外部进程在对数据库集群进行访问时,主守护进程可以根据访问数据对数据库集群中的数据进行相应的处理并生成相应的集群元信息,然后将该集群元信息发送给其他的守护进程;其他守护进程在接收到主守护进程所发送的集群元信息后,将该集群元信息进行存储,以实现集群元信息的更新。
综上所述,在本实施例中数据库集群的数据库节点分别设置有相应的守护进程,采用各守护进程来进行集群元信息的存储,从而将集群元信息的存储与数据库集群的数据存储服务解耦,进而解放集群元信息存储的物理逻辑。例如,守护进程的数量可以与数据库节点的数量相同,也可以少于或者多于数据库节点的数量,即可以为每个数据库节点设置一个相应守护进程,也可以一个数据库节点可以设置多个对应的守护进程,或者多个数据库节点设置一个对应的守护进程。
由于本实施例的技术方案可以将数据库集群的集群元信息的存储与数据库存储服务解耦,因此,当数据库集群中有数据库节点由于故障而退出时,其对应的守护进程依然可以进行集群元信息的更新;当数据集群的故障排除并重新进入工作状态时,可以从其对应的守护进程获取最新的集群元信息,从而提高数据库集群的可靠性。
另外,本实施例还根据预设规则从各守护进程中选取主守护进程,并通过该主守护进程生成集群元信息,以及对其他非主守护进程的集群元信息进行更新,因此各守护进程在更新集群元信息时,不需要再访问各数据库节点,从而减少数据库集群内部的数据访问量,提高数据库集群的使用效率。
上文中对本申请的数据库集群的元信息存储方法的具体实施方式做了详细的介绍,下面结合具体实施例,对该方法在其他应用场景中的实现方法做详细的阐述。可以理解的是,下文中所介绍的实现方法是示例性的而非限制性的。
在一个实施例中,当有新增的守护进程加入上述进程组时,本申请采用如图2所示出的方法,对该守护进程的集群元信息进行同步。
如图2所示,本申请对新加入通信连接的守护进程的集群元信息进行同步的方法包括如下步骤:
步骤S101:当在前的进程组中新增守护进程形成新进程组时,判断在前的进程组中是否存在主守护进程。
本实施例中的在前的进程组,是指在增加守护进程之前的进程组,在上述在前的进程组中加入新增的守护进程后,所形成的进程组为新进程组。并且当在前的进程组中新增守护进程时,判断在前的进程组中是否有主守护进程。例如,当选择出主守护进程后,其他守护进程可以将主守护进程的ip地址等信息存储在指定位置,如果在前的进程组中的守护进程不能够从指定位置读取到ip地址,则可以判断为在前的进程组中不存在主守护进程。
步骤S102:若是,则主守护进程将其自身所存储的集群元信息发送给新增入的守护进程;
如果否,则根据上述预设规则,从新进程组选择出主守护进程,并且该主守护进程将其自身所存储的集群元信息发送给新进程组中其他所有的守护进程,其中包括新增的守护进程;
步骤S103:新增的守护进程接收到主守护进程所发送的集群元信息后,将该集群元信息进行存储,以实现对新增的守护进程的集群元信息进行更新。
由于在本实施例中,当新的守护进程加入进程组时,根据是否存在主守护进程执行不同的处理方法,使新加入的守护进程可以快速获取最新的集群元信息。从而使故障的数据库节点挂死或者重新启动时,数据库管理进程可以立马更新集群元信息,使各守护进程的集群元信息保持一致,提高同步各守护进程的集群元信息的可靠性。
上述实施例中对有守护进程加入简称组时的处理方法做了详细的介绍,下面结合具体实施例,对有守护进程退出进程组时的处理方法做相应的介绍。
在一个实施例中,当有守护进程退出进程组时,首先判断该守护进程是否为主守护进程,并且针对不同的判断结果执行不同的方法,以提高各守护进程存储集群元信息的可靠性。
如图3所示,当有守护进程退出上述进程组时,本申请的处理方法还包括如下步骤:
步骤S111:当有守护进程退出进程组时,判断该退出的守护进程是否为主守护进程,或者退出的守护进程的其中一个是否为主守护进程。
在本实施例中,当在前的进程组有守护进程退出后,可以形成新的进程组。退出的守护进程数量可能是一个也可能是多个,如果退出的守护进程的数量是一个,则判断该守护进程是否为主守护进程,如果退出的守护进程的数量是多个,则判断其中是否包含上述主守护进程。
步骤S112:若是,则根据上述预设规则从新进程组中选择出主守护进程。
由于主守护进程退出后,将无法生成新的集群元信息,也无法对其他的守护进程的集群元信息进行更新。因此,为了提高数据库集群的可靠性,本实施例中按照上述预设规则,从新进程组中重新选择出主守护进程,以便于对各守护进程的集群元信息进行更新。
步骤S113:若否,则判断主守护进程是否还满足上述预设规则;
如果主守护进程满足上述预设规则,则不进行任何处理;
如果主守护进程不满足上述预设规则,则根据上述预设规则,从新进程组中重新选择出主守护进程。
例如,在本实施例中上述预设规则可以包括多数派原则,即在选择主守护进程时,各守护进程均根据设定原则从进程组中选择主守护进程。由于各守护进程的选择结果可能不同,可能会产生多个选择结果,并且每一个选择结果对应一个主守护进程,因此对各选择结果所对应的守护进程的数量进行统计,以得到各选择结果所对应的守护进程数量,例如,有三个守护进程的选择结果相同,那么该选择结果所对应的守护进程数量为三。然后得到守护进程数量最多的选择结果,并将该选择结果对应的主守护进程作为主守护进程。
如果有守护进程退出了进程组,则可能会造成已选择出的主守护进程不再符合上述预设规则。例如,在选择主守护进程时,设认为当前主守护进程符合上述设定原则的守护进程的数量为N,如果退出的守护进程是认为当前主守护进程符合上述设定原则的守护进程,则当该守护进程退出后,认为当前主守护进程符合上述设定原则的守护进程的数量为N-1,如此便可能会造成当前的主守护进程不符合上述多数派原则。
因此,当退出的守护进程不是主守护进程时,首先判断主守护进程是否还满足上述预设规则,如果不满足,则根据上述预设规则从新进程组中重新选择出主守护进程,以提高数据库集群的可靠性。
上文中对有守护进程加入通信连接或者有守护进程退出通信连接时的处理方法做了详细的介绍,下面结合具体应用场景,对选择主守护进程时所采用的预设规则做详细的介绍。
在一个实施例中,上述预设规则包括多数派原则和数据最新原则,上述步骤S2中根据预设规则从进程组中选取主守护进程的流程如图4所示,包括如下步骤:
步骤S201:各守护进程获取其他守护进程的数据信息,并根据各守护进程的数据信息,从所有的守护进程中选择出数据最新的守护进程,然后将判断结果发送给其他守护进程。
上述各守护进程的数据信息,包括对应守护进程的数据更新时间,并且数据更新时间越晚,对应守护进程的数据最新。各守护进程将其自身的数据信息共享给其他守护进程,从而使各守护进程均能够获取其它守护进程的数据信息。
各守护进程获取到其他守护进程的数据信息后,可以分别根据各守护进程的数据信息,判断出数据最新的守护进程,然后将判断结果发送给其它守护进程,从而使各守护进程都得到所有守护进程的判断结果。
步骤S202:各守护进程均对各种判断结果的数量进行统计,得到其中数量最多的判断结果所对应的守护进程,并将该守护进程作为主守护进程。
本实施例的设置方式,将多数派原则和数据最新原则作为预设规则,从各守护进程中选择出主守护进程,以提高获取主守护进程的可靠性。
在一个实施例中,上述步骤S2中在选择主守护进程时,如果有多个守护进程满足上述预设规则,则通过图5所示出的方法,从满足预设规则的多个守护进程中选择出主数据库节点。
如图5所示,从多个满足上述预设规则的守护进程中选择出主守护进程的方法包括如下步骤:
步骤S211:获取满足上述预设规则的多个守护进程的标识。
例如,每个守护进程均设置有相应的id码,在本步骤S211中,可以将各守护进程的id码作为对应守护进程的标识。在满足上述预设规则的守护进程的数量有多个时,或者这多个满足上述预设规则节点的id码。
步骤S212:根据各守护进程的标识,从多个满足上述预设规则的守护进程中确定出主守护进程。
例如,可以从满足上述预设规则的守护进程中,选择出id码最小的守护进程作为上述主守护进程,从而从多个满足上述预设规则的守护进程中选择出主守护进程。
本实施例的设置方式,可以在有多个守护进程满足上述预设规则时,从多个守护进程中确定出主守护进程,从而避免有多个守护进程满足上述预设规则时无法确定出唯一的主守护进程,达到提高获取主守护进程的可靠性的目的。
在上述实施例中,当有多个守护进程满足上述预设规则时,根据各守护进程的标识确定出主守护进程。在其他实施例中,可以采用其他的方法,从多个满足上述预设规则的守护进程中选择出主守护进程,例如,可以从满足上述预设规则的多个守护进程中随机选择出一个数据库节点作为守护进程。
在一个实施例中,本申请的元信息存储方法还包括:
根据各守护进程的心跳报文,判断是否有守护进程加入或者退出与其他守护进程的通信连接。
在本实施例中,数据库集群中的各守护进程之间相互通信连接,并且各守护进程向其他守护进程发送心跳报文,当有守护进程停止向其他守护进程发送心跳报文时,可以判断为该守护进程不再与其他守护进程通信连接,即该守护进程退出进程组。反之,当个守护进程接收到一个新的守护进程的心跳报文时,可以判断为有新的守护进程加入进程组。
通过本实施例的设置方式,可以根据各守护进程的心跳报文,准确地判断是否有守护进程退出或者加入进程组,从而提高获取数据库集群中守护进程状态的准确性。
在一个实施例中,本申请的数据库集群的元信息存储方法中采用主守护进程进行对外服务,具体的流程如图6所述,包括如下步骤:
步骤S301:当有守护进程接收到外部进程的访问请求时,判断该守护进程是否为主守护进程。
在本实施例中,可以在主守护进程的运行设备上的设定空间内设置相应的标记,当守护进程接收到外部进程的访问数据时,首先对其运行设备上的设定空间内的数据进行读取,如果能够读取到相应的标记,则该守护进程为主守护进程,否则该守护进程不是主守护进程。
步骤S302:如果是,则主守护进程响应外部进程的访问请求,并根据该访问请求对数据库集群的各数据库节点进行相应的处理,以及生成相应的集群元信息并发送给访问进程;
步骤S303:如果否,则接收到访问请求的守护进程将访问请求转发给主守护进程。
在本实施例中,各守护进程均存储有主守护进程的ip地址和端口,当接收到访问请求时,可以通过主守护进程的ip地址和端口与主守护进程进行通信,以将访问请求转发给主守护进程。
步骤S304:主守护进程根据访问请求对数据库集群的各数据库节点进行相应的处理,以及生成相应的集群元信息,并通过接收到访问请求的守护进程发送给访问进程。
本实施例中的采用主守护进程进行对外服务,是指在接收到访问进程的访问请求时,由主守护进程响应该访问请求,然后根据该访问请求对数据库集群中对应数据库节点的数据进行增删改查等处理,以及在对数据库集群中的数据进行处理后生成相应的集群元信息,并对其他守护进程的集群元信息进行更新。
在执行上述步骤S304时,主守护进程通过接收访问请求的守护进程发送访问进程,可以是主守护进程将生成的集群元信息发送给接收到访问请求的守护进程,然后再由接收到访问请求的守护进程将集群元信息发送给访问进程;也可以是主守护进程对其他守护进程的集群元信息进行更新,并且在接收到访问请求的守护进程在进行集群元信息更新后,将集群元信息发送给访问进程。
在另一个实施例中,本申请的数据库集群的元信息存储方法还包括:
当有守护进程接收到外部进程的访问请求时,首先判断数据库集群中是否存在主守护进程,如果不存在,则不响应该访问请求。
本实施例的设置方式,当数据库集群中不存在主守护进程时,便不能生成新的集群元信息,如果响应外部进程的访问请求,则会导致集群元信息与各数据库节点中数据的实际信息不一致。因此,为了提高数据库集群的可靠性,当不存在主守护进程时,不响应外部进程的访问请求。
本实施例还提供了一种机器可读存储介质和计算机设备。图7是根据本发明一个实施例的机器可读存储介质40的示意图,图8是根据本发明一个实施例的计算机设备50的示意图。
机器可读存储介质40其上存储有机器可执行程序41,机器可执行程序41被处理器执行时实现上述任一实施例的数据库集群的元信息存储方法。
计算机设备50可以包括存储器520、处理器510及存储在存储器520上并在处理器510上运行的机器可执行程序41,并且处理器510执行机器可执行程序41时实现上述任一实施例的数据库集群的元信息存储方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本实施例的描述而言,机器可读存储介质40可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。机器可读存储介质40的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,机器可读存储介质40甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
计算机设备50可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备50可以是云计算节点。计算机设备50可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备50可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算机设备50可以包括适于执行存储的指令的处理器510、在操作期间为所述指令的操作提供临时存储空间的存储器520。处理器510可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器520可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
处理器510可以通过系统互连(例如PCI、PCI-Express等)连接到适于将计算机设备50连接到一个或多个I/O设备(输入/输出设备)的I/O接口(输入/输出接口)。I/O设备可以包括例如键盘和指示设备,其中指示设备可以包括触摸板或触摸屏等等。I/O设备可以是计算机设备50的内置组件,或者可以是外部连接到计算设备的设备。
处理器510也可以通过系统互连链接到适于将计算机设备50连接到显示设备的显示接口。显示设备可以包括作为计算机设备50的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备50的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,NIC)可以适于通过系统互连将计算机设备50连接到网络。在一些实施例中,NIC可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(WAN))、局域网(LAN)或因特网等等。远程设备可以通过网络连接到计算设备。
本实施例提供的流程图,并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (10)
1.一种数据库集群的元信息存储方法,包括:
获取所述数据库集群中各数据库节点的守护进程,所述守护进程至少用于存储集群元信息,并且各所述守护进程之间通信连接形成进程组;
根据预设规则,从所述进程组中选出主守护进程;
运行所述主守护进程,以生成集群元信息并对其他所述守护进程的集群元信息进行更新。
2.根据权利要求1所述的元信息存储方法,其中,
所述元信息存储方法还包括:
响应于在前的所述进程组中新增所述守护进程形成新进程组,判断在前的所述进程组中是否存在所述主守护进程;
若是,则所述主守护进程对新增的所述守护进程的集群元信息进行更新;或者
若否,则根据所述预设规则,从所述新进程组中选择出所述主守护进程,并由所述主守护进程对所述新进程组中的其他所述守护进程的集群元信息进行更新。
3.根据权利要求1所述的元信息存储方法,其中,
所述元信息存储方法还包括:
响应于在前的所述进程组中有所述守护进程退出以形成新进程组,判断退出的所述守护进程是否为或是否其中一个为所述主守护进程,
若是,则根据所述预设规则,从所述新进程组中选择出新的主守护进程;或者
若否,响应于在前的所述进程组中所述主守护进程在所述新进程组中不满足所述预设规则,从所述新进程组中选择出新的主守护进程。
4.根据权利要求1所述的元信息存储方法,其中,
所述的根据预设规则,从所述进程组中选出主守护进程,包括:
响应于判断其中一个守护进程的数据为最新数据的所述守护进程的数量最多,将该守护进程作为所述主守护进程。
5.根据权利要求1或4所述的元信息存储方法,其中,
所述元信息存储方法还包括:
响应于多个守护进程符合所述预设规则,根据多个所述守护进程的标识确定所述主守护进程。
6.根据权利要求1-3任意一项所述的元信息存储方法,其中,
所述元信息存储方法还包括:
根据各守护进程的心跳报文,判断是否有守护进程加入或退出所述进程组。
7.根据权利要求1所述的元信息存储方法,其中,
所述元信息存储方法还包括:
响应于有守护进程接收到外部进程的访问请求,判断该守护进程是否为所述主守护进程;
如果是,则所述主守护进程对所述访问请求进行处理,以及生成相应的集群元信息并发送给所述外部进程;
如果否,则将所述访问请求转发给所述主守护进程;
所述主守护进程对所述访问请求进行处理,以及生成相应的集群元信息并通过该守护进程发送给所述外部进程。
8.根据权利要求1或7所述的元信息存储方法,其中,
所述元信息存储方法还包括:
响应于有守护进程接收到外部进程的访问请求,判断是否存在所述主守护进程;
如果否,则不响应所述访问请求。
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的元信息存储方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的元信息存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310200591.6A CN116126881A (zh) | 2023-02-28 | 2023-02-28 | 数据库集群的元信息存储方法、存储介质与计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310200591.6A CN116126881A (zh) | 2023-02-28 | 2023-02-28 | 数据库集群的元信息存储方法、存储介质与计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126881A true CN116126881A (zh) | 2023-05-16 |
Family
ID=86306377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310200591.6A Pending CN116126881A (zh) | 2023-02-28 | 2023-02-28 | 数据库集群的元信息存储方法、存储介质与计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126881A (zh) |
-
2023
- 2023-02-28 CN CN202310200591.6A patent/CN116126881A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535692B (zh) | 故障处理方法、装置、计算机设备、存储介质及存储系统 | |
CN107800565B (zh) | 巡检方法、装置、系统、计算机设备和存储介质 | |
CN111314422A (zh) | 基于kafka的消息处理方法、系统、存储介质及计算机设备 | |
WO2021129008A1 (zh) | 服务调用方法、装置、设备及介质 | |
CN112015595B (zh) | 主从数据库的切换方法、计算设备及存储介质 | |
CN111541762B (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
US10715628B2 (en) | Attribute operating method and device | |
CN112764956A (zh) | 数据库的异常处理系统、数据库的异常处理方法及装置 | |
CN112817883A (zh) | 接口平台的适配方法、设备、系统及计算机可读存储介质 | |
CN111984287A (zh) | 设备升级方法及系统 | |
CN106202084A (zh) | 数据存储方法和数据存储装置 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN116126881A (zh) | 数据库集群的元信息存储方法、存储介质与计算机设备 | |
CN113407403B (zh) | 一种云主机管理方法、装置、计算机设备及存储介质 | |
CN116204590A (zh) | 数据库集群的数据处理方法、可读存储介质与计算机设备 | |
US20190286599A1 (en) | Dual way communication method, system, and master device thereof | |
CN117493024B (zh) | 多进程异构程序的迁移方法、存储介质及电子设备 | |
CN113992516B (zh) | 物联网设备的固件更新方法、装置及物联网 | |
CN110825606B (zh) | 数据操作方法、装置和中台系统 | |
CN112860708B (zh) | 数据一致性修复方法、系统、装置及设备 | |
CN113872808B (zh) | 应用处理方法及装置 | |
CN113242323B (zh) | 为物理服务器自动安装系统的方法、存储介质及系统 | |
CN116708176A (zh) | 消息处理方法、装置、服务器及存储介质 | |
CN114490145A (zh) | 一种故障处理方法、装置及计算机可读存储介质 | |
CN115134838A (zh) | 基于5g的upf故障检测方法、装置、电子设备及存储介质 |
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 |
Country or region after: China Address after: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Applicant after: China Electronics Technology Group Jincang (Beijing) Technology Co.,Ltd. Address before: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Applicant before: BEIJING KINGBASE INFORMATION TECHNOLOGIES Inc. Country or region before: China |
|
CB02 | Change of applicant information |