❤️ ×
各类单机,绅士游戏不断更新:https://www.acghua.com/
网站地址

双机热备软件设计分析

news 发布于 2025-09-01 阅读(417)

摘 要:本文对双机热备软件最基础的功能要点及实现逻辑进行分析,设计并实现双机热备中双主机方式(Active-Active方式)的热备切换功能。为以后双机热备软件的使用和后续复杂功能的研究提供了一些参考和开发思路。

关键词:软件开发;双机热备;网络通信

中图分类号:TP309文献标识码:A 文章编号:2096-4706(2018)09-0056-05

Abstract:In this paper,the most basic function points and implementation logic of dual hot standby software are analyzed,and the hot standby switching function of Active-Active mode is designed and completed. It provides some reference and development ideas for the future use of the dual machine hot standby software and the subsequent complex function.

Keywords:software development;dual machine hot standby;network communication

0 引 言

双机热备指的是就是将中心服务器安装成互为备份的两台服务器,并且在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备用服务器会迅速的自动启动并运行,从而保证整个网络系统的正常运行。双机热备的工作机制实际上是为整个网络系统的中心服务器提供了一种故障自动恢复能力。

1 双机热备拓扑结构分析

双机热备的拓扑结构,在简单的示例上的连接如图1所示,即把两台热备服务器简单的进行连接通信。

但是其实,在图1上面缩减了以太网的存在,真实的拓扑图如图2所示。

在一些网络设计的拓扑图中,以太网确实是可以进行缩减,但是在双机热备的拓扑图中,以太网有它的特殊存在意义。因此无论是两台服务器直接使用网线进行点对点互联,还是通过路由进行互联,只要使用了以太网进行连接,两台服务器要进行通信都必须通过“网关”来进行通信。

众所周知,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”,也就是网络关卡。

在双机热备软件设计上,网关对于判断服务器是否在正常运行,有着很重要的逻辑意义。详细的逻辑判断在下文进行阐述。

2 双机热备服务器切换逻辑分析

在双机热备软件运作的逻辑中,当主用服务处于非正常工作的时候,需要把备用服务启动来替代主用服务器进行工作。而判断服务器是否正常运行就是双机热备软件开始运作的第一步。

每隔少许时间,备用服务器都会通过线路发送“心跳”来查看主用服务器的运行状态,从而判断是否需要启动,如图3所示。

但是该设计有个无法解决的逻辑判断,就是无法判断出主用服务器出现问题还是线路出现问题,如图4和5所示。

所以当线路出现问题时,按照图5中的逻辑判断,便会启动备用服务器。但是此时主用服务器还是在正常工作,启用备用服务器就是一个严重的逻辑错误,在切换逻辑判断上不能使用这个方法。

为了解决该问题,需要使用到上文的拓扑结构,也就是需要使用到“网关”来进行逻辑判断,如图6所示。

当备用服务器往主用服务器发送心跳时,心跳数据需要先经过以太网(网关),再到达主用服务器。如果心跳并未到达网关就已经停止,则说明备用服务器线路异常,主热备功能失效,需要提醒设备的管理人员进行相应的处理。

而当心跳数据已经通过网关时,但是未能到达主用服务器,则能判断主用服务器处于非正常工作状态。产生这种问题的原因有可能是主用服务器线路断开,也有可能是主用服务器已经死机,无法进行相应的功能。虽然无法具体定位到是线路问题还是主用服务器问题,但是无论哪个情况,复用服务器都需要启动起来来替代主用服务器进行工作。

本节切换逻辑判断总体流程如图7所示。

3 双机热备恢复热备功能逻辑分析

在双机热备功能中,主用服务器和备用服务器都有可能出现异常情况,导致热备功能失效。当主用服务器或者备用服务器热备功能出现异常后,设备人员修复设备完成后,软件需要自动对热备的恢复功能进行逻辑处理。

这种逻辑处理具体有两种情况:一种为备用服务器产生异常,而主用服务器还在正常运作的情况。在这情况下,备用重新恢复热备功能的时候不能影响主用服务器的正常运行,也不能把自己替代成主用服务器来处理。第二种情况为,主用服务器和备用服务器都由于某些特殊的原因先后出现异常,设备人员未能及时处理,两台服务器同时无法使用。在这情况下,先修复的服务器要判断为主用服务器,后修复的服务器要判断为备用服务器,当两台服务器正常时,主热备功能恢复正常使用。

完成这个逻辑处理,需要两个校验数据,一个是主用服务器使用的标记信息(通常使用主用服务器的IP地址);另外一个是主用服务器正常运行时,每一个时间心跳的最后时间的刷新纪录。这两个校验数据通过发送心跳和心跳回馈的方式进行消息传输。

该功能逻辑判断流程如图8所示。

4 将服务器动态IP应用到双机热备的逻辑分析

在双机热备软件的使用中,最为典型应用场景就是要求在主用服务器应用的情况下,无论切换的是服务器A还是服务器B,对外的访问都是使用同一IP地址。要想在双机热备软件上的实现这种功能,就必须做到当主用服务器切换到服务器A时,将动态IP地址添加到服务器A;当主用服务器切换到服务器B时,把服务器上面A的动态IP地址去除。

在图9中,将切换逻辑,恢复逻辑,以及动态IP逻辑整合到一起,完成最基本的双机热备软件功能。

根据图9中的逻辑,记录服务器A与服务器B中模拟进行切换的时间点以及服务器A与服务器B的状态,如表1所示。

表1模拟演示了备用服务器B从失连到连接后的状态,主用服务器A从失连到备用服务器B替代主用服务器的状态,服务器A与服务器B同时无法正常工作后,先运行的服务器为主用服务器的状态,运行结果正确,运行切换时间短,热备功能效率高。

5 结 论

双机热备的需求看似简单,但是也包含了好几种的应用场景在里面,需要具体的去分析各个场景中的逻辑判断的需要,也需要考虑服务器中各个参数的变化情况,以确保主用与备用的切换和判断,切换后的自动恢复,以及服务器功能正常稳定的运行。

诚然,双机热备只是一种小功能产品,无法与一些大的项目做比较,但是在保障整个网络系统的正常运行之中也是有它的一席之地。本文详细的罗列了双机热备中各个功能要点的实现思路,以及如何把一个常见的动态IP功能整合到双机热备的功能中,为后续将更多的功能添加与开发提供了一些参考。

参考文献:

[1] 施威铭研究室.网络概论 [M].北京:中国铁道出版社,2002.

[2] 吴功宜.计算机网络 [M].北京:清华大学出版社,2006.

[3] 朱少民.软件工程导论 [M].北京:清华大学出版社,2009.

[4] 钱晓明,朱健江,王晓勇,等.软件工程 [M].北京:中国铁道出版社,2007.

[5] 郭振民,丁红.C语言程序设计 [M].北京:中国水利水电出版社,2009.

作者简介:狄添舜(1989-),男,汉族,广东广州人,软件设计师,学士。研究方向:通信调度集群开发。

标签:  服务器