CN112835749B - 一种双机热备容灾的软件自动切换控制方法 - Google Patents

一种双机热备容灾的软件自动切换控制方法 Download PDF

Info

Publication number
CN112835749B
CN112835749B CN202110207402.9A CN202110207402A CN112835749B CN 112835749 B CN112835749 B CN 112835749B CN 202110207402 A CN202110207402 A CN 202110207402A CN 112835749 B CN112835749 B CN 112835749B
Authority
CN
China
Prior art keywords
server
standby
host
service link
heartbeat
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
Application number
CN202110207402.9A
Other languages
English (en)
Other versions
CN112835749A (zh
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.)
32039 Unit Of Chinese Pla
Original Assignee
32039 Unit Of Chinese Pla
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 32039 Unit Of Chinese Pla filed Critical 32039 Unit Of Chinese Pla
Priority to CN202110207402.9A priority Critical patent/CN112835749B/zh
Publication of CN112835749A publication Critical patent/CN112835749A/zh
Application granted granted Critical
Publication of CN112835749B publication Critical patent/CN112835749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供了一种双机热备容灾的软件自动切换控制方法,涉及通信的技术领域,包括在获取到目标业务链路的工作状态之后,若目标业务链路从有效状态切换至失效状态,则服务器主机切换为新服务器备机,并判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧,若是,则向服务器备机发送切换为新服务器主机的请求,以使其切换为新服务器主机。本发明方法中,服务器主机和服务器备机可基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路,基于以上三条链路和上述切换控制策略,可以减少双工切换次数,提高单个服务器节点的可靠性,进而提高信息应用系统可靠性,从而缓解现有技术中的双机热备控制方法存在的可靠性低的技术问题。

Description

一种双机热备容灾的软件自动切换控制方法
技术领域
本发明涉及通信的技术领域,尤其是涉及一种双机热备容灾的软件自动切换控制方法。
背景技术
在信息应用系统中,为避免单个服务器节点出现异常导致整个系统的业务中断,通常会将关键节点配置为双机热备工作方式,即单个节点上配置主机和备机两台服务器,且主机和备机上安装通用双工软件(例如keepalive软件),在这种工作方式下,正常工作过程中,服务器主机处于工作状态,服务器备机处于待机状态;当主机出现异常时,备机会自动切换为主机,从而保证业务的连续性。但是,由于通用双工软件在单条链路出现异常时,即会立即进行双工切换(主机切换为备机,备机切换为主机),这样极易导致单个节点的可靠性不足,进而导致整个系统的可靠性不足。
综上所述,现有技术中的双机热备控制方法存在可靠性低的技术问题。
发明内容
本发明的目的在于提供一种双机热备容灾的软件自动切换控制方法,以缓解了现有技术中的双机热备控制方法存在的可靠性低的技术问题。
第一方面,本发明提供一种双机热备容灾的软件自动切换控制方法,应用于服务器主机,所述方法包括:获取目标业务链路的工作状态;其中,所述目标业务链路包括:主业务链路和备业务链路;若所述目标业务链路从有效状态切换至失效状态,则所述服务器主机切换为新服务器备机;判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:所述主业务链路,所述备业务链路和心跳链路;若是,则向所述服务器备机发送切换为新服务器主机的请求,以使所述服务器备机切换为新服务器主机。
在可选的实施方式中,所述方法还包括:在接收到心跳请求帧的情况下,判断本机优先级是否低于心跳请求帧发送方的优先级;若是,则所述服务器主机切换为新服务器备机。
在可选的实施方式中,所述方法还包括:若否,则判断本机优先级是否高于所述心跳请求帧发送方的优先级;若本机优先级高于所述心跳请求帧发送方的优先级,则所述服务器主机维持主机状态;若本机优先级与所述心跳请求帧发送方的优先级相同,则判断本机ID是否为预设主机ID;若本机ID是预设主机ID,则所述服务器主机维持主机状态;若本机ID不是预设主机ID,则所述服务器主机切换为新服务器备机。
第二方面,本发明提供一种双机热备容灾的软件自动切换控制方法,应用于服务器备机,所述方法包括:判断预设时间段之内是否有机会接收到服务器主机的心跳请求帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路;若否,则判断目标业务链路是否失效;其中,所述目标业务链路包括:所述主业务链路和所述备业务链路;若所述目标业务链路失效,则所述服务器备机维持备机状态。
在可选的实施方式中,所述方法还包括:若所述目标业务链路有效,则所述服务器备机切换为新服务器主机。
在可选的实施方式中,所述方法还包括:在接收到所述服务器主机发送的切换为新服务器主机的请求的情况下,所述服务器备机切换为新服务器主机。
第三方面,本发明提供一种双机热备容灾的软件自动切换控制装置,应用于服务器主机,所述装置包括:获取模块,用于获取目标业务链路的工作状态;其中,所述目标业务链路包括:主业务链路和备业务链路;第一切换模块,若所述目标业务链路从有效状态切换至失效状态,则所述服务器主机切换为新服务器备机;第一判断模块,用于判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:所述主业务链路,所述备业务链路和心跳链路;发送模块,若是,则向所述服务器备机发送切换为新服务器主机的请求,以使所述服务器备机切换为新服务器主机。
第四方面,本发明提供一种双机热备容灾的软件自动切换控制装置,应用于服务器备机,所述装置包括:第五判断模块,用于判断预设时间段之内是否有机会接收到服务器主机的心跳请求帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路;第六判断模块,若否,则判断目标业务链路是否失效;其中,所述目标业务链路包括:所述主业务链路和所述备业务链路;第三维持模块,若所述目标业务链路失效,则所述服务器备机维持备机状态。
第五方面,本发明提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式中任一项所述的方法的步骤。
第六方面,本发明提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行前述实施方式中任一项所述的方法。
本发明提供的双机热备容灾的软件自动切换控制方法,应用于服务器主机,在服务器主机获取到目标业务链路的工作状态之后,若确定目标业务链路从有效状态切换至失效状态,则服务器主机将切换为新服务器备机,并进一步判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧,若是,则向服务器备机发送切换为新服务器主机的请求,以使服务器备机切换为新服务器主机。本发明方法中,服务器主机和服务器备机可基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路,基于以上三条链路以及上述切换控制策略,可以有效的减少双工切换次数,提高单个服务器节点的可靠性,进而提高信息应用系统可靠性,从而缓解现有技术中的双机热备控制方法存在的可靠性低的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种双机热备容灾的软件自动切换控制方法的流程图;
图2为本发明实施例提供的一种可选的双机热备容灾的软件自动切换控制方法的流程图;
图3为本发明实施例提供的另一种双机热备容灾的软件自动切换控制方法的流程图;
图4为本发明实施例提供的一种软双工管理软件的组成结构示意图;
图5为本发明实施例提供的一种软双工管理软件的控制流示意图;
图6为本发明实施例提供的一种软双工管理软件的数据流示意图;
图7为本发明实施例提供的一种软双工管理软件的用户界面示意图;
图8为本发明实施例提供的一种双机热备容灾的软件自动切换控制装置的功能模块图;
图9为本发明实施例提供的另一种双机热备容灾的软件自动切换控制装置的功能模块图;
图10为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
在信息应用系统中,为了提高系统可靠性,通常会将关键服务器节点配置为双机热备工作方式,并在服务器主机和服务器备机上安装通用双工软件(例如keepalive软件)。现有通用双工软件一般采用单链路工作模式,在单条链路出现异常时,即会立即进行双工切换(主机切换为备机,备机切换为主机),但由于双工切换过程中产生的时延会对系统服务造成影响,因此单个节点不可靠就会导致整个系统的可靠性不足。也即,现有技术中的双机热备控制方法存在可靠性低的技术问题。有鉴于此,本发明实施例提供了一种双机热备容灾的软件自动切换控制方法,用以缓解上文中所提出的技术问题。
实施例一
图1为本发明实施例提供的一种双机热备容灾的软件自动切换控制方法的流程图,本实施例所提供的方法应用于服务器主机,如图1所示,该方法具体包括如下步骤:
步骤S102,获取目标业务链路的工作状态。
本实施例一所提供的方法应用于服务器主机,该方法的执行主体为安装在服务器主机上的软双工管理软件,该软件提出了以业务链路为主,心跳链路为辅的自动切换控制策略,以保障双机热备模式下系统工作的可靠性。
具体的,在本发明实施例中,服务器主机和服务器备机基于以下链路进行心跳数据帧(心跳请求帧或心跳应答帧)交互:主业务链路,备业务链路和心跳链路。正常情况下,心跳数据帧的交互由服务器主机周期性的发起,单次交互过程中,服务器主机同时通过主业务链路,备业务链路和心跳链路三条链路向服务器备机发送心跳请求帧,备机在接收到第一个心跳请求帧之后,即向服务器主机发送心跳应答帧。如果服务器主、备机都能正常接收到对方的请求或者应答帧,表示双方的工作状态稳定,此时不需要进行切换;如果有一方不能正常接收对方的心跳数据帧,则按照以下切换控制策略进行切换操作。
服务器主机工作过程中,需要周期性的获取目标业务链路的工作状态,其中,目标业务链路包括:主业务链路和备业务链路。具体为周期性ping业务网关,也即,周期性向业务网关发送状态查询命令,以实现主、备业务链路联通性的周期性巡检,一般地,主业务链路上设有主业务网关,备业务链路上设有备业务网关。
业务链路工作状态的判断过程如下:向业务网关发送状态查询命令,如果在规定的时间内(可根据实际需求进行配置,例如默认125毫秒)接收不到业务网关的应答,则重复发送查询命令;如果连续多次(可根据实际需求进行配置,本发明实施例不对次数进行具体限制)发送状态查询命令后都收不到业务网关的应答,则表示业务链路失效;反之,表示业务链路有效,因此,业务链路的工作状态包括以下任一种:有效状态,失效状态。
步骤S104,若目标业务链路从有效状态切换至失效状态,则服务器主机切换为新服务器备机。
步骤S106,判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧。
若是,则执行步骤S108;若否,则不执行步骤S108。
步骤S108,向服务器备机发送切换为新服务器主机的请求,以使服务器备机切换为新服务器主机。
具体的,如果确定目标业务链路从有效状态切换至失效状态,那么此时需要将本机(实施例一中本机代表服务器主机)切换为新服务器备机,且目标业务链路的其他状态都不会触发服务器主机切换为新服务器备机。
进一步的,通过上文中的描述可知,服务器主机和服务器备机可通过三条链路进行心跳数据帧交互,在目标业务链路失效的情况下,如果心跳链路有效,那么为了提高双工切换效率,如果此时服务器备机在线,服务器主机可以立即通过心跳链路通知服务器备机切换为新服务器主机。
因此,在服务器主机切换为新服务器备机之后,还需要进一步判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧,如果预设时间段之内能够接收到服务器备机的心跳应答帧,则说明服务器备机在线,进而可以向服务器备机发送切换为新服务器主机的请求,以使服务器备机切换为新服务器主机。但是,如果服务器备机不在线,那么此时该服务器节点应处于双备机状态,也即,原服务器主机切换为新服务器备机,原服务器备机仍然维持备机状态。
通过上文中的描述可知,与服务器主机和服务器备机仅通过单条链路进行通信的方法相比,如果单条链路拥塞,服务器备机切换为新服务器主机首先应满足:预设时间段之内未能接收到服务器主机的心跳请求帧。也即,使用传统通用双工软件,备机切换为主机至少要等待预设时间段之后;而使用本发明实施例提供的方法,虽然目标业务链路从有效状态切换至失效状态,但是心跳链路处于有效状态,那么服务器主机可以通过心跳链路向服务器备机发送切换为新服务器主机的请求,以使服务器备机立即切换为新服务器主机,也即,双工切换无需等待。显然,与传统单条链路通信方法相比,本发明实施例提供的双工切换控制策略能够更快速的对异常状况作出响应,基于此来提升单个服务器节点的可靠性,进而提升系统可靠性。
本发明提供的双机热备容灾的软件自动切换控制方法,应用于服务器主机,在服务器主机获取到目标业务链路的工作状态之后,若确定目标业务链路从有效状态切换至失效状态,则服务器主机将切换为新服务器备机,并进一步判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧,若是,则向服务器备机发送切换为新服务器主机的请求,以使服务器备机切换为新服务器主机。本发明方法中,服务器主机和服务器备机可基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路,基于以上三条链路以及上述切换控制策略,可以有效的减少双工切换次数,提高单个服务器节点的可靠性,进而提高信息应用系统可靠性,从而缓解现有技术中的双机热备控制方法存在的可靠性低的技术问题。
上文中对本发明实施例提供的双机热备容灾的软件自动切换控制方法的部分切换控制策略进行了详细的描述,下面对该方法所涉及的其他方法步骤进行介绍。
在一个可选的实施方式中,如图2所示,本发明方法还包括如下步骤:
步骤S201,在接收到心跳请求帧的情况下,判断本机优先级是否低于心跳请求帧发送方的优先级。
若是,则执行步骤S202;若否,则执行步骤S203。
步骤S202,服务器主机切换为新服务器备机。
步骤S203,判断本机优先级是否高于心跳请求帧发送方的优先级。
若本机优先级高于心跳请求帧发送方的优先级,则执行步骤S204;若本机优先级与心跳请求帧发送方的优先级相同,则执行步骤S205。
步骤S204,服务器主机维持主机状态。
步骤S205,判断本机ID是否为预设主机ID。
若本机ID是预设主机ID,则执行步骤S206;若本机ID不是预设主机ID,则执行步骤S207。
步骤S206,服务器主机维持主机状态。
步骤S207,服务器主机切换为新服务器备机。
具体的,系统工作过程中,如果心跳数据帧被防火墙拦截,或者交换机拥塞导致心跳数据帧发送超时,那么系统就会出现双主机的情况,也即,本机为服务器主机,该节点上配置的另一个服务器也同样是主机。作为主机,就会向该节点上的另一个服务器发送心跳请求帧。因此,为了解决双主机情况,当本机接收到心跳请求帧的情况下,首先判断本机优先级是否低于心跳请求帧发送方的优先级,优先级是由安装在服务器上的软双工管理软件设定的,例如,优先级可以为具体数值,在服务器本机的内存中进行维护,心跳数据帧在进行交互时,主机、备机都需要发送自己的优先级。
如果本机优先级低于心跳请求帧发送方(节点上配置的另一个服务器)的优先级,那么此时,服务器主机(本机)需要切换为新服务器备机;如果本机优先级不低于(包括高于,等于)心跳请求帧发送方的优先级,那么需要进一步判断本机优先级是否高于心跳请求帧发送方的优先级;如果高于,则服务器主机(本机)可维持主机状态,不进行双工切换;如果不高于(在此情况下等同于优先级相同),则还要再进一步基于本机ID来判断是否需要进行双工切换。具体的,如果本机ID是预设主机ID,那么服务器主机(本机)维持主机状态;反之,本机ID不是预设主机ID,则服务器主机(本机)需要切换为新服务器备机。
例如,预设主机ID为1,预设备机ID为2,且本机ID为1,那么在出现双主机的情况时,若节点上配置的两台服务器优先级相同,基于以上切换控制策略,本机将维持主机状态,节点上配置的另一个服务器将切换至备机状态。上述预设主机ID为用户根据实际需求预先配置的参数,本发明实施例不对其进行具体限制。
实施例二
图3为本发明实施例提供的另一种双机热备容灾的软件自动切换控制方法的流程图,本实施例所提供的方法应用于服务器备机,如图3所示,该方法具体包括如下步骤:
步骤S302,判断预设时间段之内是否有机会接收到服务器主机的心跳请求帧。
具体的,本实施例二所提供的方法应用于服务器备机,该方法的执行主体为安装在服务器备机上的软双工管理软件,结合上述实施例一,软双工管理软件针对主机、备机分别设计了相应的切换策略,软双工管理软件根据运行主体的不同而执行不同的切换控制逻辑。
系统运行过程中,服务器备机需要判断预设时间段之内是否有机会接收到服务器主机的心跳请求帧,在本发明实施例中,服务器主机和服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路。
若否,则执行步骤S304;若是,则服务器备机维持备机状态。
步骤S304,判断目标业务链路是否失效。
若目标业务链路失效,则执行步骤S306。
步骤S306,服务器备机维持备机状态。
在本发明实施例中,如果服务器备机在预设时间段之内能够接收到服务器主机的心跳请求帧,则说明服务器主机心跳正常,服务器备机维持备机状态;如果服务器备机在预设时间段之内未能接收到服务器主机的心跳请求帧,也即,备机丢失主机心跳,则需要确认引发该异常情况的原因,一方面,当目标业务链路处于失效状态时,服务器主机将切换为新服务器备机,此时不会再对外发送心跳请求帧;另一方面,如果服务器主机宕机,则服务器主机不能再对外发送心跳请求帧,因此,当服务器备机丢失主机心跳时,需要进一步判断目标业务链路是否失效,其中,目标业务链路包括:主业务链路和备业务链路。如果确认目标业务链路失效,则服务器备机将维持备机状态,不进行双工切换。
将本发明实施例提供的方法与传统通用双工软件的切换控制方法相比,若由于链路失效使得备机丢失主机心跳,使用通用双工软件的切换控制方法将使得备机自动切换为主机,且切换结束,主机与备机还将反复进行双工切换;而使用本发明实施例所提供的方法,当目标业务链路失效时,服务器备机不会切换为新服务器主机。显然,本发明实施例提供的方法的可靠性更高。
本发明实施例提供的双机热备容灾的软件自动切换控制方法,应用于服务器备机,服务器主机和服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路,基于以上三条链路以及上述切换控制策略,可以有效的减少双工切换次数,提高单个服务器节点的可靠性,进而提高信息应用系统可靠性,从而缓解现有技术中的双机热备控制方法存在的可靠性低的技术问题。
在一个可选的实施方式中,本发明方法还包括如下步骤:
若目标业务链路有效,则执行步骤S307。
步骤S307,服务器备机切换为新服务器主机。
通过上文中的描述可知,当目标业务链路失效时,服务器备机不会进行双工切换。但如果服务器备机丢失主机心跳,且目标业务链路有效,则说明服务器主机宕机,此时,服务器备机需要切换为新服务器主机,进而维持该服务器节点的正常工作。
在一个可选的实施方式中,本发明方法还包括如下内容:
在接收到服务器主机发送的切换为新服务器主机的请求的情况下,服务器备机切换为新服务器主机。
在本发明实施例中,备机在线时,如果接收到服务器主机发送的切换为新服务器主机的请求,则服务器备机将立即切换为新服务器主机。通过上文中的描述可知,如果服务器备机检测到丢失主机心跳,且确定目标业务链路失效,则服务器备机将维持备机状态;但是当服务器主机检测到目标业务链路失效时,如果服务器备机在线,服务器主机又会向服务器备机发送切换为新服务器主机的请求,以使服务器备机切换为新服务器主机。因此当服务器主、备机之间心跳正常,但目标业务链路处于失效状态时,服务器备机需要根据检测到目标业务链路失效,以及接收到切换为新服务器主机命令(下文中简称切换命令)的先后顺序来确定最终的工作状态。
如果检测到目标业务链路失效先于切换命令的接收,则服务器B(备机)检测到目标业务链路失效后,首先将维持备机状态;接下来再接收到切换命令,此时服务器B(备机)将切换为服务器主机;切换完成后,原服务器主机切换为新服务器备机,原服务器备机切换为新服务器主机。
如果检测到目标业务链路失效滞后于切换命令的接收,则服务器B(备机)接收到切换命令后,首先将自动切换为新服务器主机;接下来检测到目标业务链路失效,此时服务器B(新主机)将再次切换为备机,并通知服务器A(备机)切换为主机。虽然服务器A(主机)的目标业务链路一直为无效状态,但是由于其状态没有发生改变,因此服务器A将维持主机状态;切换完成后,原服务器主机维持主机状态,原服务器备机维持备机状态。
在一个可选的实施方式中,上述实施例一和实施例二所提供的方法可基于国产麒麟操作系统,但不仅限于国产麒麟操作系统。
在双机热备容灾系统中,相比于通用双工软件的单链路双工切换策略,本发明综合考虑了业务链路和心跳链路的工作状态,因此本发明方法的可靠性高于通用双工软件,如果服务器主机和服务器备机上分别采用上述实施例一与实施例二中所提供的双机热备容灾的软件自动切换控制方法,那么在整个系统的可靠性要求固定的情况下,可以有效的减少设备台套数,节省系统建设成本;在设备台套数固定的情况下,系统的可靠性能够得到提升,从而减少系统的维护成本。
下面对上述实施例中的软双工管理软件的结构设计进行介绍,软双工管理软件由内核驱动部件(DRIVER)、后台控制部件(CTRL)以及图形化管理部件(UI)三部分组成,其组成结构如图4所示。内核驱动部件是软双工管理软件的核心,它根据后台控制程序提供的启动参数创建心跳网络和业务网络UDP数据通信链路,用于发送实时心跳状态信息和双工模式切换及双工状态切换控制命令;同时响应应用层API调用接口发送的双工模式查询、双工状态查询、双工模式切换及双工状态切换控制命令,以对外提供实时状态查询和双工切换控制服务。
后台控制部件包括dupscript、showdupsts、swhdupmode和swhdupsts等一系列可执行程序,主要用于实现对软双工管理软件的启停控制、实时状态查询以及双工模式和双工状态切换等功能。图形化管理部件采用图形化方式向用户提供双工管理功能,主要包括实时双机状态和双工模式显示、工作模式切换、双工状态切换等功能。图5为本发明实施例提供的一种软双工管理软件的控制流示意图,图6为本发明实施例提供的一种软双工管理软件的数据流示意图。
本发明实施例提供了一种软双工管理软件的用户界面示意图,如图7所示,界面包含功能包括:1)双机状态:显示当前机器是主机还是备机;2)工作模式选择:可选择自动模式与手动模式。在手动模式下,可点击主备切换进行人工选择当前时间服务器是主机还是备机,当前时间服务器选择了本机主备方式后,另一台时间服务器工作状态不需再选择,会自动变为相应的工作状态。用户界面中的用户名与密码:非授权用户需输入用户名及密码才可进行设置,否则不能进行设置操作。
实施例三
本发明实施例还提供了一种双机热备容灾的软件自动切换控制装置,该双机热备容灾的软件自动切换控制装置应用于服务器主机,主要用于执行上述实施例一所提供的双机热备容灾的软件自动切换控制方法,以下对本发明实施例提供的双机热备容灾的软件自动切换控制装置做具体介绍。
图8是本发明实施例提供的一种双机热备容灾的软件自动切换控制装置的功能模块图,如图8所示,该装置主要包括:获取模块10,第一切换模块20,第一判断模块30,发送模块40,其中:
获取模块10,用于获取目标业务链路的工作状态;其中,目标业务链路包括:主业务链路和备业务链路。
第一切换模块20,若目标业务链路从有效状态切换至失效状态,则服务器主机切换为新服务器备机。
第一判断模块30,用于判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧;其中,服务器主机和服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路。
发送模块40,若是,则向服务器备机发送切换为新服务器主机的请求,以使服务器备机切换为新服务器主机。
可选的,该装置还包括:
第二判断模块,用于在接收到心跳请求帧的情况下,判断本机优先级是否低于心跳请求帧发送方的优先级。
第二切换模块,若是,则服务器主机切换为新服务器备机。
可选的,该装置还包括:
第三判断模块,若否,则判断本机优先级是否高于心跳请求帧发送方的优先级。
第一维持模块,若本机优先级高于心跳请求帧发送方的优先级,则服务器主机维持主机状态。
第四判断模块,若本机优先级与心跳请求帧发送方的优先级相同,则判断本机ID是否为预设主机ID。
第二维持模块,若本机ID是预设主机ID,则服务器主机维持主机状态。
第三切换模块,若本机ID不是预设主机ID,则服务器主机切换为新服务器备机。
实施例四
本发明实施例还提供了一种双机热备容灾的软件自动切换控制装置,该双机热备容灾的软件自动切换控制装置应用于服务器备机,主要用于执行上述实施例二所提供的双机热备容灾的软件自动切换控制方法,以下对本发明实施例提供的双机热备容灾的软件自动切换控制装置做具体介绍。
图9是本发明实施例提供的另一种双机热备容灾的软件自动切换控制装置的功能模块图,如图9所示,该装置主要包括:第五判断模块50,第六判断模块51,第三维持模块52,其中:
第五判断模块50,用于判断预设时间段之内是否有机会接收到服务器主机的心跳请求帧;其中,服务器主机和服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路。
第六判断模块51,若否,则判断目标业务链路是否失效;其中,目标业务链路包括:主业务链路和备业务链路。
第三维持模块52,若目标业务链路失效,则服务器备机维持备机状态。
可选的,该装置还包括:
第四切换模块,若目标业务链路有效,则服务器备机切换为新服务器主机。
可选的,该装置还包括:
第五切换模块,用于在接收到服务器主机发送的切换为新服务器主机的请求的情况下,服务器备机切换为新服务器主机。
实施例五
参见图10,本发明实施例提供了一种电子设备,该电子设备包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的一种双机热备容灾的软件自动切换控制方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种双机热备容灾的软件自动切换控制方法,其特征在于,应用于服务器主机,所述方法包括:
周期性的获取目标业务链路的工作状态;其中,所述目标业务链路包括:主业务链路和备业务链路;
若所述目标业务链路从有效状态切换至失效状态,则所述服务器主机切换为新服务器备机;
判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:所述主业务链路,所述备业务链路和心跳链路;
若是,则向所述服务器备机发送切换为新服务器主机的请求,以使所述服务器备机切换为新服务器主机。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到心跳请求帧的情况下,判断本机优先级是否低于心跳请求帧发送方的优先级;
若是,则所述服务器主机切换为新服务器备机。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若否,则判断本机优先级是否高于所述心跳请求帧发送方的优先级;
若本机优先级高于所述心跳请求帧发送方的优先级,则所述服务器主机维持主机状态;
若本机优先级与所述心跳请求帧发送方的优先级相同,则判断本机ID是否为预设主机ID;
若本机ID是预设主机ID,则所述服务器主机维持主机状态;
若本机ID不是预设主机ID,则所述服务器主机切换为新服务器备机。
4.一种双机热备容灾的软件自动切换控制方法,其特征在于,应用于服务器备机,所述方法包括:
判断预设时间段之内是否有机会接收到服务器主机的心跳请求帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路;
若否,则判断目标业务链路是否失效;其中,所述目标业务链路包括:所述主业务链路和所述备业务链路;
若所述目标业务链路失效,则所述服务器备机维持备机状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述目标业务链路有效,则所述服务器备机切换为新服务器主机。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在接收到所述服务器主机发送的切换为新服务器主机的请求的情况下,所述服务器备机切换为新服务器主机。
7.一种双机热备容灾的软件自动切换控制装置,其特征在于,应用于服务器主机,所述装置包括:
获取模块,用于周期性的获取目标业务链路的工作状态;其中,所述目标业务链路包括:主业务链路和备业务链路;
第一切换模块,若所述目标业务链路从有效状态切换至失效状态,则所述服务器主机切换为新服务器备机;
第一判断模块,用于判断预设时间段之内是否有机会接收到服务器备机的心跳应答帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:所述主业务链路,所述备业务链路和心跳链路;
发送模块,若是,则向所述服务器备机发送切换为新服务器主机的请求,以使所述服务器备机切换为新服务器主机。
8.一种双机热备容灾的软件自动切换控制装置,其特征在于,应用于服务器备机,所述装置包括:
第五判断模块,用于判断预设时间段之内是否有机会接收到服务器主机的心跳请求帧;其中,所述服务器主机和所述服务器备机基于以下链路进行心跳数据帧交互:主业务链路,备业务链路和心跳链路;
第六判断模块,若否,则判断目标业务链路是否失效;其中,所述目标业务链路包括:所述主业务链路和所述备业务链路;
第三维持模块,若所述目标业务链路失效,则所述服务器备机维持备机状态。
9.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6中任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行权利要求1至6中任一项所述的方法。
CN202110207402.9A 2021-02-24 2021-02-24 一种双机热备容灾的软件自动切换控制方法 Active CN112835749B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110207402.9A CN112835749B (zh) 2021-02-24 2021-02-24 一种双机热备容灾的软件自动切换控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110207402.9A CN112835749B (zh) 2021-02-24 2021-02-24 一种双机热备容灾的软件自动切换控制方法

Publications (2)

Publication Number Publication Date
CN112835749A CN112835749A (zh) 2021-05-25
CN112835749B true CN112835749B (zh) 2021-12-07

Family

ID=75933255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110207402.9A Active CN112835749B (zh) 2021-02-24 2021-02-24 一种双机热备容灾的软件自动切换控制方法

Country Status (1)

Country Link
CN (1) CN112835749B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003551A (zh) * 2021-11-01 2022-02-01 山东芯慧微电子科技有限公司 一种用于主从双机热备的fpga热备控制器
CN115426250B (zh) * 2022-08-26 2023-11-10 中国人民解放军63660部队 一种用于靶场指控的双机热备切换方法及装置
CN116980231B (zh) * 2023-09-19 2023-11-28 成都交大光芒科技股份有限公司 一种双链路冗余安全通信方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412997A (zh) * 2011-11-29 2012-04-11 深信服网络科技(深圳)有限公司 主备环境下传递链路通断状态的方法及系统
CN102447583A (zh) * 2012-01-04 2012-05-09 中兴通讯股份有限公司 网络地址转换设备的双机热备的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5032191B2 (ja) * 2007-04-20 2012-09-26 株式会社日立製作所 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム
CN105471622B (zh) * 2015-11-12 2019-03-01 武汉噢易云计算股份有限公司 一种基于Galera的控制节点主备切换的高可用方法及系统
CN107634855A (zh) * 2017-09-12 2018-01-26 天津津航计算技术研究所 一种嵌入式系统的双机热备方法
CN110971462A (zh) * 2019-12-09 2020-04-07 深信服科技股份有限公司 一种设备切换方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412997A (zh) * 2011-11-29 2012-04-11 深信服网络科技(深圳)有限公司 主备环境下传递链路通断状态的方法及系统
CN102447583A (zh) * 2012-01-04 2012-05-09 中兴通讯股份有限公司 网络地址转换设备的双机热备的方法及装置

Also Published As

Publication number Publication date
CN112835749A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN112835749B (zh) 一种双机热备容灾的软件自动切换控制方法
AU2021277736B2 (en) Pdu type setting method, ue policy setting method, and related entity
CN109344014B (zh) 一种主备切换方法、装置及通信设备
EP2807797A1 (en) Redundant network connections
CN109040295B (zh) 异常断线的确定方法及装置、终端及存储介质
KR101909400B1 (ko) 네트워크 트래픽을 관리하는 방법 및 시스템
EP2698948A1 (en) Method and device for determining failure elimination based on oam protocol
CN104869057A (zh) 开放流交换机优雅重启处理方法、装置及开放流控制器
CN110913441B (zh) 一种数据传输方法及装置
US20180084597A1 (en) Method of managing communication interfaces for a multipath transmission control protocol (mptcp) connection
CN103686854A (zh) 控制ap的方法和装置
CN112583708B (zh) 一种连接关系控制方法、装置和电子设备
EP3200499B1 (en) Mobility management entity and home subscriber server for handling callee service according to csfb and a faulty state of a pgw
WO2016089262A1 (en) Methods and nodes for m2m communication
CN111585797B (zh) 以太网链路切换方法、装置、设备及计算机可读存储介质
KR20200004389A (ko) 설립 이유 및 터미널 결정 방법
CN111314984A (zh) 一种网关切换方法、装置、设备及存储介质
CN107204888B (zh) 一种切换超时时间的方法、装置和通信设备
CN107872822B (zh) 一种业务的承载方法及承载装置
US10079893B2 (en) M2M application request sending method, CSE and system
WO2012065382A1 (zh) 网络切换方法及系统
WO2022083281A1 (zh) 消息传输方法、系统、电子设备和存储介质
EP3537671B1 (en) Protection switching method and system, and nodes
CN114531661A (zh) 本地网络中设备的联网方法、装置和电子设备
CN113676894B (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