一种双机热备的实现方法与流程

文档序号:21360420发布日期:2020-07-04 04:33阅读:439来源:国知局
一种双机热备的实现方法与流程

本发明实施例涉及通信技术领域,尤其涉及一种双机热备的实现方法。



背景技术:

当今社会对计算机系统可靠性的要求越来越高,计算机系统的可靠性是指计算机不发生故障,或即使发生故障也不影响系统正常工作的可能程度。根据可靠性的基本理论,容错就是对系统中可能发生的突发事件的控制。容错技术是近年来人们对计算机系统可靠性理论研究和实际工作提出来的一种有效手段,产生了如多处理机、磁盘阵列等容错技术,均取得了比较理想的效果。但是随着系统的具体化、专一化,必须相应提出适应系统变化的不同的系统容错方案。

双机热备系统是针对某重要部门(如铁路部门)的数据汇集与分发系统。数据汇集与分发系统是外部数据进入部门内部不同分系统的前端和大门,由该系统首先对数据进行识别、处理、封装后,再转入到部门内其他系统中进行分析与处理。由于该系统的可靠性和稳定性是整个部门工作成败的前提,因此,如何保证数据汇集与分发系统的高可用性成为系统设计时的关键。

例如,铁路部门对于数据汇集与分发系统的可靠性要求为:1)可用度要求高,通常要求全系统可用度为7×24h;2)服务器、存储设备的平均无故障工作时间(mtbf)不小于2×10000h。3)系统能够智能的判断主机运行状态,并且进行切换,切换开始到切换完成的时间间隔不超过1s。

目前双机热备主要通过纯软件的方式来实现,图1为现有的双机热备系统网络结构图。如图1所示,双机热备系统中的两个服务器分别对a、b双网接收和发送的数据情况进行计数,系统网络结构中心跳数据与业务数据共享网络,主服务器向外发送业务数据。主备机间采用icmp(internetcontrolmessageprotocol,网络控制报文协议)包的格式进行信息的交换,为了保证能够及时发现系统的运行故障,满足系统可靠性的指标,通常间隔100ms主备机间发送一次交换信息,以报告各自的状态信息。然而,现有技术中,需要等待各节点设备的反馈信息,当其中某一个或某几个节点设备出现故障时,无法快速及时地获取对机状态,无法快速选举出主备服务器。



技术实现要素:

本发明实施例提供一种双机热备的实现方法,以快速选举出主备服务器。

第一方面,本发明实施例提供了一种双机热备的实现方法,应用于双机热备系统,其中,所述双机热备系统中包括两个服务器,该方法包括:

当两个服务器同时处于工作状态时,所述两个服务器分别根据连接的网络状态计算各自的网络评价值;

所述两个服务器分别将各自的网络评价值发送至对方服务器中,并将接收到的对方服务器的网络评价值与本机所计算的网络评价值进行比较;

根据比较结果从所述两个服务器中确定主服务器和备份服务器。

本发明实施例提供的双机热备的实现方法,应用于双机热备系统,其中,所述双机热备系统中包括两个服务器,当两个服务器同时处于工作状态时,所述两个服务器分别根据连接的网络状态计算各自的网络评价值;所述两个服务器分别将各自的网络评价值发送至对方服务器中,并将接收到的对方服务器的网络评价值与本机所计算的网络评价值进行比较;根据比较结果从所述两个服务器中确定主服务器和备份服务器。通过采用上述技术手段,基于服务器网络评价值进行主备服务器的选举,不仅能够选举出性能最优的主服务器,而且可以准确、快速地选举出主服务器,使主服务器向各个终端设备分发业务数据。

附图说明

图1为现有技术中双机热备系统的网络拓扑结构图;

图2为本发明实施例提供的一种双机热备的实现流程示意图;

图3为本发明实施例提供的手动强制主备切换的示意图;

图4为本发明实施例提供的主备服务器自动切换示意图;

图5为本发明实施例提供的双机热备系统的网络拓扑结构图;

图6为本发明实施例提供的一种双机热备的实现流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

现有技术中,在双机热备系统中的两台服务器中都存在用于接收交换信息帧的缓冲区。缓冲区中保存若干个交换信息的统计记录,在两台服务器上同时存有全局主备信息列表,每一次交换信息后,在两个服务器上同时有选择的刷新一次本机全局主备信息列表。整个主备切换过流程如下所述:

1)主机在预设时间段(如100ms)内未接收到备机发送的交换信息时,将全局主备信息列表中的全局段的主备切换标志改写为“是”,并对主备机的编号进行修改,然后将本机的交换信息中的主备切换标志填写为“是”,并停止向外发送业务数据,将交换信息发往备份服务器。

2)备机接收到交换信息后,刷新主备信息列表,本机的主备切换进程开始工作,向外发送数据,同时向主机发送切换成功的标识信息,此时,原来的备份服务器成为主机,主备切换完成。

在现有的双机热备实现方案中,存在如下不足:

1)主备机之间的数据交换需要经过交换机,整个双机热备系统对交换机依赖性过大,当交换机出现数据延时或故障时,将会降低主备机的容错性。

2)心跳数据与业务数据共享网络通道,网络数据高峰时会影响业务数据的分发或服务器主备的选举。

3)两服务器进行主备切换时,要求切换的主机先发出请求,等待对机的应答信息,在未收到应答数据前,整个业务系统出现断流。

4)现有的双机热备方案缺少对业务重心的关注,极端情况下该方案会无法第一时间选举出最优服务器接管业务。

图2为本发明实施例提供的一种双机热备的实现方法的流程示意图,该方法可以由双机热备系统执行。如图2所示,该方法包括:

步骤201、当两个服务器同时处于工作状态时,所述两个服务器分别根据连接的网络状态计算各自的网络评价值。

在本发明实施例中,所述双机热备的实现方法可以由图1所示的双机热备系统来执行。其中,当服务器加电后,服务器处于工作状态,因此,两个服务器同时处于工作状态可以理解为给双机热备系统中的两个服务器均加电,但是,两个服务器加电的先后顺序不做限定,两个服务器可以同时加电,也可以按照先后顺序一先一后地加电。当两个服务器同时处于工作状态时,两个服务器分别根据连接的网络状态计算各自的网络评价值。

可选的,所述两个服务器分别根据连接的网络状态计算各自的网络评价值,包括:两个服务器分别根据如下公式计算各自的网络评价值:

其中,s表示网络评价值;ki表示连接到本机上的第i个终端或数据采集单元的权重值;n表示连接到本机上的终端和数据采集单元的数量和;a表示所述双机热备系统中的第一网络的连接状态,b表示所述双机热备系统中的第二网络的连接状态;当第一网络处于连接状态时,a=1,当第一网络处于断开状态时,a=0;当第二网络处于连接状态时,b=1,当第二网络处于断开状态时,b=0。

在本发明实施例中,如图1所示,第一网络和第二网络可以理解为双机热备系统中通过交换机(交换机a和交换机b)连接服务器与终端设备以及服务器与服务器间的网络。

步骤202、所述两个服务器分别将各自的网络评价值发送至对方服务器中,并将接收到的对方服务器的网络评价值与本机所计算的网络评价值进行比较。

示例性的,在图1中,服务器a根据上述公式(1)计算服务器a的网络评价值,可以记为sa;同样的,服务器b根据上述公式(1)计算服务器b的网络评价值,可以记为sb。两个服务器将各自计算的网络评价值发送至对方服务器,并接收对方服务器的网络评价值,这样每个服务器不仅可以计算出本机网络评价值,还可以接收到对方服务器的网络评价值。每个服务器将自身网络评价值与对机网络评价值进行比较,获取比较结果。

步骤203、根据比较结果从所述两个服务器中确定主服务器和备份服务器。

在本发明实施例中,两个服务器的网络评价值可能大小相同,也可能大小不同。可选的,根据比较结果从所述两个服务器中确定主服务器和备份服务器,包括:当所述两个服务器的网络评价值大小不同时,将所述两个服务器中网络评价值较大的服务器确定为主服务器,网络评价值较小的服务器确定为备份服务器。例如,若sa>sb,则将服务器a确定为主服务器,将服务器b确定为备份服务器;若sb>sa,则将服务器b确定为主服务器,将服务器a确定为备份服务器。

可选的,根据比较结果从所述两个服务器中确定主服务器和备份服务器,包括:当所述两个服务器的网络评价值大小相同时,判断所述两个服务器的加电时间是否相同,若是,则分别获取两个服务器的协议ip地址;根据两个服务器的ip地址确定所述两个服务器的编号信息;根据所述两个服务器的编号信息从所述两个服务器中确定第一服务器和第二服务器,并将所述第一服务器确定为主服务器,将所述第二服务器确定为备份服务器;其中,将所述第一服务器确定为主机的优先级高于第二服务器。

示例性的,当两个服务器的网络评价值相同时,进一步判断两个服务器的加电时间是否相同,以进一步根据加电时间是否相同的判断结果进行主备服务器的选举。当两个服务器的网络评价值相同时,且两个服务器的加电时间相同(即两个服务器同时加电)时,分别获取双机热备系统中的两个服务器的ip(internetprotocol,网络之间互连的协议)地址,并根据两个服务器的ip地址分别确定两个服务器的编号信息。然后根据编号信息确定第一服务器和第二服务器,将第一服务器确定为主服务器;将第二服务器确定为备份服务器。

示例性的,两个服务器分别将各自的ip地址发送至对方服务器,两个服务器将各自的ip地址和对方服务器的ip地址进行比较,根据比较结果确定两个服务器的编号信息。例如,使ip地址中后四位较大的服务器的编号大于ip地址中后四位较小的服务器的编号。

可选的,根据两个服务器的编号信息可以确定将两个服务器确定为主服务器的优先级。示例性的,使编号小的服务器确定为主服务器的优先级高于使编号大的服务器确定为主服务器的优先级。例如,将编号小的服务器确定为第一服务器,标记为服务器a,将编号大的服务器确定为第二服务器,标记为服务器b。

其中,在两个服务器上的都设有用于存储服务器运行状态信息的缓冲区,该缓冲区中的服务器运行状态信息是两个服务器间心跳数据的主要数据源,又是两台服务器进行主备选举和主备切换判别的主要依据。

可选的,两个服务器中各自缓冲区的服务器运行状态信息如下表1所示:

表1

可选的,两台服务器上设置有用于记录接收的心跳数据的缓冲区,两服务器间采用udp包的格式发送心跳数据。示例性的,两服务器中的心跳数据如下表2所示:

表2

需要说明的是,为了保证能够及时发现双机热备系统的运行故障,满足双机热备系统可靠性的指标,两台服务器间按照预设频率交换心跳数据,如心跳数据的交换频率为1次/200ms。另外,分别在两台服务器上,每一次心跳信息后,在两个服务器上有选择性的刷新一次本机运行状态信息。

可选的,在根据所述两个服务器的编号信息从所述两个服务器中确定第一服务器和第二服务器,并将所述第一服务器确定为主服务器,将所述第二服务器确定为备份服务器之前,还包括:当所述两个服务器加电时,所述两个服务器分别将本机运行状态信息中的运行标识设置为备份标识;相应的,根据所述两个服务器的编号信息从所述两个服务器中确定第一服务器和第二服务器,并将所述第一服务器确定为主服务器,将所述第二服务器确定为备份服务器,包括:将所述两个服务器中编号小的服务器确定为第一服务器,编号大的服务器确定为第二服务器;所述第一服务器自动升级为主服务器,并将本机运行状态信息中的运行标识修改为主标识;所述第一服务器将包含本机运行标识的心跳数据发送至所述第二服务器,使所述第二服务器确定为备份服务器。示例性的,将双机热备系统中两个服务器中编号小的服务器确定为第一服务器,标记为服务器a,编号大的服务器确定为第二服务器,标记为服务器b。当两个服务器同时处于加电状态时,两个服务器(服务器a和服务器b)同时将本机运行状态信息中的本机运行标识设置成为备份标识。服务器a(第一服务器,也即编号小的服务器)自动升级为主服务器,并将本机运行状态信息中的运行标识修改为主标识,然后服务器a将包含本机运行标识的心跳数据发送至服务器b,使服务器b确定为备份服务器。

可选的,所述方法还包括:当所述两个服务器的加电时间不同时,将优先加电的服务器确定为主服务,后加电的服务器确定为备份服务器。示例性的,同时处于工作状态的两个服务器中,两服务器的网络评价值相同,但是两个服务器的加电时间不同,也即两个服务器的加电时间有先后顺序,则将先加电的服务器确定为主服务器,后加电的服务器确定为备份服务器。

本发明实施例提供的双机热备的实现方法,应用于双机热备系统,其中,所述双机热备系统中包括两个服务器,当两个服务器同时处于工作状态时,所述两个服务器分别根据连接的网络状态计算各自的网络评价值;所述两个服务器分别将各自的网络评价值发送至对方服务器中,并将接收到的对方服务器的网络评价值与本机所计算的网络评价值进行比较;根据比较结果从所述两个服务器中确定主服务器和备份服务器。通过采用上述技术手段,基于服务器网络评价值进行主备服务器的选举,不仅能够选举出性能最优的主服务器,而且可以准确、快速地选举出主服务器,使主服务器向各个终端设备分发业务数据。

在一些实施例中,当只有一个服务器处于工作状态时,将处于工作状态的服务器确定为主服务器。可选的,当只有一个服务器处于工作状态时,将处于工作状态的服务器确定为主服务器,包括:当在所述两个服务器中只有一个服务器加电时,加电服务器将本机运行状态信息中的运行标识设置为备份标识;所述加电服务器根据另一个服务器发送的心跳数据确定当前不存在主服务器,则所述加电服务器自动升级为主服务器;其中,所述加电服务器为所述处于工作状态的服务器。示例性的,在双机热备系统中,当只有一台服务器(无论是服务器a还是服务器b)加电时,加电服务器首先将本机运行状态信息(见表1)中的本机运行标识设置成为备份标识,然后根据心跳信息进行判断,发现当前没有主服务器存在(因为加电服务器一直未收到另外一个服务器发送的心跳数据),加电服务器自动升为主服务器。

在一些实施例中,还包括:当其他服务器申请加入所述双机热备系统时,判断所述双机热备系统中是否存在处于工作状态的主服务器,若是,则进一步判断新加进来的服务器的网络评价值是否大于主服务器的网络评价值。当新加进来的服务器的网络评价值大于主服务器的网络评价值时,将新加进来的网络服务器切换为主服务器,原主服务器降为备份服务器;当新加进来的服务器的网络评价值小于或等于主服务器的网络评价值时,使所述双机热备系统中的主服务器保持不变,即新加进来的服务器自动成为备机,双机热备系统中的主服务器保持不变,继续收发和判别心跳数据。

可选的,在双机热备系统中,当两个服务器出现主备状态冲突时,也即,在双机热备系统中的两个服务器均为主服务器或均为备份服务器,为避免双服务器同时工作,或双服务器同时不工作,仅使第一服务器(也即服务器a)具备升为主服务器的功能,仅使第二服务器(也即服务器b)进行降为备份服务器的功能,并在两个服务器中分别生成报告日志。

在一些实施例中,还包括:所述两个服务器分别将包含本机运行状态信息的心跳数据发送至各个终端设备,以使所述各个终端设备分别对所述两个服务器的运行状态信息进行汇总;所述两个服务器分别接收各个终端设备发送的汇总后的服务器的运行状态信息,并根据所述汇总后的服务器的运行状态信息从所述两个服务器中确定主服务器和备份服务器。其中,该方案主要适用于两服务器间交换数据(心跳数据)收发异常的应用场景。

示例性的,在双机热备系统中,除了在两个服务器间进行心跳数据的交互外,增加两个服务器与终端设备间心跳数据的交互。具体的,当两服务器间交换数据(心跳数据)收发异常时,两个服务器分别以预设频率(如1次/500ms)将包含本机运行状态信息的心跳数据发送至各个终端设备,其中,两个服务器发送至各个终端设备的心跳数据可以如下表3所示:

表3

各个终端设备分别对两个服务器的运行状态信息进行汇总,生成终端心跳数据。其中,终端心跳数据可以如下表4所示:

表4

各个终端设备分别将汇总后的服务器的运行状态信息(也即终端心跳数据)分别发送至两个服务器中,两个服务器根据汇总后的服务器的运行状态信息从两个服务器中确定主服务器和备份服务器。示例性的,若多于50%的终端设备反馈的汇总后的服务器的运行状态信息中表明将服务器a作为主服务器,将服务器b作为备份服务器,则将服务器a确定为主服务器;若少于50%的终端设备反馈的汇总后的服务器的运行状态信息中表明将服务器a作为主服务器,将服务器b作为备份服务器,则保持双机热备系统中主服务器和备份服务器不变,也即不根据各个终端设备反馈的汇总后的服务器的运行状态信息对主备服务器进行切换。

在一些实施例中,还包括:当所述两个服务器中任一服务器接收到用户输入的主备切换指令时,将接收到主备切换指令的服务器确定为目标服务器;所述目标服务器修改本机心跳数据中的运行状态的标识信息,并将本机心跳数据中的手动切换标识修改为是,以更新所述本机心跳数据,并将更新后的本机心跳数据发送至对方服务器;所述对方服务器接收所述目标服务器发送的更新后的心跳数据,并根据所述更新后的心跳数据中的手动切换标识确定主备切换为手动强制切换时,所述对方服务器修改本机心跳数据中的运行状态的标识信息,以更新本机心跳数据,并将更新后的本机心跳数据发送至所述目标服务器;所述目标服务器接收到所述对方服务器发送的更新后的心跳数据后,修改本机运行状态信息中的运行状态,以完成主备服务器的切换操作。

在本发明实施例中,以接收到主备切换指令的服务器(也即目标服务器)为主服务器进行解释说明。当主服务器接收到用户输入的主备切换指令时,所述主服务器将本机心跳数据中的运行状态的标识信息由主标识修改为备份标识,并将本机心跳数据中的手动切换标识修改为是,以更新所述本机心跳数据,并将更新后的本机心跳数据发送至备份服务器;所述备份服务器接收主服务器发送的更新后的心跳数据,并根据所述更新后的心跳数据中的手动切换标识确定主备切换为手动强制切换时,所述备份服务器将本机心跳数据中的运行状态的标识信息由备份标识修改为主标识,以更新本机心跳数据,并将更新后的本机心跳数据发送至主服务器;所述主服务器接收到备份服务器发送的更新后的心跳数据后,将本机运行状态信息中的运行状态修改为备份服务器,以完成主备服务器的切换操作。

可以理解的是,本发明实施例主要适用于用户(通常指系统管理员)手动强制双机热备系统中的服务器进行主备切换的应用场景。在手动强制主备切换时,主要是将备份服务器切换为主服务器或者是将主服务器切换为备份服务器,这两个过程实质是一致的,以主服务器降为备份服务器为例进行描述,图3为本发明实施例提供的手动强制主备切换的示意图。如图3所示,系统管理员向主服务器发出主备切换指令,当主服务器接收到该主备切换指令时,将本机心跳数据中的“本运行状态”标识由“主”修改为“备”,并将手动切换标识别修改为“是”,修改后组成新的心跳数据,并经过发往备份服务器;备份服务器接收到主服务器发送的心跳数据后,根据主服务器发送的心跳数据识别到手动切换标识为“是”,则将本机(也即备份服务器)的“本机运行状态”标识由“备”修改为“主”,并将修改后的心跳数据再次发送至主服务器。主服务器接收到备份服务器的心跳数据后,将本机运行状态信息中“本机运行状态”标识修改为“备”后,至当前主备切换操作完成。

在一些实施例中,图4为本发明实施例提供的主备服务器自动切换示意图。假设在双机热备系统中,当前服务器a为主服务器,服务器b机为备份服务器,当服务器b在预设时长内未接收到服务器b发送的心跳数据(如服务器b检测到超过1秒未收到服务器a发送的心跳数据)时,此时,服务器b立即修改本机运行状态信息中的“本机运行状态”标识,将其设置为“主”,并向服务器a发送心跳数据,服务器b请求切换为主机标志改为“是”,发送并等待服务器a的响应。如果在预设时长(如500ms)内不能得到服务器a的回应,说明服务器a的收发数据进程已经死亡,服务器b自动将其本机运行状态标识进行修改,并接替服务器a向外发送业务数据。

在一些实施例中,还包括:主服务器和备份服务器分别根据连接的网络状态,计算各自的网络评价值;主服务器和备份服务器分别将各自的网络评价值发送至对方服务器中,并根据接收到的对方服务器的网络评价值确定是否进行主备切换。这样设置的好处在于,可以根据业务焦点设置相应权重值,便于在特殊情况下,可快速选举出最优主服务器。

可选的,主服务器和备份服务器分别根据连接的网络状态,计算各自的网络评价值,包括:主服务器和备份服务器分别根据如下公式计算各自的网络评价值:

其中,s表示网络评价值;ki表示连接到本机上的第i个终端或数据采集单元的权重值;n表示连接到本机上的终端和数据采集单元的数量和;a表示所述双机热备系统中的第一网络的连接状态,b表示所述双机热备系统中的第二网络的连接状态;当第一网络处于连接状态时,a=1,当第一网络处于断开状态时,a=0;当第二网络处于连接状态时,b=1,当第二网络处于断开状态时,b=0。

可选的,主服务器和备份服务器分别将各自的网络评价值发送至对方服务器中,并根据接收到的对方服务器的网络评价值确定是否进行主备切换,包括:当备份服务器接收到主服务器发送的网络评价值小于本机所计算的网络评价值时,进行主备切换;当主服务器接收到备份服务器发送的网络评价值大于本机所计算的网络评价值时,进行主备切换。示例性的,在双机热备系统中,若服务器a接收到服务器b所发送的心跳数据中的网络评价值小于本机(服务器a)所计算的网络评价值,且服务器a为备份服务器机时,进行主备服务器的切换操作。若服务器b接收到服务器a所发送心跳信息中的网络评价值大于本机(服务器b)所计算的网络评价值,且服务器b为主服务器时,进行主备服务器的切换操作。

在一些实施例中,还包括:当备份服务器在预设时长内未接收到主服务器发送的心跳数据时,进行主备切换;当备份服务器最后一次接收到主服务器发送的心跳数据的时间与所述备份服务器中的心跳信息缓存区中的心跳数据的时间间隔大于预设间隔阈值时,进行主备切换。

在一些实施例中,还包括:当第二服务器接收到的终端设备发送的心跳数据中的两个服务器的状态标识均为主标识,且所述第二服务器的运行状态信息中的状态标识为主标识时,进行主备切换;当第一服务器接收到的终端设备发送的心跳数据中的两个服务器的状态标识均为备份标识时,且所述第一服务器的运行状态信息中状态标识为备标识时,进行主备切换;其中,所述终端设备发送的心跳数据为对两个服务器的运行状态信息进行汇总后的数据。

可选的,所述双机热备系统中的两个服务器间连接有至少一个心跳网络;通过所述心跳网络进行两个服务器间心跳数据的交换。这样设置的好处在于,两个服务器之间增加直连心跳网络,心跳数据主要经过心跳网进行交换,避免交换机网络数据高峰时对服务器主备选举的影响。

示例性的,图5为本发明实施例提供的双机热备系统的网络拓扑结构图。如图5所示,两个服务器间通过两个心跳网络进行连接,当两个服务器间进行心跳数据的交互时,通过所示两个心跳网络进行心跳数据的发送和接收,这样可以有效缓解业务网的数据压力,有助于快速实现主备服务器的选举或主备服务器的切换。

可选的,在一些特殊情况下,可以保持双机热备系统中的主备服务器状态不变。例如,当主服务器机检测到备份服务器正确接收心跳数据的时间间隔超过l秒时,不进行主备服务器的切换操作,也即保持主备服务器的现有状态并报告日志。又如,当主服务器从接收的备份服务器发送的心跳数据中,判断出备份服务器存在故障时,不进行主备服务器的切换操作,也即保持主备服务器的现有状态并报告日志。再如,手动强制将备份服务器升为主服务器后,即使对机的网络评价值高于本机的网络评价值,在预设时长(如30秒)内也不执行主备服务器的自动切换操作,只是报告日志。

图6为本发明实施例提供的另一种双机热备的实现方法的流程示意图,该方法可以由双机热备系统执行,其中,所述双机热备系统中包括两个服务器,如图6所示,该方法包括如下步骤:

步骤601、判断双机热备系统中是两个服务器同时处于工作状态还是只有一个服务器处于工作状态,当两个服务器同时处于工作状态时,执行步骤602,当只有一个服务器处于工作状态时,执行步骤610。

步骤602、所述两个服务器分别根据连接的网络状态计算各自的网络评价值。

可选的,所述两个服务器分别根据连接的网络状态计算各自的网络评价值,包括:两个服务器分别根据如下公式计算各自的网络评价值:

其中,s表示网络评价值;ki表示连接到本机上的第i个终端或数据采集单元的权重值;n表示连接到本机上的终端和数据采集单元的数量和;a表示所述双机热备系统中的第一网络的连接状态,b表示所述双机热备系统中的第二网络的连接状态;当第一网络处于连接状态时,a=1,当第一网络处于断开状态时,a=0;当第二网络处于连接状态时,b=1,当第二网络处于断开状态时,b=0。

步骤603、所述两个服务器分别将各自的网络评价值发送至对方服务器中,并将接收到的对方服务器的网络评价值与本机所计算的网络评价值进行比较,判断两个服务器的网络评价值大小是否相同,如是,则执行步骤605,否则,执行步骤604。

步骤604、将所述两个服务器中网络评价值较大的服务器确定为主服务器,网络评价值较小的服务器确定为备份服务器。

步骤605、判断所述两个服务器的加电时间是否相同,如是,则执行步骤606,否则,执行步骤609。

步骤606、分别获取两个服务器的协议ip地址。

步骤607、根据两个服务器的ip地址确定所述两个服务器的编号信息。

步骤608、根据所述两个服务器的编号信息从所述两个服务器中确定第一服务器和第二服务器,并将所述第一服务器确定为主服务器,将所述第二服务器确定为备份服务器。

其中,将所述第一服务器确定为主机的优先级高于第二服务器。

可选的,根据所述两个服务器的编号信息从所述两个服务器中确定第一服务器和第二服务器,并将所述第一服务器确定为主服务器,将所述第二服务器确定为备份服务器,包括:所述两个服务器分别将本机运行状态信息中的运行标识设置为备份标识;将所述两个服务器中编号小的服务器确定为第一服务器,编号大的服务器确定为第二服务器;所述第一服务器自动升级为主服务器,并将本机运行状态信息中的运行标识修改为主标识;所述第一服务器将包含本机运行标识的心跳数据发送至所述第二服务器,使所述第二服务器确定为备份服务器。

步骤609、将优先加电的服务器确定为主服务,后加电的服务器确定为备份服务器。

步骤610、将处于工作状态的服务器确定为主服务器。

本发明实施例提供的双机热备的实现方法,应用于双机热备系统,其中,所述双机热备系统中包括两个服务器,当两个服务器同时处于工作状态时,将网络评价值大的服务器确定为主服务器,网络评价值小的服务器确定为备份服务器,当两个服务器的网络评价值相同时,判断所述两个服务器的加电时间是否相同,若是,则将编号小的服务器确定为主服务器,编号大的服务器确定为备份服务器,当两个服务器加电时间不同时,将优先加电的服务器确定为主服务器,后加电的服务器确定为备份服务器。通过采用上述技术手段,可以准确、快速地选举出主服务器,使主服务器向各个终端设备分发业务数据。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1