CN114579338A - 双机分布式仲裁系统及其仲裁方法 - Google Patents

双机分布式仲裁系统及其仲裁方法 Download PDF

Info

Publication number
CN114579338A
CN114579338A CN202210049916.0A CN202210049916A CN114579338A CN 114579338 A CN114579338 A CN 114579338A CN 202210049916 A CN202210049916 A CN 202210049916A CN 114579338 A CN114579338 A CN 114579338A
Authority
CN
China
Prior art keywords
host
arbitration
node
distributed
distributed arbitration
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
CN202210049916.0A
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.)
Shenzhen Yuanlian Technology Co ltd
Original Assignee
Shenzhen Yuanlian Technology 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 Shenzhen Yuanlian Technology Co ltd filed Critical Shenzhen Yuanlian Technology Co ltd
Priority to CN202210049916.0A priority Critical patent/CN114579338A/zh
Publication of CN114579338A publication Critical patent/CN114579338A/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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0793Remedial or corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种双机分布式仲裁系统及其仲裁方法,在第一主机和第二主机上分别设置独立的第一分布式仲裁节点和独立的第二分布式仲裁节点,并在第一主机和第二主机上都设置第三分布式仲裁节点,该第三分布式仲裁节点可使用虚拟IP在第一主机和第二主机上动态迁移,其中具体可基于第一主机上的第一分布式仲裁节点和第二主机上的第二分布式仲裁节点,采用双机可靠机制仲裁第一主机和第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点抢占虚拟IP对外服务,另一个为备分布式仲裁节点,从而在第一主机和第二主机上实现了分布式仲裁机制的应用,且不需要额外单独部署第三主机,因此在成本上至少可减少三分之一,并可应用于双主机场景,通用性更好。

Description

双机分布式仲裁系统及其仲裁方法
技术领域
本发明涉及通信领域,尤其涉及一种双机分布式仲裁系统及其仲裁方法。
背景技术
目前业界双机仲裁有keep alive,LVS等,支持两台机器情况下的可靠性,但是缺点是会出现脑裂。因此分布式仲裁机制目前的应用相对双机仲裁机制更为广泛。例如业界分布式仲裁机制有Paxos和Raft算法,软件实现上有zookeeper,Nacos等开源实现。但是分布式仲裁必须至少在三个以上主机的上分别设置仲裁节点,通过至少三个以上的主机上的至少三个仲裁节点参与投票,成本太高,且不适用于双主机的应用场景,通用性较差。
因此,如何解决分布式仲裁机制的应用存在成本高,通用性差是目前亟需解决的技术问题。
发明内容
本发明提供了一种双机分布式仲裁系统及其仲裁方法,解决分布式仲裁机制的应用存在成本高,通用性差的问题。
一种双机分布式仲裁系统,包括:
通信连接的第一主机和第二主机;
分别部署于所述第一主机和所述第二主机上的独立的第一分布式仲裁节点和独立的第二分布式仲裁节点;
在所述第一主机和所述第二主机上部署的第三分布式仲裁节点,所述第三分布式仲裁节点使用虚拟IP在所述第一主机和所述第二主机上动态迁移,包括:基于所述第一分布式仲裁节点和所述第二分布式仲裁节点,采用双机可靠机制仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点,所述主分布式仲裁节点抢占所述虚拟IP对外服务。
本发明实施例在第一主机和第二主机上分别设置独立的第一分布式仲裁节点和独立的第二分布式仲裁节点,并在第一主机和第二主机上都设置第三分布式仲裁节点,该第三分布式仲裁节点可使用虚拟IP在第一主机和第二主机上动态迁移,其中具体可基于第一主机上的第一分布式仲裁节点和第二主机上的第二分布式仲裁节点,采用双机可靠机制仲裁第一主机和第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点抢占虚拟IP对外服务,另一个为备分布式仲裁节点,从而在第一主机和第二主机上实现了分布式仲裁机制的应用,且不需要额外单独部署第三主机,因此在成本上至少可减少三分之一,并可应用于双主机场景,通用性更好。
在一些实施例中,所述双机可靠机制包括:
在所述第一主机上的所述第一分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点;
在所述第二主机上的所述第二分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第一主机上的所述第一分布式仲裁节点为主分布式仲裁节点。
在本实施例中,通过以上双机可靠机制保证主分布式仲裁节点尽量与leader分布式仲裁节点相斥,也即不在同一主机上,从而尽可能降低单机故障对分布式仲裁的影响,提升可靠性。
在一些实施例中,所述双机分布式仲裁系统还包括硬件仲裁设备,所述硬件仲裁设备分别与所述第一主机和所述第二主机通信连接;
所述硬件仲裁设备用于分别接收所述第一主机发送的第一仲裁结果和所述第二主机发送的仲裁结果。
在一些实施例中,所述硬件仲裁设备还用于在所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为主分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点;或所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点时,仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给所述第一主机和所述第二主机。
在本实施例中,硬件仲裁设备在第一主机和第二主机上的第三分布式仲裁节点都为主分布式仲裁节点时,仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给所述第一主机和所述第二主机,从而可解决双机仲裁存在的脑裂问题。
在一些实施例中,所述第一主机在还用于其自身部署的所述第三分布式仲裁节点仲裁为备分布式仲裁节点时,周期性的向所述硬件仲裁设备发送主节点申请请求;
所述第二主机还用于在其自身部署的所述第三分布式仲裁节点仲裁为备分布式仲裁节点时,周期性的向所述硬件仲裁设备发送主节点申请请求;
所述硬件仲裁设备还用于接收所述主节点申请请求,并向发送所述主节点申请请求的所述第一主机或所述第二主机发送主节点申请请求响应消息。
在本实施例中,第三分布式仲裁节点仲裁为备分布式仲裁节点的主机周期性的向硬件仲裁设备发送主节点申请请求,以尽可能在条件满足时直接切换为主分布式仲裁节点。
在一些实施例中,所述硬件仲裁设备包括仲裁单片机或仲裁电路。实现简单,成本低,且通用性好。
在一些实施例中,所述硬件仲裁设备通过串口、网线、通信总线或以太网分别与所述第一主机和所述第二主机通信连接。通信连接简单可靠。
基于同样的发明构思,本发明实施例还提供一种双机分布式仲裁系统的仲裁方法,所述双机分布式仲裁系统包括通信连接的第一主机和第二主机,分别部署于所述第一主机和所述第二主机上的独立的第一分布式仲裁节点和独立的第二分布式仲裁节点,以及分别在所述第一主机和所述第二主机上部署的第三分布式仲裁节点;所述仲裁方法包括所述第三分布式仲裁节点使用虚拟IP在所述第一主机和所述第二主机上动态迁移;
所述第三分布式仲裁节点使用虚拟IP在所述第一主机和所述第二主机上动态迁移包括:
基于所述第一分布式仲裁节点和独立的第二分布式仲裁节点,采用双机可靠机制仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点,所述主分布式仲裁节点抢占所述虚拟IP对外服务。从而在第一主机和第二主机上实现了分布式仲裁机制的应用,且不需要额外单独部署第三主机,因此在成本上至少可减少三分之一,并可应用于双主机场景,通用性更好。
在一些实施例中,所述双机可靠机制包括:
在所述第一主机上的所述第一分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点;
在所述第二主机上的所述第二分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第一主机上的所述第一分布式仲裁节点为主分布式仲裁节点。通过以上双机可靠机制保证主分布式仲裁节点尽量与leader分布式仲裁节点相斥,也即不在同一主机上,从而尽可能降低单机故障对分布式仲裁的影响,提升可靠性。
在一些实施例中,所述双机分布式仲裁系统还包括分别与所述第一主机和所述第二主机通信连接的硬件仲裁设备;
所述仲裁方法还包括:
所述硬件仲裁设备分别接收所述第一主机发送的第一仲裁结果和所述第二主机发送的仲裁结果;
所述硬件仲裁设备在所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为主分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点时;或所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点时,仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给所述第一主机和所述第二主机。从而可解决双机仲裁存在的脑裂问题。
附图说明
图1为本发明实施例提供的双机分布式仲裁系统的结构示意图;
图2为图1中第一主机上的第三分布式仲裁节点为主分布式仲裁节点的示意图;
图3为图1中第二主机上的第三分布式仲裁节点为主分布式仲裁节点的示意图;
图4为本发明实施例提供的另一双机分布式仲裁系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对目前业界双机仲裁存在会出现脑裂的问题,而分布式仲裁机制须至少在三个以上主机的上分别设置仲裁节点,通过至少三个以上的主机上的至少三个仲裁节点参与投票,成本太高,且不适用于双主机的应用场景,通用性较差的问题,本实施例了一种成本低、通用性更好的双机分布式仲裁系统,参见图1所示,其包括但不限于通信连接的第一主机IP1和第二主机IP2;应当理解的是,本实施例中第一主机IP1和第二主机IP2通信连接的方式可灵活设置,例如可采用但不限于WIFI、4G、5G等无线通讯连接方式,也可采用各种有线连接方式,本实施例对其不做限制。
本实施例中的第一主机IP1上部署有独立的第一分布式仲裁节点11,第二主机IP2上部署有独立的第二分布式仲裁节点12;且第一主机IP1和第二主机IP2上都部署的第三分布式仲裁节点13(参见图1所示,其中第一分布式仲裁节点11、第二分布式仲裁节点12和第三分布式仲裁节点13则组成动态3节点集群)。本实施例中的第三分布式仲裁节点13可使用虚拟IP(Vrtual IP Address,VIP,例如图1中的VIP3)在第一主机IP1和第二主机IP2上动态迁移,例如:基于第一主机IP1上的第一分布式仲裁节点11和第二主机IP2上的第二分布式仲裁节点12,采用双机可靠机制仲裁第一主机IP1和第二主机IP2上的其中一个第三分布式仲裁节点13为主分布式仲裁节点,另一个为备分布式仲裁节点,而主分布式仲裁节点则抢占VIP3对外服务。也即通过双机可靠性机制确保第一主机IP1和第二主机IP2上的第三分布式仲裁节点13只有一个是主,另一个是备,从而在第一主机IP1和第二主机IP2上实现了分布式仲裁机制的应用,且不需要额外单独部署第三主机,因此在成本上至少可减少三分之一,并可应用于双主机场景,整体网络架构更简单,通用性更好。
本实施例中的双机可靠机制可灵活设置,只要能实现上述目的即可。例如一种示例中,双机可靠机制可包括在第一主机IP1上的第一分布式仲裁节点11为leader分布式仲裁节点时,仲裁第一主机IP1上的第三分布式仲裁节点13为备分布式仲裁节点,第二主机IP2上的第三分布式仲裁节点13为主分布式仲裁节点,例如参见图2所示。
在第二主机IP2上的第二分布式仲裁节点12为leader分布式仲裁节点时,仲裁第二主机IP2上的第三分布式仲裁节点13为备分布式仲裁节点,第一主机IP1上的第一分布式仲裁节点11为主分布式仲裁节点,例如参见图3所示。本示例中通过以上双机可靠机制保证主分布式仲裁节点尽量与leader分布式仲裁节点相斥,也即不在同一主机上,从而尽可能降低单机故障对分布式仲裁的影响,提升可靠性。
在又一示例中,双机可靠机制可包括在第一主机IP1上的第一分布式仲裁节点11为leader分布式仲裁节点时,仲裁第一主机IP1上的第三分布式仲裁节点13为主分布式仲裁节点,第二主机IP2上的第三分布式仲裁节点13为备分布式仲裁节点;在第二主机IP2上的第二分布式仲裁节点12为leader分布式仲裁节点时,仲裁第二主机IP2上的第三分布式仲裁节点13为主分布式仲裁节点,第一主机IP1上的第一分布式仲裁节点11为备分布式仲裁节点。这种机制未保证主分布式仲裁节点尽量与leader分布式仲裁节点相斥,也即在同一主机上,虽然其不能降低单机故障对分布式仲裁的影响,但理论上也可行,因此可根据具体应用需求灵活选择。
在本实施例的一些示例中,为了解决双机仲裁存在会出现脑裂的问题,还可通过为双机分布式仲裁系统设置硬件仲裁设备2,参见图4所示。硬件仲裁设备2可以在硬件仲裁设备2在第一主机IP1和第二主机IP2上的第三分布式仲裁节点13都为主分布式仲裁节点时,仲裁第一主机IP1和第二主机IP2上的其中一个第三分布式仲裁节点13为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给第一主机IP1和第二主机IP2,从而可解决双机仲裁存在的脑裂问题。在本示例中,硬件仲裁设备2分别与第一主机IP1和第二主机IP2通信连接,本实施例中硬件仲裁设备2可采用但不限于串口、网线、通信总线或以太网分别与第一主机IP1和第二主机IP2通信连接,通信连接简单可靠,且通用性好成本低。本实施例中的硬件仲裁设备2用于分别接收第一主机IP1发送的第一仲裁结果和第二主机IP2发送的仲裁结果,在第一仲裁结果为第一主机IP1上的第三分布式仲裁节点13为主分布式仲裁节点,第二仲裁结果为第二主机IP2上的第三分布式仲裁节点13也为主分布式仲裁节点时,硬件仲裁设备2仲裁第一主机IP1和第二主机IP2上的其中一个第三分布式仲裁节点13为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给第一主机IP1和第二主机IP2。例如硬件仲裁设备2仲裁第一主机IP1上的第三分布式仲裁节点13为主分布式仲裁节点,仲裁第二主机IP2上的第三分布式仲裁节点13为备分布式仲裁节点,并分别通知第一主机IP1和第二主机IP2,第二主机IP2则将其上的第三分布式仲裁节点13由主分布式仲裁节点切换为备分布式仲裁节点,从而可解决双机仲裁存在的脑裂问题。
在一些应用场景中,当第一主机IP1和第二主机IP2存在通信异常而可能导致第一主机IP1发送的第一仲裁结果为第一主机IP1上的第三分布式仲裁节点13为备分布式仲裁节点,第二主机IP2上的第二仲裁结果为第二主机IP2上的第三分布式仲裁节点13为备分布式仲裁节点时,硬件仲裁设备2也可仲裁第一主机IP1和第二主机IP2上的其中一个第三分布式仲裁节点13为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给第一主机IP1和第二主机IP2。例如硬件仲裁设备2仲裁第一主机IP1上的第三分布式仲裁节点13为备分布式仲裁节点,仲裁第二主机IP2上的第三分布式仲裁节点13为主分布式仲裁节点,并分别通知第一主机IP1和第二主机IP2,第二主机IP2则将其上的第三分布式仲裁节点13由备分布式仲裁节点切换为主分布式仲裁节点。当然在一些应用场景中如果不存在上述情况的发生,则可省略硬件仲裁设备2的该功能。
在一些应用场景中,硬件仲裁设备2包括仲裁单片机或仲裁电路,也即硬件仲裁设备2可采用但不限于实现简单,成本低的且能实现仲裁功能的各种单片机或电路,通用性好。当然,本实施例中的裁单片机或仲裁电路也可替换成能实现仲裁功能的其他芯片或设备,在此不再一一赘述。在本应用场景中,第一主机IP1和第二主机IP2采用的双机仲裁机制可为keepalive(应当理解的是keepalive也可等同替换为其他双机仲裁机制,在此不再一一赘述),例如参见图1至图4所示。在本应用场景中,在第一主机IP1和第二主机IP2通信正常的情况下,可优选自己仲裁,并把仲裁结果(也即上述第一仲裁结果和第二仲裁结果)发给硬件仲裁设备2。比如第一仲裁结果为第一主机IP1中第三分布式仲裁节点13为主布式仲裁节点,则keepalive1与硬件仲裁设备2交互仲裁申请主,第二仲裁结果为第二主机IP2中第三分布式仲裁节点13为备布式仲裁节点,则keepalive2与硬件仲裁设备2交互仲裁申请备。在第一主机IP1和第二主机IP2通信异常的情况下,第一主机IP1和第二主机IP2则以硬件仲裁设备2的仲裁结果(也即标准仲裁结果)为准。比如第一主机IP1和第二主机IP2中第三分布式仲裁节点13都认为自己为主分布式仲裁节点,但硬件仲裁设备2仲裁第一主机IP1中的第三分布式仲裁节点13为主分布式仲裁节点,第二主机IP2中的第三分布式仲裁节点13为备分布式仲裁节点,那么第二主机IP2的第三分布式仲裁节点13就需要切换为备分布式仲裁节点(也即keepalive2降为备)。
在本实施例的一些示例中,第一主机IP1在还用于其自身部署的第三分布式仲裁节点13仲裁为备分布式仲裁节点时,周期性的向硬件仲裁设备2发送主节点申请请求;第二主机IP2还用于在其自身部署的第三分布式仲裁节点13仲裁为备分布式仲裁节点时,周期性的向硬件仲裁设备2发送主节点申请请求;硬件仲裁设备2还用于接收主节点申请请求,并向发送主节点申请请求的第一主机IP1或第二主机IP2发送主节点申请请求响应消息。这样备分布式仲裁节点的周期性找硬件仲裁设备2仲裁申请为主,如果申请成功,就升为主分布式仲裁节点。
本实施例还提供一种如上各示例所示的双机分布式仲裁系统的仲裁方法,其中第三分布式仲裁节点13使用虚拟IP在第一主机IP1和第二主机IP2上动态迁移包括:基于第一分布式仲裁节点11和独立的第二分布式仲裁节点12,采用双机可靠机制仲裁第一主机IP1和第二主机IP2上的其中一个第三分布式仲裁节点13为主分布式仲裁节点,另一个为备分布式仲裁节点,主分布式仲裁节点抢占虚拟IP对外服务。从而在第一主机IP1和第二主机IP2上实现了分布式仲裁机制的应用,且不需要额外单独部署第三主机,因此在成本上至少可减少三分之一,并可应用于双主机场景,通用性更好。例如,一种应用场景中所采用的双机可靠机制包括:在第一主机IP1上的第一分布式仲裁节点11为leader分布式仲裁节点时,仲裁第一主机IP1上的第三分布式仲裁节点13为主分布式仲裁节点,第二主机IP2上的第三分布式仲裁节点13为备分布式仲裁节点;在第二主机IP2上的第二分布式仲裁节点12为leader分布式仲裁节点时,仲裁第二主机IP2上的第三分布式仲裁节点13为主分布式仲裁节点,第一主机IP1上的第一分布式仲裁节点11为备分布式仲裁节点。通过以上双机可靠机制保证主分布式仲裁节点尽量与leader分布式仲裁节点相斥,也即不在同一主机上,从而尽可能降低单机故障对分布式仲裁的影响,提升可靠性。应当理解的是,本实施例中leader分布式仲裁节点的确定/仲裁可采用但不限于现有的各种leader分布式仲裁节点的确定/仲裁机制,在此不再赘述。
在本实施例的一些示例中,双机分布式仲裁系统的仲裁方法仲裁方法还包括:硬件仲裁设备2分别接收第一主机IP1发送的第一仲裁结果和第二主机IP2发送的仲裁结果;硬件仲裁设备2在第一仲裁结果为第一主机IP1上的第三分布式仲裁节点13为主分布式仲裁节点,第二仲裁结果为第二主机IP2上的第三分布式仲裁节点13为主分布式仲裁节点;或第一仲裁结果为第一主机IP1上的第三分布式仲裁节点13为备分布式仲裁节点,第二仲裁结果为第二主机IP2上的第三分布式仲裁节点13为备分布式仲裁节点时,仲裁第一主机IP1和第二主机IP2上的其中一个第三分布式仲裁节点13为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给第一主机IP1和第二主机IP2。从而可解决双机仲裁存在的脑裂问题。
本实施例还提供了一种通信设备,该通信设备可以为第一主机或第二主机。本实施例中的通信设备可为但不限于边缘计算设备,也可为其他类型的服务器或计算机,其包括处理器、存储器及通信总线,其中:通信总线用于实现处理器和存储器之间的连接通信;处理器用于执行存储器中存储的一个或者多个计算机程序,以执行上述的双机分布式仲裁系统的仲裁方法中的至少一个步骤。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以执行上述的双机分布式仲裁系统的仲裁方法中的至少一个步骤。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种双机分布式仲裁系统,其特征在于,包括:
通信连接的第一主机和第二主机;
分别部署于所述第一主机和所述第二主机上的独立的第一分布式仲裁节点和独立的第二分布式仲裁节点;
在所述第一主机和所述第二主机上部署的第三分布式仲裁节点,所述第三分布式仲裁节点使用虚拟IP在所述第一主机和所述第二主机上动态迁移,包括:基于所述第一分布式仲裁节点和所述第二分布式仲裁节点,采用双机可靠机制仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点,所述主分布式仲裁节点抢占所述虚拟IP对外服务。
2.如权利要求1所述的双机分布式仲裁系统,其特征在于,所述双机可靠机制包括:
在所述第一主机上的所述第一分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点;
在所述第二主机上的所述第二分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第一主机上的所述第一分布式仲裁节点为主分布式仲裁节点。
3.如权利要求1或2所述的双机分布式仲裁系统,其特征在于,所述双机分布式仲裁系统还包括硬件仲裁设备,所述硬件仲裁设备分别与所述第一主机和所述第二主机通信连接;
所述硬件仲裁设备用于分别接收所述第一主机发送的第一仲裁结果和所述第二主机发送的仲裁结果。
4.如权利要求3所述的双机分布式仲裁系统,其特征在于,所述硬件仲裁设备还用于在所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为主分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点;或所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点时,仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给所述第一主机和所述第二主机。
5.如权利要求3所述的双机分布式仲裁系统,其特征在于,所述第一主机在还用于其自身部署的所述第三分布式仲裁节点仲裁为备分布式仲裁节点时,周期性的向所述硬件仲裁设备发送主节点申请请求;
所述第二主机还用于在其自身部署的所述第三分布式仲裁节点仲裁为备分布式仲裁节点时,周期性的向所述硬件仲裁设备发送主节点申请请求;
所述硬件仲裁设备还用于接收所述主节点申请请求,并向发送所述主节点申请请求的所述第一主机或所述第二主机发送主节点申请请求响应消息。
6.如权利要求3所述的双机分布式仲裁系统,其特征在于,所述硬件仲裁设备包括仲裁单片机或仲裁电路。
7.如权利要求3所述的双机分布式仲裁系统,其特征在于,所述硬件仲裁设备通过串口、网线、通信总线或以太网分别与所述第一主机和所述第二主机通信连接。
8.一种双机分布式仲裁系统的仲裁方法,其特征在于,所述双机分布式仲裁系统包括通信连接的第一主机和第二主机,分别部署于所述第一主机和所述第二主机上的独立的第一分布式仲裁节点和独立的第二分布式仲裁节点,以及分别在所述第一主机和所述第二主机上部署的第三分布式仲裁节点;所述仲裁方法包括所述第三分布式仲裁节点使用虚拟IP在所述第一主机和所述第二主机上动态迁移;
所述第三分布式仲裁节点使用虚拟IP在所述第一主机和所述第二主机上动态迁移包括:
基于所述第一分布式仲裁节点和独立的第二分布式仲裁节点,采用双机可靠机制仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点,所述主分布式仲裁节点抢占所述虚拟IP对外服务。
9.如权利要求8所述的双机分布式仲裁系统的仲裁方法,其特征在于,所述双机可靠机制包括:
在所述第一主机上的所述第一分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点;
在所述第二主机上的所述第二分布式仲裁节点为leader分布式仲裁节点时,仲裁所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第一主机上的所述第一分布式仲裁节点为主分布式仲裁节点。
10.如权利要求8或9所述的双机分布式仲裁系统的仲裁方法,其特征在于,所述双机分布式仲裁系统还包括分别与所述第一主机和所述第二主机通信连接的硬件仲裁设备;
所述仲裁方法还包括:
所述硬件仲裁设备分别接收所述第一主机发送的第一仲裁结果和所述第二主机发送的仲裁结果;
所述硬件仲裁设备在所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为主分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为主分布式仲裁节点时;或所述第一仲裁结果为所述第一主机上的所述第三分布式仲裁节点为备分布式仲裁节点,所述第二仲裁结果为所述第二主机上的所述第三分布式仲裁节点为备分布式仲裁节点时,仲裁所述第一主机和所述第二主机上的其中一个第三分布式仲裁节点为主分布式仲裁节点,另一个为备分布式仲裁节点作为标准仲裁结果,并将标准仲裁结果分别发送给所述第一主机和所述第二主机。
CN202210049916.0A 2022-01-17 2022-01-17 双机分布式仲裁系统及其仲裁方法 Pending CN114579338A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210049916.0A CN114579338A (zh) 2022-01-17 2022-01-17 双机分布式仲裁系统及其仲裁方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210049916.0A CN114579338A (zh) 2022-01-17 2022-01-17 双机分布式仲裁系统及其仲裁方法

Publications (1)

Publication Number Publication Date
CN114579338A true CN114579338A (zh) 2022-06-03

Family

ID=81772606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210049916.0A Pending CN114579338A (zh) 2022-01-17 2022-01-17 双机分布式仲裁系统及其仲裁方法

Country Status (1)

Country Link
CN (1) CN114579338A (zh)

Similar Documents

Publication Publication Date Title
CN110764963B (zh) 一种服务异常处理方法、装置及设备
GB2407887A (en) Automatically modifying fail-over configuration of back-up devices
CN107508694B (zh) 一种集群内的节点管理方法及节点设备
CN112350918B (zh) 一种业务流量调度方法、装置、设备及存储介质
US11349706B2 (en) Two-channel-based high-availability
CN111708560A (zh) 数据库高可用管理系统的自动化部署方法及装置
US11627036B2 (en) Smart failover of redundant network IP based on redundant computer
EP3618350A1 (en) Protection switching method, device and system
CN111585835B (zh) 一种带外管理系统的控制方法、装置和存储介质
US11848995B2 (en) Failover prevention in a high availability system during traffic congestion
CN111147274B (zh) 为集群解决方案创建高度可用的仲裁集的系统和方法
CN113179295B (zh) 报文处理方法及装置
CN108810183B (zh) 冲突mac地址的处理方法、装置和机器可读存储介质
CN111052092A (zh) 集群系统、集群系统控制方法、服务器设备、控制方法和存储程序的非暂时性计算机可读介质
CN110661599B (zh) 一种主、备节点间的ha实现方法、装置及存储介质
CN114579338A (zh) 双机分布式仲裁系统及其仲裁方法
CN113596195B (zh) 公共ip地址管理方法、装置、主节点及存储介质
CN112311671B (zh) 向交换芯片下发聚合链路配置的方法、装置、介质及设备
CN114840495A (zh) 一种数据库集群防脑裂的方法、存储介质与设备
CN115242700A (zh) 一种通信传输方法、装置及系统
US20190370047A1 (en) Computer system and computer
CN110442094B (zh) 一种分布式系统仲裁方法及装置
US11190394B2 (en) Soft-failure protection for multicast communications
CN117395316B (zh) 出口流量管理方法、设备及可读存储介质
US20150154083A1 (en) Information processing device and recovery management method

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