APP下载

双机备份软件的设计与实现

2013-08-27张于燕刘玉兰

计算机与网络 2013年15期
关键词:双机测控备份

杜 明 张于燕 刘玉兰

(中国电子科技集团公司第五十四研究所河北石家庄050081)

1 引言

数据信息是当今社会进步和发展的关键,面对日益庞大的计算机网络,用户的要求是网络能够可靠和高速。随着测控网络系统的广泛应用,用于完成对设备的遥控、遥测、跟踪定位及传输传感器信息的测控系统[1],其稳定性在未来的信息化战争中扮演越来越重要的角色。因此设计和开发双机备份技术适应高稳定的测控网络系统,就显得尤为重要。双机备份是一种软硬件结合的较高的容错应用方案。双机备份方案中,根据性质和需要可以由3种不同的工作模式:即双机热备模式。双机互备模式和双机双工模式。在这3种模式采用的是基于小规模网络最为常用的双机备份模式。双机备份模式的引入,极大的提高了测控系统的可靠性与安全性[2]。

2 双机备份系统组成

双机备份软件主要分布在主计算机和备用计算机上,同时和GCS的地面测控软件组成,系统组成如图1所示。主计算机与备计算机同时和GCS测控软件进行网络连接,主机与备机通过心跳包连接进行仲裁,同一时刻只能由一台计算机的软件来控制GCS的测控软件。

图1 双机备份软件系统示意图

3 软件设计

3.1 软件设计准则

双机备份软件的设计准则是:

①只有主机软件才能与GCS测控软件进行连接发送指令,接收设备遥测状态信息;

②同一时刻只能有一台主机软件出现[3];

③人在回路,特殊情况可以人工强制切换,切换准则参考主机软件发令和主机软件唯一的准则。

3.2 软件功能

双机备份系统的主要功能是确保系统的不间断运行[4],其主要分为:启动优先原则,双机中先启动是主机,后启动者为备机;互检互显,主备机能够互相检测连接状态,并同时发送自身运行状态,当检测到本机故障时给予提示信息,以便于人工切换;主备切换,当备机在网络监测周期3 s内未发现主机信息时自动提升到主机状态。人工切换,特殊情况时可人工介入进行强制切换,确保设备安全。

双机备份软件根据软件功能分为启动仲裁软件单元、心跳检验软件单元、主备切换软件单元和强制切换软件单元,软件单元组成如图2所示。

图2 双机备份软件单元功能示意图

4 双机备份软件设计及实现

双机备份软件是在Visual C++6.0编程环境下结合GCS地面站测控软件来进行开发的,各个软件单元所完成的功能都是通过调用C++语言中的类来实现,硬件接口为网络接口。

4.1 软件处理流程

双机备份软件首先根据配置文件和计算机网络地址初始化通信端口并且进行A、B机辨别。

/*初始化端口*/

m_Link_UDP.Init (m_HBControlPara.m_pLocalIP,m_HBControlPara.m_pPeerIP,m_HBControlPara.m_uLocalPort,m_HBControlPara.m_uPeerPort);

m_Link_Async.Init(m_HBControlPara.m_pLocalCom);

m_uTimeOut=g_HBControlPara.m_uMaxTickCount;//初始化节点

m_Link_UDP.m_pParent=this;m_Link_Async.m_pParent=this;

启动仲裁单元初始化要素,如表1所示。

表1主备切换主要单元数据表

程序启动完毕后系统根据配置文件辨别A、B机,心跳检验软件单元开始创建网络接收心跳线程,当在网络上3 s内为发现有主机发送心跳信息时,依据设计准则将自己提升为主机,并通过网络向其他设备发送主机的心跳信息;如果启动发现能接收到网络其他设备发来的主机心跳信息,依据设计准则认为主机存在,将自己创建为备机,成为备机如果有3 s检测不到主机发送的心跳信息,便依据设计准则将自己提升为主机,双机备份软件处理流程如图3所示。

图3 双机备份软件处理流程图

4.2 对外通信流程

接收用户对主备机的选择,然后根据选择结果向其他席位软件发出主备消息,通过消息参数传递主备信息。通过网络信息实时接收本席位其他软件的主备状态信息进行状态显示,主备切换本机主备状态发生改变时,通过网络信息触发本席位其他软件改变当前主备机状态。与其他软件通信状态只有正常、故障和未知3种状态,设计函数模型如下:

int GetPeerStatus()

{

if(!m_PeerOnline)//正常再线状态

return 0;

if(m_PeerStatus)//故障状态

return 1;

else

return-1;//未知状态

}

主备切换软件根据计算机的本机网络地址和配置信息辨别自己的主备状态,工作流程是:根据主备机信息辨别本机是发令软件或受令软件,发令软件发送控制命令,改变双机备份软件和本机其他软件主备状态,受令软件在远方接收控制命令,改变双机备份软件和本机其他软件的主备状态。

4.3 人工切换

强制切换软件单元是指在遇到特殊情况下,依据设计准则,可以手动地切换到对应的非故障系统[5],人工干预将2台计算机一台设为主机,一台设为备机。主备切换示意图如图4所示。

图4 主备切换示意图

在强制切换模式下,程序均不在响应远程网络设置,此功能就是由操作人员强制软件产生一台主机和一台备机,或遇到特殊环境,可以产生2台备机,切断与测控设备的实时通信。模型如下:

SwitchMain();//强制升为主机的函数

SwitchCopy();//强制降为备机的函数

if(f_pApp->m_uSwitchMode==1)//手动切换模式下不响应心跳模块的状态判断return;

5 工程中的应用

目前设计的双机备份的软件在一些测控网络系统中开始实验并应用,实验证明双机备份是解决由软硬件故障引起的可靠性降低的有效措施高,是提高测控网络安全性和可靠性的有力保障。当前根据系统设计在自动模式下,软件可以达到显示18种状态图,这里不在逐一显示。分别显示了双机备份软件在系统应用时的2种状态,如图5和图6所示。

图5 主机软件显示状态示意图

图6 备机软件显示状态示意图

6 结束语

本文给出了双机备份软件在测控网络系统的实现和设计方法,该技术较为成熟、操作简单和成本相对较低,具有安装维护简单、稳定可靠和监测直观等优点。在测控软件中,往往对设备的可靠性要求很高,需要设备能够长期不间断地可靠运行,因此设备的可靠性设计是设备开发的关键内容,也是保障设备可用性的重要环节。双机备份技术保证了测控系统在异常状态下的快速恢复能力,能有效的提高装备的生存能力,双机备份技术在测控网络保障中将会得到了广泛的应用[6]。

[1]邓宏宇,王立夫.外军无人机数据链发展及趋势[J].舰船电子工程,2011,11(3):15-17.

[2]贾文涛.高可靠性在双机备份系统的设计与评估[D].国防科大硕士论文,2010(11):1-67.

[3]唐永林.监控管理中双机备份技术研究[J].计算机与网络,2008,5(13):37-42.

[4]徐立云,邵惠鹤.一种双机备份系统的软实现[J].测控技术,2000,19(8):43-44.

[5]陈 宝,高仲辉,郝立勇.机场多普勒天气雷达双机备份技术及可靠性分析[J].成都信息工程学院报,2012,27(3):247-252.

[6]杨玲,黄海,侯颖.基于分布存储的嵌入式系统双机备份设计[J].计算机与现代化,2007,2(2):16-21.

猜你喜欢

双机测控备份
“备份”25年:邓清明圆梦
双机、双桨轴系下水前的安装工艺
《测控电路》实践教学改革探讨
双机牵引ZDJ9道岔不同步问题的处理
Loader轴在双机桁架机械手上的应用
基于现代测控技术及其应用分析
向着新航程进发——远望7号测控船首航记录
浅析数据的备份策略
基于USB2.0协议的通用测控通信接口设计
出版原图数据库迁移与备份恢复