CN117493082B - 一种防止数据脑裂的双机热备方法、系统、设备、介质 - Google Patents
一种防止数据脑裂的双机热备方法、系统、设备、介质 Download PDFInfo
- Publication number
- CN117493082B CN117493082B CN202311827347.9A CN202311827347A CN117493082B CN 117493082 B CN117493082 B CN 117493082B CN 202311827347 A CN202311827347 A CN 202311827347A CN 117493082 B CN117493082 B CN 117493082B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- information
- backup
- execution
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 210000004556 brain Anatomy 0.000 title claims abstract description 35
- 238000005336 cracking Methods 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 claims description 81
- 230000015654 memory Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 14
- 230000009977 dual effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Classifications
-
- 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
- Hardware Redundancy (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种防止数据脑裂的双机热备方法、系统、设备、介质,该方法通过获取第一数值信息、第二数值信息与节点选择信息,确定执行、备份节点,并在执行节点完成读写请求后,更新备份节点的数据,这一过程中,通过第一反馈信号与第二反馈信号分别对第一数值信息、第二数值信息进行更新,从而保证任一节点作为执行节点时,对于外部数据请求数据是完整的,并基于备份节点的通信状态,对备份节点进行更新,从而保证任一节点作为备份节点时,备份节点与执行节点的数据一致的,从而有效避免了数据脑裂的出现,保证在任何情况下均以最新且最完整的数据响应外部数据请求,提高了双机热备过程中数据的可靠性与相关业务的稳定性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种防止数据脑裂的双机热备方法、系统、设备、介质。
背景技术
双机热备是指使用两台设备,互相备份,共同执行同一服务。当一台设备出现故障时,由另一台设备承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。使用双机热备部署的软件系统或平台往往都是非常重要的平台,这类平台通常对服务的可靠性和数据的完整性有非常高的要求。双机热备系统中主备两个节点各种配置完全相同,它们所保存的平台数据也实时地同步,正常情况下系统有且仅有其中一个节点作为主节点对外提供服务,外部请求会直接通过系统提供的外部服务进行访问并进行处理。当主节点服务出现故障时,另外一个节点能够立马接管系统并启动服务响应外部的数据请求,从而保证业务的稳定性。
在相关技术中,当主节点与备份节点之间的网络出现问题时,两节点间的数据和信息可能无法及时同步。此时,系统可能会面临两种风险:第一是两端节点均无法获取对端的状态而断定对方节点可能故障,所以均认为自己应该承担响应外部数据请求的角色,这样两个节点均会启动服务对外提供服务,形成竞争关系,可能进一步加剧两端节点数据的不一致。第二是由于主节点无法实时地把最新数据及时同步到备节点,当主节点发生宕机或服务不可用时,若备节点转正并提供服务承担业务,此时系统的数据存在缺失现象,故无法准确地响应外部数据请求。这两种情况均会造成平台数据的脑裂现象,从而严重影响了平台的数据完整性和可靠性,可能造成重大损失。
发明内容
有鉴于此,本发明提供了一种防止数据脑裂的双机热备方法、系统、设备、介质,以解决双机热备场景中发生的数据脑裂的技术问题。
第一方面,本发明提供了一种防止数据脑裂的双机热备方法,应用于双机热备系统的前置器,前置器与第一节点、第二节点通过串口线通信,方法包括:响应于数据读写请求,获取第一节点的第一数值信息、第二节点的第二数值信息,其中,第一数值信息、第二数值信息分别记录第一节点、第二节点数据变化情况;基于第一数值信息与第二数值信息,确定节点选择信息;根据节点选择信息,确定执行节点与备份节点;基于执行节点的通信状态,发送数据读写请求;接收执行节点的第一反馈信号,并基于第一反馈信号更新执行节点的数值信息;响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新;响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于第二反馈信号更新备份节点的数值信息。
结合第一方面,在第一方面的可能的实现方式中,基于第一数值信息与第二数值信息,确定节点选择信息,包括:比较第一数值信息、第二数值信息;在第一数值信息与第二数值信息不同时,将数值更大的数值信息作为节点选择信息的值;在第一数值信息与第二数值信息相同时,维持节点选择信息的值不变。
结合第一方面,在第一方面的可能的实现方式中,根据节点选择信息,确定执行节点与备份节点,包括:将节点选择信息对应的节点作为执行节点,另一节点作为备份节点。
结合第一方面,在第一方面的可能的实现方式中,基于执行节点的通信状态,发送数据读写请求,包括:在执行节点的通信状态为正常通信时,获取第一执行节点的第一缓存队列;基于第一缓存队列,发送数据读写请求至第一执行节点。
结合第一方面,在第一方面的可能的实现方式中,基于第一缓存队列,发送数据读写请求至第一执行节点,包括:基于第一缓存队列存储的第一暂存数据更新第一执行节点;在第一执行节点完成更新之后,发送数据读写请求至第一执行节点。
结合第一方面,在第一方面的可能的实现方式中,基于第一缓存队列存储的第一暂存数据更新第一执行节点,包括:基于第一暂存数据,以第一暂存数据存入第一缓冲队列的时间,逐次对第一执行节点进行数据更新;响应于每次第一执行节点的数据更新,接收第一执行节点发送的第三反馈信号;基于第三反馈信号,更新与第一执行节点对应的数值信息。
结合第一方面,在第一方面的可能的实现方式中,基于执行节点的通信状态,发送数据读写请求,包括:在执行节点的通信状态为断开连接时,以备份节点的数据信息作为节点选择信息的值,将备份节点作为第二执行节点;获取第二执行节点的第二缓存队列;基于第二缓存队列,发送数据读写请求至第二执行节点。
结合第一方面,在第一方面的可能的实现方式中,基于第二缓存队列,发送数据读写请求至第二执行节点,包括:基于第二缓存队列存储的第二暂存数据更新第二执行节点;在第二执行节点完成更新之后,发送数据读写请求至第二执行节点。
结合第一方面,在第一方面的可能的实现方式中,基于第二缓存队列存储的暂存数据更新第二执行节点,包括:基于第二暂存数据,以第二暂存数据存入第二缓冲队列的时间,逐次对第二执行节点进行数据更新;响应于每次第二执行节点的数据更新,接收第二执行节点发送的第四反馈信号;基于第四反馈信号,更新与第二执行节点对应的数值信息。
结合第一方面,在第一方面的可能的实现方式中,基于备份节点的通信状态,对备份节点进行数据更新,包括:在备份节点的通信状态为断开连接时,响应于第一反馈信号,接收执行节点发送的第三暂存数据;将第三暂存数据存储至备份节点的第三缓存队列;通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新。
结合第一方面,在第一方面的可能的实现方式中,通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新,包括:响应于第三缓冲队列每增加一条第三暂存数据,触发周期同步任务;基于周期同步任务,通过预设频率,以第三暂存数据存入第三缓冲队列的时间,逐次对备份节点进行数据更新。
第二方面,本发明提供了一种防止数据脑裂的双机热备装置,应用于双机热备系统的前置器,前置器与第一节点、第二节点通过串口线通信,装置包括:获取模块,用于响应于数据读写请求,获取第一节点的第一数值信息、第二节点的第二数值信息,其中,第一数值信息、第二数值信息分别记录第一节点、第二节点数据变化情况;信息确定模块,用于基于第一数值信息与第二数值信息,确定节点选择信息;节点确定模块,用于根据节点选择信息,确定执行节点与备份节点;请求发送单元,用于基于执行节点的通信状态,发送数据读写;第一数值更新单元,用于接收执行节点的第一反馈信号,并基于第一反馈信号更新执行节点的数值信息;同步单元,用于响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新;第二数值更新单元,用于响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于第二反馈信号更新备份节点的数值信息。
第三方面,本发明提供了一种防止数据脑裂的双机热备系统,包括:前置器,第一节点和第二节点,前置器分别与第一节点、第二节点通过物理连线连接,其中,前置器,用于接收数据读写请求,并选择第一节点、第二节点分别作为执行节点或备份节点,以及接收并存储暂存数据在缓存队列中,以使备份节点通过缓存队列同步数据;第一节点与第二节点,用于作为执行节点时执行数据读写请求,并在处理数据读写请求之后,向备份节点同步暂存数据或在备份节点的通信状态为断开连接时,发送暂存数据至前置器;系统在执行防止数据脑裂的热备时,执行如下步骤:响应于数据读写请求,获取第一节点的第一数值信息、第二节点的第二数值信息,其中,第一数值信息、第二数值信息分别记录第一节点、第二节点数据变化情况;基于第一数值信息与第二数值信息,确定节点选择信息;根据节点选择信息,确定执行节点与备份节点;基于执行节点的通信状态,发送数据读写请求;接收执行节点的第一反馈信号,并基于第一反馈信号更新执行节点的数值信息;响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新;响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于第二反馈信号更新备份节点的数值信息。
第四方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的防止数据脑裂的双机热备方法。
第五方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的防止数据脑裂的双机热备方法。
本发明技术方案,具有如下优点:
本发明提供的一种防止数据脑裂的双机热备方法、系统、设备、介质,该方法通过获取第一节点的第一数值信息、第二节点的第二数值信息与节点选择信息,确定执行节点与备份节点,并在执行节点完成数据读写请求后,更新备份节点的数据,这一过程中,通过第一反馈信号与第二反馈信号分别对第一数值信息、第二数值信息进行更新,从而保证任一节点作为执行节点时,对于外部数据请求数据是完整的,并基于备份节点的通信状态,对备份节点数据进行更新,从而保证任一节点作为备份节点时,备份节点的数据与执行节点的数据一致,从而有效避免了数据脑裂的出现,保证在任何情况下均以最新且最完整的数据响应外部数据请求,提高了双机热备过程中数据的可靠性与相关业务的稳定性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的防止数据脑裂的双机热备系统的结构示意图;
图2是根据本发明实施例提供的一种防止数据脑裂的双机热备系统的流程示意图;
图3是根据本发明实施例提供的一种防止数据脑裂的双机热备方法的流程示意图;
图4是根据本发明实施例提供的防止数据脑裂的双机热备装置的结构框图;
图5是本发明实施例提供的计算机设备的硬件结构示意图;
图6是本发明实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种防止数据脑裂的双机热备系统,如图1所示,系统包括前置器101、第一节点102、第二节点103,其中,第一节点102与第二节点103依据前置器101分别作为执行节点和备份节点。前置器101分别与第一节点102、第二节点103通过物理连线连接,通常前置器101与两个节点之间通过串口线连接通信。
前置器101,用于接收数据读写请求,并选择第一节点、第二节点分别作为执行节点或备份节点,以及接收并存储暂存数据在缓存队列中,以使备份节点通过缓存队列同步数据。
第一节点102与第二节点103,用于作为执行节点时执行数据读写请求,并在处理数据读写请求之后,向备份节点同步暂存数据或在备份节点的通信状态为断开连接时,发送暂存数据至前置器。
前置器101处于第一节点102与第二节点103之前,使得系统借助前置器101判断和决定外部请求的响应节点,即数据读写请求的执行节点,同时在主备节点间无法同步数据时,通过将暂存数据存放在前置器101中,从而通过前置器101与备份节点之间的物理连线完成备份节点的数据更新。其中,前置器101的网络IP即为防止数据脑裂的双机热备系统对外服务IP,外部请求均向此IP地址请求。
在一种可选实施方式中,前置器101包括判断单元1012,暂存单元1011和转发单元1013,
判断单元1012,用于选择第一节点、第二节点分别作为执行节点或备份节点。
暂存单元1011,用于将与第一节点、第二节点对应的暂存数据分别存储在对应缓存队列。
转发单元1013,用于发送数据读写请求或暂存数据。
判断单元1012中存储有数据记录表,用于记录两个整数变量与一个记录节点的变量,其中,两个整数变量分别记作epoch_A和epoch_B,节点的变量记作select_node,epoch_A用于记录节点A的数据更新情况,epoch_B用于记录节点B的数据更新情况,select_node用于记录执行节点的选取情况,初始值epoch_A=epoch_B=0,select_node=A。当某个节点作为执行节点响应数据读写请求时,若该节点上的数据发生了变化,即完成该数据读写请求,则由该节点向前置器反馈一个正向信号,判断单元在收到该正向信号后,会将对应的epoch值以预设数值增加。并且在执行节点向备份节点完成数据同步更新该数据变化后,则由备份节点向前置器反馈信号,同样地,判断单元在收到该信号后,会将对应的epoch值以预设数值增加。以执行节点为A,备份节点为B,预设数值为1为例,执行节点A完成数据读写请求后,执行节点A向前置器发送反馈信号SA,判断单元将epoch_A的值自增1,执行节点A向备份节点B同步数据后,备份节点B向前置器发送反馈信号SB,判断单元将epoch_B的值自增1。应该理解的是,节点A、节点B分别表示第一节点、第二节点,epoch_A和epoch_B分别表示第一节点的第一数值信息与第二节点的第二数值信息,select_node表示节点选择信息。SA、SB分别表示第一反馈信号与第二反馈信号。
暂存单元1011为两个节点分别提供一个缓存队列,记作line_A、line_B,缓存队列通常为FIFO(first in first out,先进先出)队列,同样以执行节点为A,备份节点为B为例,在执行节点A完成数据读写请求后,执行节点A向备份节点B同步数据失败,则执行节点A将数据更新内容,即暂存数据,发送至前置器,前置器通过line_B保存暂存数据,并通过前置器与节点B的物理连线继续宁数据更新,line_B中每增加一条暂存数据,对应创建一个轮询同步数据任务,从而保证备份节点与执行节点的数据相同,保证系统的数据完整性。
转发单元1013用于转发数据读写请求或暂存数据,同样以执行节点为A,备份节点为B为例,若A节点的通信状态为正常通信,转发数据读写请求至节点A。若A节点存在故障,即A节点的通信状态为断开连接时,通过判断单元1012,选择节点B作为执行单元,节点A为备份单元,在line_B为空时,即节点B的数据为最新数据时,转发数据读写请求至节点B。
本实施例提供了一种防止数据脑裂的双机热备系统的流程图,如图2所示,通过确定节点A的数据代数epoch_A与节点B的数据代数epoch_B,比较epoch_A与epoch_B,确定select_node的值,假设此时epoch_A大于epoch_B,那么select_node=A,即以节点A作为执行节点响应数据读写请求。转发单元向节点A转发数据读写请求,在该请求成功时,即节点A完成该数据读写请求,节点A发送反馈信号SA至前置器,epoch_A以预设数值增加,假设预设数值为1,那么epoch_A自增1,同时,节点A向节点B进行数据同步,在同步成功时,节点B发送反馈信号SB至前置器,epoch_B自增1。在同步不成功时,保存数据变化至前置器的缓存区,即将暂存数据存入暂存单元,通过周期轮询重试更新数据,并在节点B完成数据更新时,节点B发送反馈信号SB至前置器,epoch_B自增1。
在节点A作为执行节点请求不成功时,即A节点存在故障造成数据读写请求转发失败,修改select_node=B,即以节点B作为执行节点,获取暂存单元中节点B对应的数据队列,即line_B,在line_B为空时,表示节点B的数据为最新数据,节点B完成该数据读写请求,节点B发送反馈信号SB至前置器,epoch_B自增1。若line_B不为空,则待暂存单元中的暂存数据完成对节点B的数据更新后,节点B的数据为最新数据。同时,节点B向节点A进行数据同步,这一过程与节点A向节点B的过程相同,不再进行赘述。
为防止数据脑裂的出现,本实施例提供了一种防止数据脑裂的双机热备方法,如图3所示,包括如下步骤:
S201、响应于数据读写请求,获取第一节点的第一数值信息、第二节点的第二数值信息,其中,第一数值信息、第二数值信息分别记录第一节点、第二节点数据变化情况。
具体地,第一节的第一数值信息用于表示第一节点的数据更新情况,第二节点的第二数值信息用于表示第二节点的数据更新情况,数值信心的取值为整数,初始值为0,相当于上述实施例中的epoch_A和epoch_B,这一过程中作为执行节点的第一节点或第二节点,在完成一个数据读取请求后,向前置器发送反馈信号,前置器在收到该反馈信号后,增加对应数值信息,而作为备份节点的另一节点在完成执行节点的数据同步后,同样向前置器发送反馈信号,前置器在收到该反馈信号后,增加对应数值信息。
S202、基于第一数值信息与第二数值信息,确定节点选择信息。
具体地,节点选择信息用于表示执行节点的选取情况,默认值为第一节点或第二节点中的一个,可根据实际工况进行设定,相当于上述实施例中的select_node。在节点选择信息的初始值为第一节点时,默认第一节点为执行节点。
具体地,获取第一节点的第一数值信息、第二节点的第二数值信息与节点选择信息是指获取前置器中判断单元中记录的两个整数变量与记录节点的变量。
S203、根据节点选择信息,确定执行节点与备份节点。
具体地,根据节点选择信息,确定执行节点与备份节点是指通过第一数值信息与第二数值信息,确定对应节点的数据更新状态,即确定对应节点的数据是否为最新数据,从而判断节点选择信息是否需要改变,使得节点选择信息对应的节点为执行节点,另一节点为备份节点。
S204、基于执行节点的通信状态,发送数据读写请求。
具体地,执行节点的通信状态包括:正常通信与断开连接,在执行节点通信状态为正常通信时,发送数据读写请求至执行节点,由执行节点处理数据读写请求,在执行节点通信状态为断开连接时,切换原备份节点为新的执行节点,并发送数据读写请求至新的执行节点,由新的执行节点处理数据读写请求。
S205、接收执行节点的第一反馈信号,并基于第一反馈信号更新执行节点的数值信息。
具体地,第一反馈信号相当于上述实施例中的SA,是第一节点或第二节点完成数据读取请求后向前置器发送的正向反馈信号,用于表示执行节点已完成数据读取请求从而发生了数据变动。
S206、响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新。
具体地,备份节点的通信状态是指执行节点与备份节点之间的通信状态,包括:正常通信与断开连接,在备份节点的通信状态为正常通信时,由执行节点向备份节点进行数据更新,在备份节点的通信状态为断开连接时,执行节点发送数据更新内容,即发送暂存数据至前置器,由前置器向备份节点进行数据更新。
S207、响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于第二反馈信号更新备份节点的数值信息。
具体地,第二反馈信号相当于上述实施例中的SB,是另一节点完成数据同步更新后向前置器发送的正向反馈信号,用于表示备份节点已完成数据更新。
具体地,响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于第二反馈信号更新备份节点的数值信息是指在备份节点在每完成一条数据更新后,均会发送一次第二反馈信号,从而保证与备份节点对应的节点的数值信息的更新,以使对应数值信息准确记录该节点的数据变化情况。
本实施例提供的一种防止数据脑裂的双机热备方法、系统、设备、介质,该方法通过获取第一节点的第一数值信息、第二节点的第二数值信息与节点选择信息,确定执行节点与备份节点,并在执行节点完成数据读写请求后,更新备份节点的数据,这一过程中,通过第一反馈信号与第二反馈信号分别对第一数值信息、第二数值信息进行更新,从而保证任一节点作为执行节点时,对于外部数据请求数据是完整的,并基于备份节点的通信状态,对备份节点数据进行更新,从而保证任一节点作为备份节点时,备份节点的数据与执行节点的数据一致,从而有效避免了数据脑裂的出现,保证在任何情况下均以最新且最完整的数据响应外部数据请求,提高了双机热备过程中数据的可靠性与相关业务的稳定性。
在一种可选实施方式中,基于第一数值信息与第二数值信息,确定节点选择信息,包括:
比较第一数值信息、第二数值信息。
在第一数值信息与第二数值信息不同时,将数值更大的数值信息作为节点选择信息的值。
在第一数值信息与第二数值信息相同时,维持节点选择信息的值不变。
在一种可选实施方式中,根据节点选择信息,确定执行节点与备份节点,包括:将节点选择信息的值作为执行节点,另一节点作为备份节点。
具体地,第一数值信息与第二数值信息分别用于记录第一节点与第二节点的数据更新情况,在某一节点作为执行节点时,该节点在处理完数据读取请求后,通过反馈信号使对应数值信息增加,而另一节点作为备份节点,在执行节点处理完数据读取请求后,会由执行节点向备份节点更新数据,同样地,在备份节点完成数据更新后通过反馈信号使对应数值信息增加。因此,可以看出,在第一节点与第二节点数据均为最新数据时,第一数值信息与第二数值信息应相同,在该种情况下无需修改执行节点,而在第一数值信息与第二数值信息不同时,则表示某一节点的数据在该时刻不是最新数据,因此需要以最新数据作为执行节点,即选择数值更大的对应节点作为节点选择信息的值,从而确定执行节点与备份节点。
通过实施本实施例,以第一数值信息与第二数值信息明确第一节点与第二节点的数据更新状态,从而通过调整节点选择信息的值确定执行节点,未被选为执行节点的另一节点作为备份节点,这一过程保证了处理外部数据请求的节点的数据为最新数据,避免了两节点均认为自身节点为执行节点从而形成竞争关系这一问题的产生,从而规避了数据脑裂问题的发生,提高了双机热备过程中数据的可靠性与相关业务的稳定性。
在一种可选实施方式中,基于执行节点的通信状态,发送数据读写请求,包括:
在执行节点的通信状态为正常通信时,获取第一执行节点的第一缓存队列。
具体地,执行节点为的通信状态为正常通信是指执行节点可以接收数据读写请求,即执行节点可以处理数据读写请求。获取第一执行节点的第一缓冲队列是指获取与执行节点对应的缓冲队列。以执行节点为节点A为例,在节点A可以接收前置器转发的数据读写请求时,获取第一执行节点的第一缓存队列是指获取前置器的暂存单元中与节点A相对应的缓冲队列line_A。
基于第一缓存队列,发送数据读写请求至第一执行节点。
在第一执行节点完成更新之后,发送数据读写请求至第一执行节点。
具体地,基于第一缓存队列存储的暂存数据更新第一执行节点是指利用第一缓冲队列中存储的暂存数据对节点内的数据进行更新,从而使执行节点内的数据为最新数据。在第一缓存队列为空时,表示执行节点内的数据为最新数据,在第一缓冲队列内存储有暂存数据时,表示执行节点内的数据需要更新。
在一种可选实施方式中,基于第一缓存队列,发送数据读写请求至第一执行节点,包括:
基于第一缓存队列存储的第一暂存数据更新第一执行节点。
在一种可选实施方式中,基于第一缓存队列存储的第一暂存数据更新第一执行节点,包括:
基于第一暂存数据,以第一暂存数据存入第一缓冲队列的时间,逐次对第一执行节点进行数据更新。
响应于每次第一执行节点的数据更新,接收第一执行节点发送的第三反馈信号。
基于第三反馈信号,更新与第一执行节点对应的数值信息。
具体地,以先存入第一缓存队列第一暂存数据逐次对第一执行节点进行更新,并在每次更新后由第一执行节点对应的节点发送反馈信号,以使第一执行节点对应的节点更新对应的数值信息,从而保证第一执行节点的数据内容是最新的,且同步更新对应节点的数值信息,从而使数值信息可以反映该节点的数据变化情况。应该理解的是,每一条第一缓存数据完成对第以节点的更新后,该第一缓存数据从第一缓冲队列中删除。
通过实施本实例,以第一缓冲队列保证执行节点作为主节点处理外部数据请求时,执行节点内容的数据是最新的,从而避免数据脑裂的产生,提高了双机热备过程中数据的可靠性与相关业务的稳定性。
在一种可选实施方式中,基于执行节点的通信状态,发送数据读写请求,包括:
在执行节点的通信状态为断开连接时,以备份节点的数据信息作为节点选择信息的值,将备份节点作为第二执行节点。
获取第二执行节点的第二缓存队列。
具体地,执行节点为的通信状态为断开连接是指现有执行节点因故障不能接收数据读写请求,即现有执行节点无法处理数据读写请求。以备份节点作为节点选择信息的值,将备份节点作为第二执行节点是指将通过变更节点选择信息,将原备份节点作为新的执行节点,即第二执行节点,将原执行节点作为新的备份节点。获取第二执行节点的第二缓冲队列是指获取与第二执行节点对应的缓冲队列。以第一执行节点为节点A,原备份节点为节点B为例,在节点A因故障无法接收前置器转发的数据读写请求时,以节点B作为节点选择信息的值,即select_node=B,从而完成将原备份节点转换为第二执行节点。获取第二执行节点的第二缓存队列是指获取前置器的暂存单元中与节点B相对应的缓冲队列line_B。
基于第二缓存队列,发送数据读写请求至第二执行节点。
在一种可选实施方式中,基于第二缓存队列,发送数据读写请求至第二执行节点,包括:
基于第二缓存队列存储的第二暂存数据更新第二执行节点。
在第二执行节点完成更新之后,发送数据读写请求至第二执行节点。
具体地,基于第二缓存队列存储的暂存数据更新第二执行节点是指利用第二缓冲队列中存储的暂存数据对节点内的数据进行更新,从而使第二执行节点内的数据为最新数据。在第二缓存队列为空时,表示第二执行节点内的数据为最新数据,在第二缓冲队列内存储有暂存数据时,表示第二执行节点内的数据需要更新。
在一种可选实施方式中,基于第二缓存队列存储的暂存数据更新第二执行节点,包括:
基于第二暂存数据,以第二暂存数据存入第二缓冲队列的时间,逐次对第二执行节点进行数据更新。
响应于每次第二执行节点的数据更新,接收第二执行节点发送的第四反馈信号。
基于第四反馈信号,更新与第二执行节点对应的数值信息。
具体地,以先存入第二缓存队列第二暂存数据逐次对第二执行节点进行更新,并在每次更新后由第二执行节点对应的节点发送反馈信号,以使第二执行节点对应的节点更新对应的数值信息,从而保证第二执行节点的数据内容是最新的,且同步更新对应节点的数值信息,从而使数值信息可以反映该节点的数据变化情况。应该理解的是,每一条第二缓存数据完成对第二节点的更新后,该第二缓存数据从第二缓冲队列中删除。
通过实施本实例,在原执行节点因故障无法处理外部数据请求时,将原备份节点作为新的执行节点,即第二执行节点,通过第二缓冲队列保证第二执行节点内容的数据是最新的,从而避免数据脑裂的产生,提高了双机热备过程中数据的可靠性与相关业务的稳定性。
在一种可选实施方式中,备份节点的通信状态,包括:正常通信,响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新,包括:响应于第一反馈信号,由执行节点对备份节点进行数据更新。
具体地,备份节点的通信状态为正常通信是指执行节点与备份节点之间的数据通信是正常的,即执行节点可以向备份节点同步数据。响应于第一反馈信号,由执行节点对备份节点进行数据更新是指在执行节点完成外部数据请求的同时,即发送第一反馈信号的同时,由执行节点对备份节点进行数据同步,从而保证备份节点的数据也是最新的。
在一种可选实施方式中,备份节点的通信状态,包括:断开连接,响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新,包括:
在备份节点的通信状态为断开连接时,响应于第一反馈信号,接收执行节点发送的第三暂存数据。
将第三暂存数据存储至备份节点的第三缓存队列。
通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新。
具体地,备份节点的通信状态为断开连接是指执行节点无法与备份节点进行数据通信,即执行节点无法直接向备份节点同步数据。
具体地,响应于第一反馈信号,接收执行节点发送的暂存数据是指在执行节点完成外部数据请求的同时,由执行节点发送暂存数据至前置器,其中,暂存数据是指执行节点处理外部数据请求后所产生的数据更新内容。将暂存数据存储至备份节点的第三缓存队列是指前置器接收执行节点发送的暂存数据,并将暂存数据存储至备份节点对应的缓冲队列。以执行节点为节点A,备份节点为节点B为例,这一过程相当于节点A发送暂存数据至前置器,前置器将暂存数据存储至line_B。
具体地,轮询的频率可以根据实际工况进行设定,通常采用以1s为周期重试30次,每次同步均通过转发器再次将队列中的数据同步至对应的节点。
在一种可选实施方式中,接收执行节点的第一反馈信号,并基于第一反馈信号更新执行节点的数值信息,包括:
接收执行节点的第一反馈信号。
基于第一反馈信号以预设数值更新执行节点的数值信息。
具体地,基于第一反馈信号以预设数值更新执行节点的数值信息是指在执行节点完成外部数据请求后,通过接收第一反馈信号,更新执行节点的数值信息,从而通过数值信息表征对应节点的数据更新情况,使得有新的外部数据请求进入时,通过数值信息确定执行节点。以执行节点为节点A为例,第一反馈信号为SA,前置器中的判断单元在收到SA后,epoch_A以预设数值增加,通常预设数值取1,即epoch_A自增1。
在一种可选实施方式,响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于第二反馈信号更新备份节点的数值信息,包括:
响应于备份节点数据的数据更新,接收备份节点的第二反馈信号。
基于第二反馈信号以预设数值更新备份节点的数值信息。
具体地,基于第二反馈信号以预设数值更新备份节点的数值信息是指在备份节点完成与执行节点的数据同步后,通过接收第二反馈信号,更新备份节点的数值信息,从而通过数值信息表征对应节点的数据更新情况,使得有新的外部数据请求进入时,通过数值信息确定执行节点。以备份节点为节点B为例,第一反馈信号为SB,前置器中的判断单元在收到SB后,epoch_B以预设数值增加,通常预设数值取1,即epoch_B自增1。
在一种可选实施方式中,通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新,包括:
响应于第三缓冲队列每增加一条第三暂存数据,触发周期同步任务。
具体地,第三缓冲队列每增加一条第三暂存数据是指前置器的暂存单元中与备份节点对应缓存队列每增加一条缓存数据,其中,每一条缓存数据均为由执行节点向备份节点进行数据同步失败后,由执行节点发送至暂存单元的数据。
具体地,响应于第三缓冲队列每增加一条第三暂存数据,触发周期同步任务是指在每增加一条第三缓存数据后,触发由前置器的转发单元转发第三缓存数据的周期同步任务。
基于周期同步任务,通过预设频率,以第三暂存数据存入第三缓冲队列的时间,逐次对备份节点进行数据更新。
具体地,本实施例对预设频率不做具体限定,可根据实际工况进行设定,通常取预设频率为以一秒为周期,重复尝试三十次。
具体地,基于周期同步任务,通过预设频率,以第三暂存数据存入第三缓冲队列的时间,逐次对备份节点进行数据更新是指以先存入第三缓存队列第三暂存数据逐次对备份节点进行更新,并在每次更新后由备份节点发送反馈信号,从而根据第二反馈信号更新备份节点的数值信息,保证备份节点的数据内容是最新的,使数值信息可以准确反映备份节点的数据变化情况。应该理解的是,每一条第三缓存数据完成对备份节点的更新后,该第三缓存数据从第三缓冲队列中删除。
在本实施例中还提供了一种防止数据脑裂的双机热备装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种防止数据脑裂的双机热备装置,如图4所示,包括:
获取模块301,用于响应于数据读写请求,获取第一节点的第一数值信息、第二节点的第二数值信息,其中,第一数值信息、第二数值信息分别记录第一节点、第二节点数据变化情况。具体过程可参见上述实施例中关于步骤S201的相关描述,在此不再赘述。
信息确定模块302,用于基于第一数值信息与第二数值信息,确定节点选择信息。具体过程可参见上述实施例中关于步骤S202的相关描述,在此不再赘述。
节点确定模块303,用于根据节点选择信息,确定执行节点与备份节点。具体过程可参见上述实施例中关于步骤S203的相关描述,在此不再赘述。
请求发送单元304,用于基于执行节点的通信状态,发送数据读写。具体过程可参见上述实施例中关于步骤S204的相关描述,在此不再赘述。
第一数值更新单元305,用于接收执行节点的第一反馈信号,并基于第一反馈信号更新执行节点的数值信息。具体过程可参见上述实施例中关于步骤S205的相关描述,在此不再赘述。
同步单元306,用于响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新。具体过程可参见上述实施例中关于步骤S206的相关描述,在此不再赘述。
第二数值更新单元307,用于响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于第二反馈信号更新备份节点的数值信息。具体过程可参见上述实施例中关于步骤S207的相关描述,在此不再赘述。
本实施例中的防止数据脑裂的双机热备装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图4所示的防止数据脑裂的双机热备装置。
请参阅图5,图5是本发明可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器401为例。
处理器401可以是中央处理器,网络处理器或其组合。其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器402存储有可由至少一个处理器401执行的指令,以使所述至少一个处理器401执行实现上述实施例示出的方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器402可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器402还可以包括上述种类的存储器的组合。该计算机设备还包括通信接口403,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,如图6所示,本发明的实施例还提供了一种计算机可读存储介质501,计算机可读存储介质501存储有计算机指令5011,计算机指令5011被处理器执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种防止数据脑裂的双机热备方法,其特征在于,应用于双机热备系统的前置器,所述前置器与第一节点、第二节点通过串口线通信,所述方法包括:
响应于数据读写请求,获取所述第一节点的第一数值信息、所述第二节点的第二数值信息,其中,所述第一数值信息、所述第二数值信息分别记录第一节点、第二节点数据变化情况;
基于所述第一数值信息与所述第二数值信息,确定节点选择信息;
根据所述节点选择信息,确定执行节点与备份节点;
基于所述执行节点的通信状态,发送所述数据读写请求;
接收执行节点的第一反馈信号,并基于所述第一反馈信号更新执行节点的数值信息;
响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新;
响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于所述第二反馈信号更新备份节点的数值信息;
所述基于所述第一数值信息与所述第二数值信息,确定节点选择信息,包括:
比较所述第一数值信息、所述第二数值信息;
在所述第一数值信息与所述第二数值信息不同时,将数值更大的数值信息作为节点选择信息的值;
在所述第一数值信息与第二数值信息相同时,维持节点选择信息的值不变;
所述根据所述节点选择信息,确定执行节点与备份节点,包括:将节点选择信息对应的节点作为执行节点 ,另一节点作为备份节点;
所述基于所述执行节点的通信状态,发送所述数据读写请求,包括:
在执行节点的通信状态为正常通信时,获取第一执行节点的第一缓存队列;
基于所述第一缓存队列,发送数据读写请求至所述第一执行节点;
所述基于所述执行节点的通信状态,发送所述数据读写请求,包括:
在执行节点的通信状态为断开连接时,以备份节点的数据信息作为节点选择信息的值,将备份节点作为第二执行节点;
获取第二执行节点的第二缓存队列;
基于所述第二缓存队列,发送数据读写请求至所述第二执行节点;
所述基于备份节点的通信状态,对备份节点进行数据更新,包括:
在所述备份节点的通信状态为断开连接时,响应于第一反馈信号,接收执行节点发送的第三暂存数据;
将所述第三暂存数据存储至备份节点的第三缓存队列;
通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一缓存队列,发送数据读写请求至所述第一执行节点,包括:
基于所述第一缓存队列存储的第一暂存数据更新第一执行节点;
在第一执行节点完成更新之后,发送数据读写请求至所述第一执行节点。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一缓存队列存储的第一暂存数据更新第一执行节点,包括:
基于所述第一暂存数据,以所述第一暂存数据存入第一缓冲队列的时间,逐次对所述第一执行节点进行数据更新;
响应于每次所述第一执行节点的数据更新,接收第一执行节点发送的第三反馈信号;
基于所述第三反馈信号,更新与所述第一执行节点对应的数值信息。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二缓存队列,发送数据读写请求至所述第二执行节点,包括:
基于所述第二缓存队列存储的第二暂存数据更新第二执行节点;
在第二执行节点完成更新之后,发送数据读写请求至所述第二执行节点。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二缓存队列存储的暂存数据更新第二执行节点,包括:
基于所述第二暂存数据,以所述第二暂存数据存入第二缓冲队列的时间,逐次对所述第二执行节点进行数据更新;
响应于每次所述第二执行节点的数据更新,接收第二执行节点发送的第四反馈信号;
基于所述第四反馈信号,更新与所述第二执行节点对应的数值信息。
6.根据权利要求1所述的方法,其特征在于,所述通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新,包括:
响应于第三缓冲队列每增加一条所述第三暂存数据,触发周期同步任务;
基于所述周期同步任务,通过预设频率,以所述第三暂存数据存入所述第三缓冲队列的时间,逐次对所述备份节点进行数据更新。
7.一种防止数据脑裂的双机热备装置,其特征在于,应用于双机热备系统的前置器,所述前置器与第一节点、第二节点通过串口线通信,所述装置包括:
获取模块,用于响应于数据读写请求,获取所述第一节点的第一数值信息、所述第二节点的第二数值信息,其中,所述第一数值信息、所述第二数值信息分别记录第一节点、第二节点数据变化情况;
信息确定模块,用于基于所述第一数值信息与所述第二数值信息,确定节点选择信息;所述基于所述第一数值信息与所述第二数值信息,确定节点选择信息,包括:比较所述第一数值信息、所述第二数值信息;在所述第一数值信息与所述第二数值信息不同时,将数值更大的数值信息作为节点选择信息的值;在所述第一数值信息与第二数值信息相同时,维持节点选择信息的值不变;
节点确定模块,用于根据所述节点选择信息,确定执行节点与备份节点;所述根据所述节点选择信息,确定执行节点与备份节点,包括:将节点选择信息对应的节点作为执行节点,另一节点作为备份节点;
请求发送单元,用于基于所述执行节点的通信状态,发送所述数据读写;基于所述执行节点的通信状态,发送所述数据读写请求,包括:在执行节点的通信状态为正常通信时,获取第一执行节点的第一缓存队列;基于所述第一缓存队列,发送数据读写请求至所述第一执行节点;基于所述执行节点的通信状态,发送所述数据读写请求,包括:在执行节点的通信状态为断开连接时,以备份节点的数据信息作为节点选择信息的值,将备份节点作为第二执行节点;获取第二执行节点的第二缓存队列;基于所述第二缓存队列,发送数据读写请求至所述第二执行节点;
第一数值更新单元,用于接收执行节点的第一反馈信号,并基于所述第一反馈信号更新执行节点的数值信息;
同步单元,用于响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新;所述基于备份节点的通信状态,对备份节点进行数据更新,包括:在所述备份节点的通信状态为断开连接时,响应于第一反馈信号,接收执行节点发送的第三暂存数据;将所述第三暂存数据存储至备份节点的第三缓存队列;通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新;
第二数值更新单元,用于响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于所述第二反馈信号更新备份节点的数值信息。
8.一种防止数据脑裂的双机热备系统,包括:前置器,第一节点和第二节点,前置器分别与第一节点、第二节点通过物理连线连接,其中,
前置器,用于接收数据读写请求,并选择第一节点、第二节点分别作为执行节点或备份节点,以及接收并存储暂存数据在缓存队列中,以使备份节点通过缓存队列同步数据;
第一节点与第二节点,用于作为执行节点时执行数据读写请求,并在处理数据读写请求之后,向备份节点同步暂存数据或在备份节点的通信状态为断开连接时,发送暂存数据至前置器;
所述系统在执行防止数据脑裂的热备时,执行如下步骤:
响应于数据读写请求,获取所述第一节点的第一数值信息、所述第二节点的第二数值信息,其中,所述第一数值信息、所述第二数值信息分别记录第一节点、第二节点数据变化情况;
基于所述第一数值信息与所述第二数值信息,确定节点选择信息;
根据所述节点选择信息,确定执行节点与备份节点;
基于所述执行节点的通信状态,发送所述数据读写请求;
接收执行节点的第一反馈信号,并基于所述第一反馈信号更新执行节点的数值信息;响应于第一反馈信号,基于备份节点的通信状态,对备份节点进行数据更新;
响应于备份节点数据的数据更新,接收备份节点的第二反馈信号,并基于所述第二反馈信号更新备份节点的数值信息;
所述基于所述第一数值信息与所述第二数值信息,确定节点选择信息,包括:
比较所述第一数值信息、所述第二数值信息;
在所述第一数值信息与所述第二数值信息不同时,将数值更大的数值信息作为节点选择信息的值;
在所述第一数值信息与第二数值信息相同时,维持节点选择信息的值不变;
所述根据所述节点选择信息,确定执行节点与备份节点,包括:将节点选择信息对应的节点作为执行节点 ,另一节点作为备份节点;
所述基于所述执行节点的通信状态,发送所述数据读写请求,包括:
在执行节点的通信状态为正常通信时,获取第一执行节点的第一缓存队列;
基于所述第一缓存队列,发送数据读写请求至所述第一执行节点;
所述基于所述执行节点的通信状态,发送所述数据读写请求,包括:
在执行节点的通信状态为断开连接时,以备份节点的数据信息作为节点选择信息的值,将备份节点作为第二执行节点;
获取第二执行节点的第二缓存队列;
基于所述第二缓存队列,发送数据读写请求至所述第二执行节点;
所述基于备份节点的通信状态,对备份节点进行数据更新,包括:
在所述备份节点的通信状态为断开连接时,响应于第一反馈信号,接收执行节点发送的第三暂存数据;
将所述第三暂存数据存储至备份节点的第三缓存队列;
通过轮询的方式,以第三缓存队列存储的内容对备份节点进行更新。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至6中任一项所述的防止数据脑裂的双机热备方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至6中任一项所述的防止数据脑裂的双机热备方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311827347.9A CN117493082B (zh) | 2023-12-28 | 2023-12-28 | 一种防止数据脑裂的双机热备方法、系统、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311827347.9A CN117493082B (zh) | 2023-12-28 | 2023-12-28 | 一种防止数据脑裂的双机热备方法、系统、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117493082A CN117493082A (zh) | 2024-02-02 |
CN117493082B true CN117493082B (zh) | 2024-03-15 |
Family
ID=89672950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311827347.9A Active CN117493082B (zh) | 2023-12-28 | 2023-12-28 | 一种防止数据脑裂的双机热备方法、系统、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493082B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593266A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮(北京)电子信息产业有限公司 | 一种基于仲裁盘机制的双机热备方法 |
CN115374215A (zh) * | 2022-07-27 | 2022-11-22 | 深圳润世华研发科技有限公司 | 一种工业监控中多机组态数据管理与双前置机热备的方法 |
-
2023
- 2023-12-28 CN CN202311827347.9A patent/CN117493082B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593266A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮(北京)电子信息产业有限公司 | 一种基于仲裁盘机制的双机热备方法 |
CN115374215A (zh) * | 2022-07-27 | 2022-11-22 | 深圳润世华研发科技有限公司 | 一种工业监控中多机组态数据管理与双前置机热备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117493082A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397648B2 (en) | Virtual machine recovery method and virtual machine management device | |
CN111049928B (zh) | 数据同步方法、系统、电子设备及计算机可读存储介质 | |
CN111124755A (zh) | 集群节点的故障恢复方法、装置、电子设备及存储介质 | |
CN104036043A (zh) | 一种mysql高可用的方法及管理节点 | |
RU2653254C1 (ru) | Способ, узел и система управления данными для кластера базы данных | |
CN112015595B (zh) | 主从数据库的切换方法、计算设备及存储介质 | |
CN117493082B (zh) | 一种防止数据脑裂的双机热备方法、系统、设备、介质 | |
WO2021082925A1 (zh) | 一种交易处理的方法及装置 | |
CN112988880B (zh) | 数据同步方法、装置、电子设备及计算机存储介质 | |
CN111381770B (zh) | 一种数据存储切换方法、装置、设备及存储介质 | |
CN115314361B (zh) | 一种服务器集群管理方法及其相关组件 | |
CN116541461A (zh) | 应用于数据库的数据处理方法、装置、设备及存储介质 | |
CN113986148B (zh) | 一种数据读取方法、装置及相关设备 | |
CN115934742A (zh) | 一种故障处理方法、装置、设备及存储介质 | |
JP2000035911A (ja) | データベースの等価方法 | |
US20210240351A1 (en) | Remote copy system and remote copy management method | |
CN112966046B (zh) | 数据同步方法和装置、电子设备和存储介质 | |
CN115941486B (zh) | 一种集群管理方法、系统、设备以及存储介质 | |
CN117130830A (zh) | 对象的数据恢复方法、装置、计算机设备及存储介质 | |
CN112214466B (zh) | 分布式集群系统及数据写入方法、电子设备、存储装置 | |
US11269922B2 (en) | Database server, database management method, and storage medium | |
CN118151857A (zh) | 一种数据同步方法、系统、装置、计算机设备及存储介质 | |
JP5870174B1 (ja) | データ送信システム | |
CN118295982A (zh) | 一种redo日志重演方法、装置、设备及存储介质 | |
CN112395263A (zh) | 一种osd的数据恢复方法及装置 |
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 |