CN114844809B - 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 - Google Patents
基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 Download PDFInfo
- Publication number
- CN114844809B CN114844809B CN202210404913.4A CN202210404913A CN114844809B CN 114844809 B CN114844809 B CN 114844809B CN 202210404913 A CN202210404913 A CN 202210404913A CN 114844809 B CN114844809 B CN 114844809B
- Authority
- CN
- China
- Prior art keywords
- heartbeat
- disk
- information data
- server nodes
- data
- 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 35
- 238000005192 partition Methods 0.000 claims abstract description 48
- 230000002159 abnormal effect Effects 0.000 claims abstract description 17
- 230000000694 effects Effects 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 210000004556 brain Anatomy 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000002490 cerebral effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁方法,将多个服务器节点中每两个服务器节点之间建立至少一条心跳线,用于发送和接收心跳信息;所述多因子仲裁方法包括:在每两个所述服务器节点之间连接存储设备磁盘阵列;在所述磁盘阵列上划分出分区,用于写入磁盘心跳信息数据;判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态。因为只有操作***内核宕机时内核磁盘心跳才会异常,本发明当且仅当网络心跳和内核磁盘心跳都异常的情况下,才会认为活动服务器或备份服务器宕机,降低了高可用集群宕机误判、脑裂误判情况的发生,保证了***的正常运行。
Description
技术领域
本发明涉及电网变电站设备技术领域,尤其涉及一种基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置、电子设备及存储介质。
背景技术
服务器是为客户端计算机提供各种服务的高性能的计算机,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。为了对外提供可靠的连续的不间断服务,要求服务器必须具有可靠的稳定性,以保证各种实时在线业务的顺利进行。基于此,现有技术中通过双机热备的方式来避免服务器软件或硬件故障而导致的在线交易中断,即在一台服务器故障时另一台服务器可以及时的监测到故障,并接替另一台服务器对外提供服务,以达到服务不中断的要求。
现有技术中,基于网络心跳和磁盘心跳对集群内服务器活动状态进行判断,由于服务器负载极高,出现网络心跳和磁盘心跳进程在操作***中没有及时得到调度,导致集群其他节点出现误判,认为此节点出现故障对正常运行的服务器节点进行隔离操作。
发明内容
本发明提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置、电子设备及存储介质,通过多因子仲裁方法,降低高可用集群宕机误判、脑裂误判情况的发生,保证***的正常运行。
第一方面,本发明实施例提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁方法,将多个服务器节点中每两个服务器节点之间建立至少一条心跳线,用于发送和接收心跳信息;所述多因子仲裁方法包括:
在每两个所述服务器节点之间连接存储设备磁盘阵列;
在所述磁盘阵列上划分出分区,用于写入磁盘心跳信息数据;其中,所述心跳信息数据为每两个所述服务器节点分别写入的心跳信息数据;
判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态。
作为本发明一种可能实现的实施方式,通过调用write()向磁盘心跳分区dev定时写入心跳信息数据。
作为本发明一种可能实现的实施方式,设置定时检查当前记录I/O数据是否超时,如果超时,则往I/O队列里增加一个对磁盘心跳阵列分区dev的I/O请求,以保证磁盘心跳信息数据能正常写入所述磁盘心跳阵列。
作为本发明一种可能实现的实施方式,通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态包括:
检索所有的I/O队列,写入磁盘心跳分区dev的I/O数据后更新为当前记录数据;
读取所述磁盘心跳分区dev内容,获取活动节点的磁盘心跳信息数据;
若基于所述磁盘心跳信息数据判断I/O数据的时间已经超时,则判断此服务器节点为异常。
第二方面,本发明实施例提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁装置,将多个服务器节点中每两个服务器节点之间建立至少一条心跳线,用于发送和接收心跳信息;所述多因子仲裁装置包括:
存储模块,所述存储模块为在每两个所述服务器节点之间连接存储设备磁盘阵列;
数据写入模块,用于在所述磁盘阵列上划分出分区,用于写入磁盘心跳信息数据;其中,所述心跳信息数据为每两个所述服务器节点分别写入的心跳信息数据;
判断模块,用于判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态。
作为本发明一种可能实现的实施方式,通过调用write()向磁盘心跳分区dev定时写入心跳信息数据。
作为本发明一种可能实现的实施方式,所述判断模块包括:qdio内核单元,通过所述qdio内核单元设置定时检查当前记录I/O数据是否超时,如果超时,则往I/O队列里增加一个对磁盘心跳阵列分区dev的I/O请求,以保证磁盘心跳信息数据能正常写入所述磁盘心跳阵列。
作为本发明一种可能实现的实施方式,所述qdio内核单元包括:
检索子单元,用于检索所有的I/O队列,写入磁盘心跳分区dev的I/O数据后更新为当前记录数据;
获取子单元,用于读取所述磁盘心跳分区dev内容,获取活动节点的磁盘心跳信息数据;
判断子单元,若基于所述磁盘心跳信息数据判断I/O数据的时间已经超时,则判断此服务器节点为异常。
第三方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如第二方面所述的方法。
第四方面,本发明的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第二方面所述的方法。
有益效果
本发明提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁方法,定时写入心跳信息;所述多因子仲裁方法包括:在每两个所述服务器节点之间连接存储设备磁盘阵列;在所述磁盘阵列上划分出分区,用于写入磁盘心跳信息数据;其中,所述心跳信息数据为每两个所述服务器节点分别写入的心跳信息数据;判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态。当网络心跳异常时,不会直接判断活动服务器或备份服务器宕机,还会判断内核磁盘心跳是否异常,因为只有操作***内核宕机时内核磁盘心跳才会异常,当且仅当网络心跳和内核磁盘心跳都异常的情况下,才会认为活动服务器或备份服务器宕机,降低了高可用集群宕机误判、脑裂误判情况的发生,保证了***的正常运行。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素。
附图1为本发明实施例的一种基于网络心跳和内核磁盘心跳的多因子仲裁方法的流程图;
附图2为本发明实施例的一种基于网络心跳和内核磁盘心跳的多因子仲裁装置的结构示意图;
附图3为本发明另一实施例的一种基于网络心跳和内核磁盘心跳的多因子仲裁装置的结构示意图;
附图4为本发明实施例的一种基于网络心跳和内核磁盘心跳的多因子仲裁装置的工作流程图;
附图5示出了本发明实施例的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
需要说明的是,本发明实施例描述的仅仅是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定。
为了对外提供可靠的连续的不间断服务,要求服务器必须具有可靠的稳定性,以保证各种实时在线业务的顺利进行。可以通过双机热备的方式来避免服务器软件或硬件故障而导致的在线交易中断,即在一台服务器故障时另一台服务器可以及时的监测到故障,并接替另一台服务器对外提供服务,以达到服务不中断的要求。传统双机热备基于网络心跳和磁盘心跳对集群内服务器活动状态进行判断,由于服务器负载极高,出现网络心跳和磁盘心跳进程在操作***中没有及时得到调度,导致集群其他节点出现误判,认为此节点出现故障对正常运行的服务器节点进行隔离操作。为了避免出现误判或者脑裂等情况,本发明提供一种基于网络心跳和内核磁盘心跳的多因子仲裁方法;在网络心跳的基础上,增加磁盘心跳判断,并将磁盘心跳程序加载到内核,避免因操作***负载过高导致磁盘心跳程序没有及时调度导致的误判情况。
需要说明的是,本发明所提到的多因子,举例来说,网络心跳是一个因子,磁盘心跳是一个因子。下面的实施例均为基于两个服务器节点所作出的实施例,实际上,服务器节点可以为多个,其也在本发明的保护范围之内。
附图1为本发明实施例的一种基于网络心跳和内核磁盘心跳的多因子仲裁方法的流程图;具体地,如图1所示,本发明实施例提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁方法,将多个服务器节点中每两个服务器节点之间建立至少一条心跳线,用于发送和接收心跳信息;具体地,所述多因子仲裁方法包括:
S20、在每两个所述服务器节点之间连接存储设备磁盘阵列;
每个服务器被定义为一个节点,例如A节点想知道B节点是否正常,可以通过网络心跳和磁盘心跳获取B的心跳信息;
S40、在所述磁盘阵列上划分出分区,用于写入磁盘心跳信息数据;其中,所述心跳信息数据为每两个所述服务器节点分别写入的心跳信息数据;
S60、判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态。
本实施例提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁方法,将多个服务器节点之间建立至少一条心跳线,用于发送和接收心跳;所述多因子仲裁方法包括:在每两个所述服务器节点之间连接存储设备磁盘阵列;在所述磁盘阵列上划分出分区,用于写入磁盘心跳信息数据;其中,所述心跳信息数据为每两个所述服务器节点分别写入的心跳信息数据;判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态。当网络心跳异常时,不会直接判断活动服务器或备份服务器宕机,还会判断内核磁盘心跳是否异常,因为只有操作***内核宕机时内核磁盘心跳才会异常,当且仅当网络心跳和内核磁盘心跳都异常的情况下,才会认为活动服务器或备份服务器宕机,降低了高可用集群宕机误判、脑裂误判情况的发生,保证了***的正常运行。
具体地,通过调用write()向磁盘心跳分区dev定时写入心跳信息数据。
具体地,设置定时检查当前记录I/O数据是否超时,如果超时,则往I/O队列里增加一个对磁盘心跳阵列分区dev的I/O请求,以保证磁盘心跳信息数据能正常写入所述磁盘心跳阵列。
具体地,通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态包括:
检索所有的I/O队列,写入磁盘心跳分区dev的I/O数据后更新为当前记录数据;
读取所述磁盘心跳分区dev内容,获取活动节点的磁盘心跳信息数据;
若基于所述磁盘心跳信息数据判断I/O数据的时间已经超时,则判断此服务器节点为异常。
基于同一发明构思,本发明实施例还提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁装置,如下面实施例所述:由于该基于网络心跳和内核磁盘心跳的多因子仲裁装置解决问题的原理与一种基于网络心跳和内核磁盘心跳的多因子仲裁方法相似,因此一种基于网络心跳和内核磁盘心跳的多因子仲裁装置的实施可以参见一种基于网络心跳和内核磁盘心跳的多因子仲裁方法的实施。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
附图2为本发明实施例的基于网络心跳和内核磁盘心跳的多因子仲裁装置的结示意图;
参见图2,本实施例提供了一种基于网络心跳和内核磁盘心跳的多因子仲裁装置,将多个服务器节点中每两个服务器节点之间建立至少一条心跳线,用于发送和接收心跳信息,所述多因子仲裁装置包括:
存储模块20,所述存储模块为在每两个所述服务器节点之间连接存储设备磁盘阵列;
数据写入模块40,用于在所述磁盘阵列上划分出分区,用于写入磁盘心跳信息数据;其中,所述心跳信息数据为每两个所述服务器节点分别写入的心跳信息数据;
判断模块60,用于判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述心跳信息数据得到其它服务器节点的活动状态。
具体地,可以通过调用write()向磁盘心跳分区dev定时写入心跳信息数据。
具体地,请参照图3,所述判断模块60包括:qdio内核单元601,通过所述qdio内核单元设置定时检查当前记录I/O数据是否超时,如果超时,则往I/O队列里增加一个对磁盘心跳阵列分区dev的I/O请求,以保证磁盘心跳信息数据能正常写入所述磁盘心跳阵列。
具体地,所述qdio内核单元601包括:
检索子单元6011,用于检索所有的I/O队列,写入磁盘心跳分区dev的I/O数据后更新为当前记录数据;
获取子单元6012,用于读取所述磁盘心跳分区dev内容,获取活动节点的磁盘心跳信息数据;
判断子单元6013,若基于所述磁盘心跳信息数据判断I/O数据的时间已经超时,则判断此服务器节点为异常。
下面通个一个较优的实施例,对基于网络心跳和内核磁盘心跳的多因子仲裁装置的工作流程进行说明,如图4所示;
(1)设置磁盘心跳分区dev,在磁盘阵列上划分一块分区,服务器活动节点和备用节点向此分区分别写入心跳信息数据,同时可以读取对方心跳信息。
(2)服务器活动节点和备用节点加载qdio内核单元,将分区dev参数传入。
(3)启动磁盘心跳服务程序qdiskd,磁盘心跳服务程序qdiskd通过***调用write()向磁盘心跳分区dev定时写入心跳信息数据。
(4)qdio内核单元检索所有的I/O队列,发现写入dev的I/O心跳信息数据后更新为当前记录心跳信息数据,同时设置定时(一般设置为1分钟)检查当前记录I/O数据是否超时,如果超时,qdio内核单元根据当前记录I/O数据进行计算,向内核I/O队列增加一个新的写入dev的心跳信息数据,例如上次qdiskd写入dev的数据是时间15:59,序号是100号的心跳信息数据,当前时间是16:00时qdio发现目前没有写到dev的I/O数据,那么qdio则记录下来的写入dev的I/O心跳信息数据更新,既时把时间15:59改为16:00,把序号100改为101,把修改后的I/O心跳信息数据发送到dev设备,并跟新当前记录I/O心跳信息数据。
(5)双机热备软件备用节点如果发现网络心跳中断,则检查磁盘心跳,
其中,网络心跳是两台服务器之间通过网络互相发送心跳信息数据,例如A节点在15:58:00发送序号为1,同时标注节点A的一个信息包发送给B,那么B会回复一个序号为1的标注节点为AB的信息包,如果A在15:58:03收到B回复的包则认为B在线,如果现在时间是15:58:06(设置网络心跳超时时间为5秒)并且没有收到B回复的心跳信息包,则认为B网络心跳中断。备用服务器节点磁盘心跳服务程序qdiskd读取磁盘心跳分区dev内容,获取活动节点的磁盘心跳信息数据。如果活动节点因负载高导致应用层程序网络心跳和磁盘心跳服务程序qdiskd未获得***调用,但活动节点内核正常工作则qdio内核单元继续写入心跳信息数据,备用节点磁盘心跳服务程序qdiskd可以读取活动节点的磁盘心跳信息数据,判断活动节点正常工作;例如,磁盘心跳超时时间设置为1分钟,举例来说,当前时间是16:00:30,A节点读取到磁盘心跳分区dev内B节点写入的数据是15:58:00的数据,说明B节点磁盘心跳信息数据超时,可以认为B节点宕机,如果A节点读取到磁盘心跳分区dev内B节点写入的数据是16:00:00的数据,说明B节点正常工作。如果活动节点操作***宕机,则qdio内核单元不能将磁盘心跳信息数据写入磁盘心跳分区dev,备用节点磁盘心跳服务程序qdiskd读取活动节点的磁盘心跳信息数据发现数据已经超时,判断活动节点异常双机服务对活动节点进行隔离操作。
本实施例增加磁盘心跳qdio内核单元,qdio内核单元hook到I/O调度程序,对所有I/O请求进行检查,I/O请求的设备dev是磁盘心跳写数据的设备dev时将本次I/O请求保存为当前磁盘心跳信息数据,磁盘心跳内核模块设置定时程序,如果超过设定时间磁盘心跳内核模块将往I/O队列里增加一个对磁盘心跳设备dev的I/O请求,以保证在应用成程序未能及时被调度但操作***内核正常运行时磁盘心跳信息数据能正常写入磁盘心跳设备;在网络心跳的基础上,增加磁盘心跳判断,并将磁盘心跳程序加载到内核,避免因操作***负载过高导致磁盘心跳程序没有及时调度导致的误判情况。
本发明实施例还提供了一种计算机电子设备,图5示出了可以应用本发明实施例的电子设备的结构示意图,如图5所示,该计算机电子设备包括,中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有***操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如硬盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
作为另一方面,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述一种基于网络心跳和内核磁盘心跳的多因子仲裁方法中所包含的计算机可读存储介质;也可以是单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的一种基于网络心跳和内核磁盘心跳的多因子仲裁方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (8)
1.一种基于网络心跳和内核磁盘心跳的多因子仲裁方法,其特征在于,将多个服务器节点中每两个服务器节点之间建立至少一条心跳线,用于发送和接收心跳信息;所述多因子仲裁方法包括:
在每两个所述服务器节点之间连接存储设备磁盘阵列;
在所述磁盘阵列上划分出分区生成磁盘阵列分区,所述磁盘阵列分区用于写入磁盘心跳信息数据;其中,所述磁盘心跳信息数据为每两个所述服务器节点分别写入的磁盘心跳信息数据;
判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述磁盘心跳信息数据得到其它服务器节点的活动状态;
基于所述磁盘心跳信息数据判断写入当前I/O数据的时间是否超时,如果超时,则往I/O队列里增加一个对所述磁盘阵列分区dev的I/O请求,以保证磁盘心跳信息数据能正常写入所述磁盘阵列分区。
2.根据权利要求1所述的多因子仲裁方法,其特征在于,通过调用wri te()向所述磁盘阵列分区dev定时写入磁盘心跳信息数据。
3.根据权利要求2所述的多因子仲裁方法,其特征在于,通过其中一个服务器节点读取所述磁盘心跳信息数据得到其它服务器节点的活动状态包括:
检索所有的I/O队列,写入所述磁盘阵列分区dev的I/O数据后更新为当前I/O数据;
读取所述磁盘阵列分区dev内容,获取所述其它服务器节点的磁盘心跳信息数据;
基于所述磁盘心跳信息数据判断写入所述当前I/O数据的时间是否超时,若已经超时,则判断此服务器节点为异常。
4.一种基于网络心跳和内核磁盘心跳的多因子仲裁装置,其特征在于,将多个服务器节点中每两个服务器节点之间建立至少一条心跳线,用于发送和接收心跳信息;所述多因子仲裁装置包括:
存储模块,所述存储模块为在每两个所述服务器节点之间连接存储设备磁盘阵列;
数据写入模块,用于在所述磁盘阵列上划分出分区生成磁盘阵列分区,所述生成磁盘阵列分区用于写入磁盘心跳信息数据;其中,所述磁盘心跳信息数据为每两个所述服务器节点分别写入的磁盘心跳信息数据;
判断模块,用于判断网络心跳是否中断,若网络心跳已经中断,则通过其中一个服务器节点读取所述磁盘心跳信息数据得到其它服务器节点的活动状态;还包括qdi o内核单元,通过所述qd i o内核单元基于所述磁盘心跳信息数据判断写入当前I/O数据的时间是否超时,如果超时,则往I/O队列里增加一个对生成磁盘阵列分区dev的I/O请求,以保证磁盘心跳信息数据能正常写入所述磁盘阵列分区。
5.根据权利要求4所述的多因子仲裁装置,其特征在于,通过调用wri te()向生成磁盘阵列分区dev定时写入磁盘心跳信息数据。
6.根据权利要求5所述的多因子仲裁装置,其特征在于,所述qdi o内核单元包括:
检索子单元,用于检索所有的I/O队列,写入磁盘阵列分区dev的I/O数据后更新为当前I/O数据;
获取子单元,用于读取所述磁盘阵列分区dev内容,获取所述其它服务器节点的磁盘心跳信息数据;
判断子单元,基于所述磁盘心跳信息数据判断写入所述当前I/O数据的时间是否超时,若已经超时,则判断此服务器节点为异常。
7.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404913.4A CN114844809B (zh) | 2022-04-18 | 2022-04-18 | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404913.4A CN114844809B (zh) | 2022-04-18 | 2022-04-18 | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114844809A CN114844809A (zh) | 2022-08-02 |
CN114844809B true CN114844809B (zh) | 2024-05-07 |
Family
ID=82565429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210404913.4A Active CN114844809B (zh) | 2022-04-18 | 2022-04-18 | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114844809B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115811461B (zh) * | 2023-02-08 | 2023-04-28 | 湖南国科亿存信息科技有限公司 | San共享存储集群脑裂预防处理方法、装置及电子设备 |
CN116743550B (zh) * | 2023-08-11 | 2023-12-29 | 之江实验室 | 一种分布式存储集群的故障存储节点的处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799394A (zh) * | 2012-06-29 | 2012-11-28 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
CN103051470A (zh) * | 2012-11-29 | 2013-04-17 | 中标软件有限公司 | 一种集群及其磁盘心跳的控制方法 |
CN103593266A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮(北京)电子信息产业有限公司 | 一种基于仲裁盘机制的双机热备方法 |
CN105095125A (zh) * | 2015-07-08 | 2015-11-25 | 北京飞杰信息技术有限公司 | 基于仲裁磁盘的高可用双控存储***及其运行方法 |
CN109947602A (zh) * | 2019-03-29 | 2019-06-28 | 浪潮商用机器有限公司 | 基于powerVM的分区恢复方法、装置、设备及介质 |
CN114265728A (zh) * | 2021-12-28 | 2022-04-01 | 湖南麒麟信安科技股份有限公司 | 存储***故障恢复方法、装置、计算机设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127565B2 (en) * | 2001-08-20 | 2006-10-24 | Spinnaker Networks, Inc. | Method and system for safely arbitrating disk drive ownership using a timestamp voting algorithm |
US8495413B2 (en) * | 2009-12-15 | 2013-07-23 | Unisys Corporation | System and method for providing a computer standby node |
-
2022
- 2022-04-18 CN CN202210404913.4A patent/CN114844809B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799394A (zh) * | 2012-06-29 | 2012-11-28 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
WO2014000430A1 (zh) * | 2012-06-29 | 2014-01-03 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
CN103051470A (zh) * | 2012-11-29 | 2013-04-17 | 中标软件有限公司 | 一种集群及其磁盘心跳的控制方法 |
CN103593266A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮(北京)电子信息产业有限公司 | 一种基于仲裁盘机制的双机热备方法 |
CN105095125A (zh) * | 2015-07-08 | 2015-11-25 | 北京飞杰信息技术有限公司 | 基于仲裁磁盘的高可用双控存储***及其运行方法 |
CN109947602A (zh) * | 2019-03-29 | 2019-06-28 | 浪潮商用机器有限公司 | 基于powerVM的分区恢复方法、装置、设备及介质 |
CN114265728A (zh) * | 2021-12-28 | 2022-04-01 | 湖南麒麟信安科技股份有限公司 | 存储***故障恢复方法、装置、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114844809A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114844809B (zh) | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 | |
EP1654645B1 (en) | Fast application notification in a clustered computing system | |
CN102402395B (zh) | 基于仲裁磁盘的高可用***不间断运行方法 | |
US10007715B1 (en) | Database replication | |
US9063787B2 (en) | System and method for using cluster level quorum to prevent split brain scenario in a data grid cluster | |
US7886295B2 (en) | Connection manager, method, system and program product for centrally managing computer applications | |
US8204979B2 (en) | Adaptive client/server control protocol | |
EP1550036B1 (en) | Method of solving a split-brain condition in a cluster computer system | |
US8365193B2 (en) | Recoverable asynchronous message driven processing in a multi-node system | |
US10819641B2 (en) | Highly available servers | |
JP2000293497A (ja) | クラスタ・ノード救援信号発生システム | |
US20090138751A1 (en) | De-centralized nodal failover handling | |
US20050234919A1 (en) | Cluster system and an error recovery method thereof | |
CN110928704B (zh) | 消息处理方法、消息处理***、服务器及计算机存储介质 | |
JP2000250833A (ja) | 複数サーバ運用管理における稼働情報取得方法およびそのプログラムを記録した記録媒体 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN110620684A (zh) | 一种存储双控防脑裂方法、***、终端及存储介质 | |
CN116112569A (zh) | 微服务调度方法及管理*** | |
CN110752939B (zh) | 一种业务进程故障处理方法、通知方法和装置 | |
JP5387761B2 (ja) | クラスタ再構築方法、クラスタ再構築装置及びクラスタ再構築プログラム | |
CN111147554A (zh) | 一种数据的存储方法、装置及计算机*** | |
CN112463514A (zh) | 分布式缓存集群的监测方法和装置 | |
US10116540B1 (en) | System, method, and computer program for managing data objects in a multiprocessor unit telecommunications network | |
CN117608932A (zh) | 一种延时任务的处理方法、装置、设备及介质 | |
CN116016521A (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 |