双机热备技术

2024-06-02

双机热备技术(精选7篇)

双机热备技术 篇1

1、引言

伴随着医疗改革的步伐, 医院信息化建设面临着更高的要求, 医院信息化程度越来越高, 医院对于信息系统的依赖性也越来越大, 信息系统稳定持续地运行变得越来越重要, 由于计算机软件和硬件都会不可避免地发生故障, 而这些故障都可能给医院带来极大的损失, 如何尽最大可能避免或减少网络软硬件故障成为医院信息管理人员需要思考的问题, 当前有许多技术手段来解决各方面的故障隐患, 而双机热备技术是其中一项重要的措施, 它能够解决因服务器软硬件故障所导致的信息系统瘫痪问题, 能够在较短的时间内恢复系统的运行, 维护了医院的就医秩序。

2、双机热备的概念

双机热备, 就是将中心服务器安装成互为备份的两台服务器, 并且在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时, 另一台备份服务器会迅速的自动启动并运行 (一般为1至2分钟左右) , 从而保证整个网络系统的正常运行。双机热备的工作机制实际上是为整个网络系统的中心服务器提供了一种故障自动恢复能力。双机热备服务是很多企业正在使用或者早就成熟应用的技术。在医疗系统中也得到广泛的应用。双机热备服务这一概念包括了广义与狭义两种意义。

2.1 广义上的双机热备

从广义上讲, 就是对于重要的服务, 使用两台服务器, 互相备份, 共同执行同一服务。当一台服务器出现故障时, 可以由另一台服务器承担服务任务, 从而在不需要人工干预的情况下, 自动保证系统能持续提供服务。

双机热备一般情况下需要有共享的存储设备。但某些情况下也可以使用两台独立的服务器。实现双机热备服务, 需要通过专业的集群软件或双机软件。

2.2 狭义上的双机热备

从狭义上讲, 双机热备服务特指基于active/standby (工作/备用) 方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写入, 或者使用一个共享的存储设备。在同一时间内只有一台服务器运行, 当其中运行着的一台服务器出现故障无法启动时, 另一台备份服务器会通过软件诊测 (一般是通过心跳诊断) 将standby机器激活, 保证应用在短时间内完全恢复正常使用。

3、双机热备在医院信息维护中的重要性

医院信息中心是医院信息化枢纽, 医院的诸多核心业务, 如HIS服务 (医院信息系统) 、PACS业务 (影像归档和通信系统) 、LIS业务 (医院实验室信息管理系统) 等都需要不间断地运行。

服务器的故障可能由各种原因引起, 如设备故障、操作系统故障、软件系统故障等等。一般地讲, 在技术人员在现场的情况下, 恢复服务器正常可能需要10分钟、几小时甚至几天。从实际经验上看, 除非是简单地重启服务器 (可能隐患仍然存在) , 否则往往需要几个小时以上。而如果技术人员不在现场, 则恢复服务器的时间就更长了。而对于医院的业务系统而言, 是不允许这么长时间的故障, 病人也不可能等待这么久的时间。因此, 就需要通过双机热备服务, 来避免长时间的服务中断, 保证系统长期、稳定的运行。在考虑双机热备服务时, 需要注意, 一般意义上的双机热备都会有一个切换过程, 在切换过程中, 服务是有可能短时间中断的。但是, 当切换完成后, 服务将恢复正常。因此, 双机热备服务不是无缝、不中断的, 但它能够保证在出现系统故障时, 能够很快恢复正常的服务, 业务不致受到影响。而如果没有双机热备, 则一旦出现服务器故障, 可能会出现几个小时的服务中断, 对业务的影响就可能会很严重。我们难以想像, 当出现故障的时候, 医生无法使用计算机开单, 收费室病人将排起长队等待故障的解决, 这些无论是对于医院还是对于病人都是很大的麻烦, 特别是对于医院信息中心的工程师来讲, 将面临巨大的压力。既然双机热备服务无法做到"零切换"那么, 我们还要继续使用它吗?因此, 决定是否要使用双机热备服务, 我们要分析一下系统的重要性和服务中断的可忍受程度。我们能容忍多长时间恢复服务, 如果服务不能恢复会造成多大的影响。以此决定是否使用双机热备。另有一点需要强调, 即服务器的故障与交换机、存储设备的故障不同, 其概念要高得多。原因在于服务器是比交换机、存储设备复杂得多的设备, 同时也是既包括硬件、也包括操作系统、应用软件系统的复杂系统。不仅设备故障可能引起服务中断, 而且软件方面的问题也可能导致服务器不能正常工作。

其他的一些防护措施如磁盘阵列 (RAID) 、数据备份等也是非常重要的, 但却不能代替双机热备服务的作用, 它们和双机热备是不同的。

4、双机热备与其它备份方式的区别

4.1 双机热备方案与数据备份的区别

双机热备技术的出现让很多企业开始矛盾, 自己的数据备份用的很好还有没有必要进行双机备份技术呢。其实这个问题就在开始的时候就存在着, 一些用户在规划双机热备或双机备份技术时, 会有这样的问题:我已经有了磁盘阵列 (RAID) , 以及磁带备份, 还有必要做双机吗?或者, 如果我做了双机备份技术, 还有必要做磁带备份吗?

应该说RAID和数据备份都是很重要的。但是, RAID技术只能解决硬盘的问题, 备份只能解决系统出现问题后的恢复。而一旦服务器本身出现问题, 不论是设备的硬件问题还是软件系统的问题, 都会造成服务的中断。

因此, RAID及数据备份技术不能解决避免服务中断的问题。对于需要持续可靠地提供应用服务的系统, 双机备份技术还是非常重要的。只要想一想, 如果你的服务器坏了, 你要用多少时间将其恢复到能正常工作, 医院能容忍多长的恢复时间就能理解双机备份技术的重要性了。

从另外一个方面, RAID以及磁带备份也是非常需要的。对于RAID而言, 可以以很低的成本大大提高系统的可靠性, 而且其复杂程度远远低于双机。因为毕竟硬盘是系统中机械操作最频繁、易损率最高的部件, 如果采用RAID, 就可以使出现故障的系统很容易修复, 也减少服务器停机进行切换的次数。

数据备份更是必不可少的措施。因为不论RAID还是双机备份技术, 都是一种实时的备份。任何软件错误、病毒影响、误操作等等, 都会同步地在多份数据中发生影响。因此, 一定要进行数据的备份 (不论采取什么介质, 都建议至少要有一份脱机的备份) , 以便能在数据损坏、丢失时进行恢复。

4.2 双机热备方案与集群的区别

从概念上来讲, 双机热备属于集群中的一种。集群一般包括两类:一类是纯应用服务器的集群, 即各个应用服务器都访问统一的数据库服务器, 但彼些并不需要文件共享存储等, 这种集群是比较简单的。另一类是数据库服务器的双机热备, 这种双机热备实现, 一般是两台服务器同时使用共享的存储设备, 并且在普遍的情况下, 均采取主、备的方式 (也有高端的系统采用并行的方式, 即两台服务器同时提供服务) 。

5、如何选择与实施双机热备的配置方案

(1) 以应用为主导, 进行认真的分析。以高可用性为宗旨。

(2) 考虑是采用数据库双机热备还是应用服务器集群、还是软件备份方式。

(3) 选择确定具体的设备、软件的型号等。不同的软件或是硬盘等存储设备, 他们之间存在兼容性的问题, 因此在购买之前应咨询专业人员, 不要出现采购了双机软件对相关的存储设备存在不兼容等现象。

(4) 在实施完成后, 一定要进行测试, 以确保工作正常, 而且应注意在运行过程中定期的对系统是否能够正常切换进行测试。

6、双机热备方案的组建方式

双机热备方案在进行讨论的时候一定要考虑到很多的因素, 不同的环境不同的应用需求可以有不同的选择方式, 还要考虑到所购设备的兼容性、稳定性因素以及不同的技术人员对不同产品的技术熟悉程度。

双机热备一般有两种常用方式。一种方式是使用两台服务器, 一台作为主服务器 (Active) , 运行应用系统来提供服务;另一台作为备机, 安装完全一样的应用系统, 但处于待机状态 (Standby) 。当active服务器出现故障的时候, 通过软件诊测将standby机器激活, 保证应用在短时间内完全恢复正常使用。另一种方式是双机互备方式, 双机互备方式则是在双机热备的基础上, 两个相对独立的应用在两台机器同时运行, 但彼此均设为备机, 当某一台服务器出现故障时, 另一台服务器可以在短时间内将故障服务器的应用接管过来, 从而保证了应用的持续性, 这种方式实际上是双机热备方案的一种应用。但目前使用最多的依然是主从模式的双机热备方案。

目前基于存储共享的双机热备是双机热备方案的最标准方案。对于这种方式, 采用两台服务器, 使用共享的存储设备 (磁盘阵列柜或存储区域网SAN) 。两台服务器可以采用主从、互备等不同的方式。在工作过程中, 两台服务器将以一个虚拟的IP地址对外提供服务, 依工作方式的不同, 将服务请求发送给其中一台服务器承担。同时, 服务器通过心跳线 (目前往往采用建立私有网络的方式) 侦测另一台服务器的工作状况。

经过与同行业其它专业人员的交流以及听取网络设备销售商的意见后, 我们医院信息科经过讨论, 权衡稳定性以及价格等因素, 考虑到医院实际情况, 决定采用两台IBM X3650服务器和一台DS3200存储设备, 共享存储的方式, 利用双机热备软件实现两台服务器的双机热备方式。

双机热备方案所需软硬件清单如下:

1、IBM X3650服务器2台

2、IBM DS3200磁盘柜一台 (双控制器, 双SAS接口)

3、SAS HBA卡2块 (每台服务器各加一块)

4、双机模块 (子卡) 一块

5、SAS连接线2条

6、双机热备软件一套

7、结论

配置好整个方案后, 我们经过实际测试, 人为给主服务器制造故障, 系统能够根据心跳侦测的情况做出判断并经过大约2分钟的时间自动切换到备用服务器, 业务得以继续运行。这增加了医院网络的稳定系数, 给医院临床服务提供了更大的保障。但是, 我们也应该意识到, 这种双机热备的方案仅能够保障单台服务器出现故障的自动切换, 如果存储设备出现故障的话, 就会形成存储设备的单点故障, 业务运行仍会受到影响, 因此, 如果有条件的话, 应该配置两台存储设备, 互为备份, 从更高的层次去保障系统业务的持续稳定运行。

摘要:随着科技的发展, 各大医院和绝大多数基层医院已摆脱了手工收费的方式, 信息系统在各医院的应用给医院和病人带来了很大的方便。但同时信息系统的稳定性给医院信息科提出了更高的要求。医院信息系统一旦瘫痪, 后果难以想象, 因此, 建设高可靠的网络软硬件环境至关重要。本文就有关双机热备技术在医院数据中心的应用略作探讨。

关键词:双机热备,医院信息系统,存储备份

参考文献

[1]刘鹏, 马晓明.在医院局域网中利用LifeKeeper实现服务器的双机热备份.中国医药导报, 2006年12期

[2]http://itbbs.pconline.com.cn

[3]http://www.watchstor.com

双机热备技术 篇2

本文所讨论的双机热备方案主要着眼于人民银行多项重要业务系统, 该技术方案能够在避免单点故障的同时, 充分利用备份系统的性能, 从而提升业务系统的整体处理能力, 享受系统带来的高可靠性和高可用性。

二、双机热备的概念

双机热备这一概念有广义与狭义之分。从广义上讲, 就是对于重要的服务, 使用两台服务器, 互相备份, 共同执行同一服务。当一台服务器出现故障时, 可以由另一台服务器承担服务任务。

从狭义上讲, 双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写入, 或者使用一个共享的存储设备。

三、双机热备的重要性

双机热备可以有效的提高系统的可靠性和可用性。假设计算机系统的MTBF (平均故障间隔时间) 为半年 (4380小时) , 系统的修复时间 (MTTR) 为24小时。根据按MIL-HDBK-217的标准来计算, 采用双机热备技术的系统, 其MTBF可以从单机的4380小时提高到3.997×105小时 (约为45年7个半月) , 其可用性可以从单机的99.455041% (1年中有2天设备无法使用) 提高到99.99400% (1年中有不到32分钟无法使用) 。

四、双机热备解决方案

(一) 共享存储设备方式

对于这种方式, 采用两台服务器, 使用共享的存储设备 (磁盘阵列柜或存储区域网SAN) , 并安装双机软件, 两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中, 两台服务器将以一个虚拟的IP地址对外提供服务, 依工作方式的不同, 将服务请求发送给其中一台服务器承担。同时, 服务器通过心跳线侦测另一台服务器的工作状况, 当一台服务器出现故障时, 另一台服务器根据心跳侦测的情况做出判断, 并进行切换, 接管服务。由于使用共享的存储设备, 因此两台服务器实际上使用的是一样的数据, 由双机或集群软件对其进行管理。

此方案存在的问题是:投资大, 需要购买磁盘阵列柜;共享的存储设备形成新的单点故障。

(二) 纯软件方式

对于纯软件方式, 是通过镜像软件对每个服务程序, 建立服务程序与数据镜像集之间对应的关系, 无论服务程序运行于哪一个服务器, 始终保证其所使用的数据在对端服务器有一份镜像存在;当一台服务器由于硬件或软件原因发生故障失效, 另外一台可在保证提供自己原有服务的同时, 启动失效服务器的应用程序从而取代其服务器功能。

与传统的双机系统相比, 纯软件双机热备份系统的两台服务器之间少了公共的存储设备, 但是多了网络数据镜像软件。

此方案存在的问题是:可靠性相对较差, 两服务器间的数据实时复制是一个比较脆弱的环节;一旦某台服务器出现中断, 恢复后还要进行比较复杂的数据同步恢复, 并且, 这个时段系统处于无保护状态;没有事务机制, 由于其复制是在文件和磁盘层进行的, 复制是否成功不会影响数据库事务操作, 因此会出现数据不完整变化的情况, 这个存在着相当的风险。

五、双机热备纯软件方式的实现

(一) 双机热备系统架构

根据目前人民银行服务器配备情况, 设计了具体实现的系统架构。具体配置如下:

1.两台服务器为HP Pro Liant ML370系列服务器, 每台服务器配置为:CPU为Xeon 3.4G, 内存为1G*2, 硬盘为SCSI 72.8GB*3, 两块千兆网卡。

2.每台服务器3块SCSI硬盘做RAID5磁盘阵列。

3.服务器双机热备采用Active/Standby主从工作模式。主从模式是最标准、最简单的双机热备。它使用两台服务器, 一台作为主服务器 (Active) , 运行应用系统来提供服务。另一台作为备机, 安装完全一样的应用系统, 但处于待机状态 (Standby) 。当active服务器出现故障的时候, 通过心跳诊断将standby机器激活, 保证应用在短时间内完全恢复正常使用。

4.双机热备采用纯软件模式, 镜像软件采用ROSE MIRROR HA。两台服务器之间采用TCP/IP网络和RS232串口建立两条心跳线路, 两台服务器通过心跳线互相侦测。

(二) 工作原理

系统起动后, ROSE MIRROR HA首先启动HAMANAGER管理程序, 根据高可用性系统的配置结构初始化, 然后启动必要的服务和代理程序来监控和管理系统服务。代理程序用来监控、监测、诊断和管理硬件软件服务。

代理程序检测到该服务处理于活动状态, HAMANAGER就会认为该服务处于活动状态, HAMANAGER会定时通知后备服务器上的HA MAN-AGER, 使每项服务处于正常。当代理程序检测到某个服务发生故障时, 它就通知HA MANAGER管理程序。ROSE MIRROR HA首先会重新启动该服务多次 (可由用户设定) , 如果启动不能成功, 该服务会由ROSE MIRROR HA转移到后备服务器上。

ROSE MIRROR HA周期性地检测系统硬件的状态, 如果硬件发生故障, 会把与该硬件相关的服务转移到后备服务器上。某项服务发生转移时, ROSE MIRROR HA首先在运行服务器上停止该服务, 之后, 由备份服务器上的ROSE MIRROR HA在备份服务器上启动该服务。由于停止和启动该服务都需要一定的时间, 所以当服务切换时, 该服务会有一个短暂的中断, 在切换完成后, 该服务自动恢复正常运行。

(三) 纯软件双机热备的优点

之所以选择纯软件方式进行双机热备是因为人民银行业务系统对硬盘空间的要求不大, 一般20G以内即可, 同时双机热备软件技术发展越来越成熟, 安装维护简单, 功能强大。主要优点有:

1.避免了磁盘阵列的单点故障:对于双机热备, 本身即是防范由于单个设备的故障导致服务中断, 但共享的磁盘阵列恰恰又形成了一个新的单点 (比如, 服务器的可靠系数是99.9%, 磁盘阵列的可靠系数是99.95%, 则纯软双机的可靠系数是1-99.9%x99.9%=99.99%, 而基于磁盘阵列的双机热备系统的可靠系数则会是略低于99.95%) 。

2.节约投资:不需购买昂贵的磁盘阵列。

3.不受距离的限制:两台服务器不需受SCSI电缆的长度限制 (光纤通道的磁盘阵列也不受距离限制, 但投资会大得多) 。这样, 可以更灵活地部署服务器, 包括通过物理位置的距离来提高安全性。

参考文献

[1]姜坚华.双机热备系统的技术研究和具体实现[J].微型电脑应用, 2004.

[2]刘晓洁, 黄永佳.基于Linux的双机热备系统的实现技术[J].计算机应用研究, 2007.

[3]郑军, 付强, 李权.一种纯软件的双机热备份算法[J].计算机应用, 2002.

双机热备技术 篇3

一、背景

人行南宁中支以资源整合为出发点, 搭建了金融城域网DMZ区虚拟化平台, 并利用VMware-Converter-Agent技术实现了将TIPS和PICP MQ前置系统迁移到虚拟化平台的工作, 通过ESX提供的自动接管功能实现虚拟机失效时操作系统层面的迅速恢复, 如图1所示。

然而, 该平台只能实现服务器主机层面和非内核文件丢失的操作系统层面的高可用性, 并不能很好地解决因操作系统内核文件丢失导致的故障以及应用层面产生的故障。仅基于虚拟化技术无法自动检测、自动恢复的故障有以下两种:一是操作系统内核文件丢失导致虚拟机损坏的情况;二是在服务器硬件以及操作系统未发生故障时, 由于间歇性网络故障或MQ软件故障导致部分通道、队列无法正常通信的情况。

TIPS和PICP MQ前置系统直接面向财政、税务以及各金融机构的重要单位, 其运行的稳定性直接对辖区的经济金融产生重要影响。基于上述考虑, 人行南宁中支亟需一种可行的能满足TIPS和PICP MQ前置系统应用级双机热备的解决方案, 以确保系统运行的稳定性以及业务的连续性。

二、应用级双机热备方案

(一) 双机软件的选择

传统的双机热备软件一般只能监控物理服务器及操作系统的状态, 很难监控应用级别, 而VCS软件能提供跨平台高可用性解决方案, 该软件能嵌套在现有VMware ESX虚拟化环境, 并对虚拟化环境的高可用功能进行扩展, 不仅可以监控虚拟机本身和底层服务器的运行状况, 也可以监控虚拟机中的应用程序。因此, 选择VCS作为应用级双机热备方案的双机软件。

(二) 方案设计

本文提出的应用级双机热备方案主要依托金融城域网DMZ区虚拟化平台, 利用VCS双机软件建立TIPS和PICP MQ前置系统虚拟集群, 并对系统的应用层面进行监控, 以实现系统故障恢复的简化和自动化。

1. 拓扑结构

TIPS和PICP MQ前置系统虚拟集群拓扑如图2和图3所示。

每个虚拟集群由两台虚拟机 (一主一备) 和一块共享盘组成, 其中TIPS-A, TIPS-B, PICP-A和PICP-B虚拟机是通过DMZ区虚拟化平台下的TIPS和PICP MQ系统的虚拟机克隆方式生成的, 所有虚拟机及共享盘的文件都在DMZ区虚拟化平台共享存储阵列的管理范围内。

2. 网卡规划

虚拟集群中每台虚拟机必须至少配置3块网卡, 其中1块作为生产网卡, 两块作为VCS双机软件在主备虚拟机之间配置使用的心跳网卡。

每台虚拟机的3块网卡应属于不同的独立VLAN。主备虚拟机之间相互对应的网卡应属于相同的VLAN, 须分配相同VLAN的IP地址。另外, 可为心跳网卡分配私有IP地址, 见表1所列。

3. 共享盘配置信息

通过VMware虚拟化平台自带功能, 创建虚拟集群中的共享盘, 其磁盘格式应设置为厚置备置零。由于在单机模式下TIPS MQ前置系统的所有队列及通道信息 (包括各通道发送及接收序号) 都存储在指定目录 (默认在目录“/var/mqm”) 下, 因此需要将指定目录下的所有数据复制到共享盘中, 在主备虚拟机分别加载共享盘后, 能确保MQ配置信息及通道序号的一致性。

4. 自定义监测脚本

在集群中两台虚拟机均要部署自定义监测脚本, 该脚本主要用于监测MQ发送通道的状态, 并实时向VCS双机软件返回监测结果, 从而实现VCS对系统应用层面的监控。在VCS双机软件中为每个MQ发送通道配置一个ONLINE标志文件, 只要该文件存在, 则说明MQ资源状态为ONLINE;如果文件不存在, 则说明MQ资源状态为OFFLINE。

在进行脚本监测过程中, 先判断MQ发送通道的ONLINE标志文件是否存在, 如果存在, 则需要判断发送通道的状态是否为“R ET RY ING”或者“BINDING”;如果此时被监测的MQ发送通道的状态为“RETRYING”或者“BINDING”, 则说明MQ发送通道发生异常, 需对MQ发送通道依次发送stop, reset和start的操作命令, 并写入相关日志文件, 否则不进行任何操作, 如图4所示。

5. VCS双机切换规则

VCS对主机网络状态、操作系统、共享盘、MQ队列管理器进行实时监控, 若监控资源状态发生异常, 将触发切换动作。因考虑导致MQ通道状态变化的因素存在不确定性, MQ通道状态发生异常时仅通过自定义监控脚本进行处理, 而不做双机切换操作。

三、效果对比

目前, 人行南宁中支已顺利完成TIPS和PICP MQ前置系统的应用级双机热备改造工作, 极大提升系统故障自动处理能力, 展示了TIPS和PICP MQ前置系统分别在物理单机、虚拟单机及虚拟集群模式下处理故障的对比情况, 具体见表2所列。

四、结语

由虚拟化平台和VCS软件建起的应用级双机热备系统, 能有效地处理主机硬件、操作系统、MQ队列、MQ通道等故障, 确保系统运行的稳定性以及业务的连续性。然而, 为保障应用级双机热备系统的高效稳定运行, 仍需在运行维护过程中不断总结经验, 使该系统发挥更大作用。

双机热备技术 篇4

为响应国家节能减排的工作目标, 考虑到供热成本急剧增加, 且集中供热因具有节约能源和改善城市环境等方面的积极作用, 而成为城市公用事业的一个重要组成部分。作为集中供热系统的主要组成部分——热网首站, 及热网中继泵站, 成为热源输出的重要关口。2008年11月由我负责调试完成哈尔滨市呼兰区某大型热网首站自控系统, 2011年3月由我负责调试完成哈尔滨市呼兰区某大型热网中继泵站自控系统。此大型热网设计目标为亚洲最大热电联产项目, 设计供热面积3000万平方米, 热源换热方式为:汽-水换热;热网换热方式为:水-水换热。

2 热网首站及中继泵站自控系统的设计要求

该热网首站整体设计:蒸汽源为一期2台30万MW和二期2台60万MW汽轮机尾气, 一期汽-水换热器为6台, 二期汽-水换热器为8台, 热网循环泵5台, 其中#1、#2循环泵共用1台高压变频器, 其他热网疏水泵、热网补水泵若干, 电动门若干。

该热网中继泵站整体设计:6000V供水加压泵5台, 6000V回水加压泵5台, 其中#1、#2供/回水加压泵共用1台高压变频器, 其他热网补水泵、电动门、电动调节门若干。

根据生产工艺设计要求, 热网首站及中继泵站自控系统均采用典型的两级监控方式。上位机以标准的工业控制计算机作为主要的人机界面, 即生产管理级, 完成对生产监控、生产操作、生产数据记录、生产数据分析等, 主要面向操作人员;下位机由施耐德高端PLC-Unity Quantum控制器构成, 即基础测控级, 完成生产现场的数据采集及过程控制等, 主要面向生产过程。

2.1 数据采集。

在生产过程中, 存在大量的物理量, 模拟量如温度、压力、流量、液位, 开关量如阀门状态, 变频器控制令等, 需要通过PLC对这些现场参数进行实时采集和处理。

2.2 自动控制。

第一类为现场PID控制, 即一个关键数据变化, 相关联的其他可控设备自动动作, 达到另一个对应关系值。第二类为现场控制联锁, 即由一个关键数据引发, 按预期设置, 形成一系列控制动作触发。第三类为日程设定, 根据时间预设, 触发某些动作指令。

2.3 远程控制。

对现场提供可远程操作的设备进行操作。

3 Unity Quantum双机热备技术的主要特点

3.1 高可靠性。

双机热备系统具有非常高的可靠性, 体现在以下三个方面: (1) 控制系统为冗余的双CPU设计, 运行时一主一备, 并通过光纤连接; (2) 控制系统为冗余的双通讯通道, 控制系统间通讯网络采用Modbus Plus或TCP/IP协议, 控制系统内部采用RIO网络结构, 以上网络均可以采用双缆冗余方式; (3) 控制系统为冗余的双电源供电。

3.2 正常工作时互为热备的控制器具有的特性。

(1) 实时数据传输, 确保双CPU程序的完全一致; (2) 每个扫描周期均传送数据及状态信息, 确保双CPU工作状态的完全一致; (3) 两个控制器之间采用HSBY光纤连接, 热备控制器可放于2km之外; (4) 主控制器执行应用程序, 控制RIO, 在每次扫描 (程序周期) 之后更新备用控制器, 如果主控制器故障, 备用控制器在一个扫描周期内将起控制作用; (5) 初次组态时, 用户快速、有效只需下装一次程序, 空白控制器自动传送, 其他情况可使用命令寄存器系统位%SW60.5传送; (6) 使用Unity XL组态软件进行配置; (7) Unity Quantum支持模件热更换, 即运行时更换模件。

3.3 便捷安全的热备切换方式。

(1) 将主控机液晶面板控制从RUN切到OFFLINE, 即可完成手动热备切换; (2) 通过程序切换; (3) 在电源失效, 或CPU失效, 或I/O失效 (电缆或模板) , 将完成CPU的自动切换。

4 热网首站及中继泵站Unity Quantum双机热备系统构成

4.1 一套完整的双机热备系统必须包括以下设备。

(1) 两块完全相同的CPU 67160控制器; (2) 两块完全相同的机架背板; (3) 每个机架各有两块完全相同的电源模件; (4) 两块完全相同的RIO处理器; (5) 热备连接光纤; (6) 远程IO连接适配器组件:分支器MA-0185-100、分离器MA-0186-100, 终端电阻52-0422-000; (7) 外围通讯端口:以太网, 或Modbus/Modbus Plus; (8) 远程IO分站及相应模件。

4.2 选定硬件设备后, 需要按照如下的顺序安装热备系统。

(1) 安装本地站和远程站的电源模块, CPU, RIO处理器, TCP/IP模块到背板, 需要注意的是热备系统两个底板上安装的模板种类和顺序必须一致。IP地址备机自动加1; (2) 连接网络, 包括安装RIO网络和Ethernet网络, 按照网络结构图, 分别安装RIO处理器和远程站之间的分支器和F接头, 连接RIO站间的同轴电缆, Ethernet交换机和网线; (3) 连接两个hot standby模块之间的光纤。

4.3 编程和上位监控系统。

首先确定编程和上位监控系统与PLC之间选择TCP/IP的通讯协议。组态软件Unity XL和上位监控软件都支持TCP/IP的通讯协议, 只要将网络搭建起来即可。需要的主要设备如下: (1) 编程和上位监控系统微机需配备Ethernet网卡;

(2) 为了与热备的PLC通讯, 需要安装Ethernet交换机。

4.4 热备系统硬件网络的构成。

根据对PLC系统和编程和上位监控系统的选择, 确定整个控制系统的硬件网络结构。其中, PLC系统为双机双缆冗余热备系统, 其主机IP为192.168.1.10和192.168.1.11, Unity-Quantum PLC主机与工控机之间采用TCP/IP通讯协议, 工控机IP地址为192.168.1.12。

4.5 热备系统CPU的软件组态。

使用Unity XL软件来组态项目, 在创建一个新的项目的时候, 需要设置热备选项。设定此选项的目的就是为了安装相应的热备系统支持程序到控制器中, 在Unity XL版本中, 这些支持程序是和软件绑定在一起的, 在热备选项中设置CPU的运行模式, 主从CPU逻辑不匹配时工作状态, 非传输区域等必要运行项。

完成上述的硬件配置和设定工作之后, 分别将项目的配置下装到两个CPU中, 热备系统就已经建立起来。

5 结论

基于PLC的双机热备系统 篇5

现代工业控制中,自动化设备的应用越来越广泛,极大提高了系统的安全性和可靠性,但在一些特定的场合,一旦控制设备发生故障,系统停机会造成严重后果[1,2],因此一些公司开发了具有双机热备份功能的系统,从硬件上实现系统的冗余设计,增加可靠性,保障安全。但对一些中小型的控制系统来说,采用这样的硬件产品,设备量增加,成本过大[3,4]。某转台驱动系统要求设备24 h工作,出现故障后不停机维修,需要设计成有冗余备份的系统。该设计采用了两套小型PLC产品,通过软、硬件冗余构成一套双机热备系统。

在双机热备系统中两套设备都处于热机状态,一旦一套出现故障,另一套设备立即接管所有工作任务。双机热备系统通常有两种运行方式:一种是Online方式,两套设备同时工作,分别担负不同的任务,均衡负载;另一种是Standby方式,备机不工作,只监测主机的工作状况。这两种方式各有利弊,Online方式的投入成本大,运行起来有一定困难,Standby方式由于要在主、备机之间进行切换,切换时间主要由所使用的控制器来决定,所耗时间对有些系统来说可能太长[5,6]。本研究考虑到该驱动控制系统主要用于转台驱动控制,允许的切换时间为1 s,采用的PLC控制器可以将系统的切换时间控制在10 ms以内,因而采用Standby方式可以满足系统要求。

根据双机热备系统的要求,硬件结构除了实现系统控制功能外,还要兼顾双机热备功能的实现。两套PLC系统具有完全一致的硬件结构,主要由CPU模块、数字量输入输出模块、通讯模块等构成。系统之间互为备份,通过I/O端口、RS232串口和以太网相连接,系统运行的关键数据在两个系统之间呈镜像存在。在正常工作时,控制权在主机上,主机采集各类状态信息,控制各外部设备工作,主要数据通过通讯接口镜像到备机上。当主机发生故障时,按照设定的监测机制,在一定时间内,控制权切换到备机上,备机升级为主机工作,载入镜像数据,接管整个系统的控制运行。在不干扰备机的情况下,主机可脱离系统进行故障诊断和维修,修复后,投入运行,充当备机。

1 工作原理

双机备份思想的核心是将主要控制模块设计成互为备份的两套,同一时间有也仅有一套在运行,当主机出现故障,不能正常工作时,系统立即进行切换,备机接管系统,实现无扰动切换。

冗余备份系统在计算机技术中广泛采用,通常用心跳机制来不断监控系统,周期性地检测集群中节点机器的工作状态,发现故障点及时进行机器的切换。心跳机制(heartbeat)通过周期性地向系统中其他节电发送心跳信息并等待心跳回复信息来检测集群中节点机器的工作状态,当接受心跳检测的节点机器的工作状态变化时,它会把工作状态改变的情况封装在心跳回复中通知发送心跳检测的节点,如果发送心跳的节点在一定时间内没有收到心跳回复,则认为被检测的节点失效,通知集群管理软件或者采取其他相应措施,这就是心跳失效检测的原理[7,8]。在计算机应用中,通过网络和专用心跳检测软件包来实现其功能。

本研究考虑到工控领域的应用特点,结合PLC的硬件构成,借用计算机控制中的心跳检测方法,在PLC组成的双机热备系统中,用两对普通I/O端口来作为心跳检测的联络线,同时,通过通讯端口来执行实时数据的传输同步。

心跳线用PLC的硬件输入/输出通道来进行硬件上的连接,用两对通道来做心跳检测的信号线,主、备系统间输入/输出通道相互交叉连接,如图1所示。一对用高低电平来表示系统的工作情况,称为主备信号,一对用脉冲信号来进行系统状态的同步,称为时序信号。在软件中进行相应设计,对PLC系统进行状态监测和数据同步。以两对输入/输出通道作为心跳检测电路,充分利用了PLC硬件的特点,实时性好,可靠性高,同时两对通道可以互为冗余备份,相互验证系统的工作状态。

1.1 主备信号

主备信号传递系统的工作状态,主机工作时,将一路输出通道的信号置高输出到备机的输入通道,备机将该输入信号置低再输出到主机的输入通道。备机通过输入通道监视主机的工作状态,当在规定的最大时间间隔内,备机无法接收到主机的高电平信号,则认为主机已出现故障,备机自动切换到主机状态工作,相应的主备信号输出通道置高输出。同时,主机也不断监测备机的工作状态,当发现备机传送的主备信号异常时,发出故障指示。

1.2 时序信号

时序信号除了传递系统的工作状态外,还用于系统之间的同步运行,硬件连接方法和主备信号一致。主机工作时,通过一路硬件输出通道产生连续脉冲信号输出到备机的输入通道,该脉冲在PLC的每个循环周期内反向一次,即该脉冲频率为循环周期的2倍,备机将接受到的脉冲信号反向,再输出到主机的输入通道。主机和备机各自根据接收到的脉冲信号情况来判断彼此的工作状态,以执行对应的操作。同时,主机根据自身脉冲信号的状态,在上升沿扫描执行用户程序一次,备机则根据接收到的主机时序信号,遵循同样的方法,在每个脉冲的上升沿扫描执行程序一次,保证两套系统程序的节拍一致,同步运行。

1.3 数据同步

在系统运行时,为保证外部输入/输出的一致性,实现无扰动主备切换,需要在主机和备机之间进行数据的实时同步[9]。数据同步通过PLC的通讯端口来完成,同样采用冗余设计,利用RS232接口和网络同时将主机运行数据传递到备机,数据同步的速率和频率可根据用户程序的要求进行调节,但不能超过系统的循环周期。同步数据主要包括:主机从硬件通道直接获取的输入数据、主机程序运行所产生的外部输出数据、主机程序运行时产生的与程序历史进程相关的内部数据。在上述同步数据得到正确处理的前提下,备机无论何时投入运行,一旦切为主机,其控制输出行为都可以保证无扰动的切换。主备间数据同步示意图如图2所示。

双机热备系统建立后,在硬件上,任何一套正常工作的系统都可以作为主机,一旦主机停止工作,另一套系统马上取得控制权。在软件上,两套系统完全一致,对程序的任何在线更改不仅下载到主机上,同时也下载到备机上。

由于本研究采用了心跳监测机制,系统依靠心跳脉冲来判断状态和同步数据,其最小监测时间由心跳脉冲的频率来决定,意味着心跳频率越高,系统状态刷新就越快,其切换时间也就越短。对该转台驱动系统来说,综合考虑PLC控制器和软件运行情况,其切换时间控制在10 ms之内。

2 软件实现方法

根据上述的设计思想,本研究在软件设计过程中除了考虑系统功能的实现外,还要增加必要的应用程序接口,作为主备系统之间的传输通道,实现心跳监测机制,保证数据同步。软件中用一个单独的任务来进行心跳监测处理、接口变量和同步数据的传递[10]。

为了实现心跳机制,程序开始运行后,本研究在初始化里将一套系统默认为主机,另一套默认为备机,根据硬件通道的设置在主机的对应端口输出主备信号和时序信号,备机接收信号并反向输出给主机,按照心跳机制,主、备机同时开始循环监测系统状态。主备监测切换框图如图3所示,实际应用中考虑上位机的作用,允许上位机自由切换主备机,方便系统退出运行,进行检修维护。当前为主机时,心跳线输出主备和时序信号,开启硬件输入/输出通道,同时监测备机状态,上位机发出主备切换信号后,将本机置为备机;当前为备机时,监测心跳线信号,信号有效时,保持当前备机状态,关闭输入/输出通道。当心跳信号异常时,延时等待,超出设定时间后自动将本机置为主机运行,接管系统工作并告警。

在主备系统上,编制的应用程序是完全对等的,为了实现数据同步,软件中开辟iDI、iAI、oDO、oAO镜像数组,将硬件输入量映射到iDI、iAI镜像数组中,应用程序通过访问iDI、iAI来实现对外部输入信号的采集,oDO、oAO镜像数组输出数据到外部硬件输出通道,应用程序通过访问oDO、oAO来实现对外部输出通道的访问。

3 结束语

整个系统在PLC硬件的基础上,采用Standby工作方式,利用两对心跳线来保证主备系统之间能够安全有效同步运行,系统数据在两个系统之间传递,刷新时间10 ms,出现故障后,能及时进行切换。同时程序中引入多线程的设计思想,降低应用成本,使整个系统对外界呈现高可靠性的单机工作特性。

该转台驱动系统在实际工作环境中进行了两年多的实验验证,实践结果证明,系统设计可靠,运行稳定,效果良好,适用于对系统可靠性要求较高的各类控制监测系统。

参考文献

[1]AGGAWAL K K.Redundancy optimization in general sys-tems[J].IEEE Transactions on Reliability,1976,25(5):330-320.

[2]COIT D W,SMITH A E.Redundancy optimization of se-ries-parallel systems using a genetic algorithm[J].IEEETransactions on Reliability,1996,45(2):254-266.

[3]赵强,顾德英,汪晋宽,等.PLC双机热备系统设计及性能优化[J].仪器仪表学报,2005,26(8):636-638.

[4]文吉,丁杰雄,张步良.小型PLC双机数据交换模式研究[J].机械,2000,27(5):35-37.

[5]鲁连奎,张保平.PLC程控系统的数据通信和双机热备[J].测控技术,2000,19(5):62-64.

[6]徐鹏.PLC双机热备的建立及其实现[J].工业控制计算机,2005,18(6):78-79.

[7]HOU Zong-hao,HUANG Yong-xiang,ZHENG Shou-qi,etal.Design and Implementation of Heartbeat in Multi-ma-chine Environment[C]//17th International Conference onAdvanced Information Networking and Applications,AINA2003.Xi an:[s.n.],2003:583-586.

[8]BUYYA R.High performance cluster computing architectureand system[M].Beijing:Electronic Industry Press,2001.

[9]史文路.双机热备系统的研究与设计[D].南京工业大学电子与信息工程学院,2006:43-48.

双机热备环境下数据同步的研究 篇6

随着现代信息技术水平的不断发展,网络信息的稳定可靠越来越被各单位所重视,双机热备技术作为一项安全保障技术正不断广泛地被应用。而VPN设备作为网络传输线路中必不可少的一个内外网的接入点,当VPN设备出现故障将会导致内外网之间的网络业务全部中断。在这种关键业务点上为解决网络中断的风险,双机热备就成为最佳的解决方案,如图1所示。而当主VPN设备出现故障时,为使备VPN设备能够在不需要人工介入情况下,自动接替主设备的工作,保证网络系统持续运转,需要将主VPN设备中的会话密钥等数据同步到备VPN设备中,否则会话报文会被丢弃从而导致会话中断。为此我们需要选择一个最佳的、且适合本环境的数据同步方案。

1 数据同步的实现

在此双机热备的环境中数据同步的方式有批量备份和实时备份。

(1)批量备份。VPN设备工作了一段时间后,可能已经存在大量的会话密钥等数据,此时加入另一台VPN设备,在两台设备上使能双机热备功能后,先运行的VPN设备将已有的会话密钥等数据一次性同步到新加入的设备中。

(2)实时备份。VPN设备在运行过程中,可能会产生新的会话密钥等数据。为了保证数据的完全一致,主VPN设备在产生新会话密钥或数据变化后会及时备份到备VPN设备中。

根据我们VPN设备的实际应用环境,我们将采用纯软件的数据同步技术。当前流行的纯软件数据同步实现技术主要有drbd、rsync。在此双机热备环境中我们对rsync方式进行了研究。

2 RSYNC数据同步的研究

Rsync是linux下一款非常强大的数据镜像备份工具,采用差异同步的方法,可以镜像保存整个目录树和文件系统;可以很容易做到保持原来文件的权限、时间、软硬链接等;无需特殊权限即可安装;优化的流程,文件传输效率高;可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;支持匿名传输,只同步文件/文件夹的不同部分,同时可以对传输数据部分先进行压缩及解压缩操作,所以rsync的传输效率是很高的,通过rsync可以解决对实时性要求不高的数据备份需求;且rsync使用所谓的“rsync同步算法”来使主备机的数据文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

但是随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出了更好的要求,rsync在高端业务系统中也逐渐暴露出很多的不足之处,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的,而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。其次,rsync不能实时地去监测、同步数据,虽然可以通过linux守护进程的方式进行触发rsync同步,但是两次触发动作一定会有时间差,这样就导致了主备机数据可能出现不一致,无法在应用故障时完全的恢复数据。基于以上原因,我们考虑采用rsync与inotify相结合的方式解决这些问题。

Inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,Linux内核从2.6.13起,加入了对inotify的支持,它监控文件系统的操作,并及时向专门的应用程序发出相关的事件警告,比如通过inotify可以监控文件系统中的添加、删除、修改、移动等各种细微事件。利用这个内核接口,第三方软件inotify-tools就可以监控文件系统下文件或目录的各种变化情况,当文件数据有任何变动时,就触发rsync进行数据同步,从而达到主备机数据一致目的。

3 RSYNC数据同步的实现

Rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时rsync server会打开一个873端口,等待客户端去连接。连接时,rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份。

在我们的VPN设备的备机端,需要启动rsync的服务程序。这里以daemon模式去运行,打开防火墙的873端口,让rsync的服务端与客户端能够通过。在这里需要配置rsync的配置文件rsyncd.conf,当备机的rsyncd.conf文件配置完成后,让rsync以daemon模式后台运行"/usr/bin/rsync--daemon&"。本应用中rsync的配置文件/etc/rsyncd.conf如下:

在我们的VPN设备的主机端,利用inotify监控所需要同步的文件及目录。在shell脚本中使用inotifywait执行阻塞的等待inotify事件。当文件系统发现指定目录下有符合条件的文件发生变化时就触发相应的指令,这是一种主动告之并循环监控目录下的文件的异动的形式,该程序在运行时,更改目录内的文件时系统内核会发送一个信号,这个信号会触发运行rsync命令,这时会将主机源目录变化的文件同步到备机的目标目录。当向inotify监控的目录写入一个很大文件时,由于写入这个大文件时需要一段时间,此时inotify就会持续不停地输出该文件被更新的信息,这样就会持续不停地触发rsync去执行同步操作,将占用大量系统资源。针对这种情况,最理想的做法是等待文件写完后再去触发rsync同步,在这种情况下,可以将inotify的监控事件设为:“-e close_write,delete,create,attrib”。

在启用数据同步功能时,首先在主VPN设备上运行“rsync-vzrtopg--delete--progress$1$user@$ip::$dst--password-file=/etc/rsyncd.password”,以完成对主机上已存在的数据的批量备份,然后运行以下脚本进行实时备份。在此我们通过以下的shell脚步来完成对多目录、多文件的监控,将数据同步到备用设备上。这个脚本的作用就是通过inotify监控文件目录的变化,进而触发rsync进行同步操作,由于这个过程是一种主动触发操作,通过系统内核完成的,所以,比起那些遍历整个目录的扫描方式,效率要高很多。

在所有配置完成后,当在主VPN设备的/usr/local/data目录下添加、删除或者修改某些文件后,到备机的/usr/local/data目录下查看这些文件是否跟主设备该目录下文件一样发生变化。如图2所示,我们对主VPN设备的数据先进行批量同步,然后添加data1文件,并修改其内容,看到主设备数据已进行了同步的传输。查看备机设备发现其对应的目录文件已发生同步变化,由此我们利用rsync和intoify相结合方式进行实时数据同步的双机热备环境就配置成功了,且此方式已满足我们运用需求。

4 总结

根据实验结果,在VPN设备的双机热备环境下,利用rsync和intoify相结合的数据同步方式实时监测和同步数据,将VPN设备的主机会话密钥及数据实时同步到备机。实现了当主VPN设备发生故障时,流量主动切换到备VPN设备并且保障了当前业务持续正常运转。

摘要:针对VPN设备在双机热备环境下需要将主备机数据进行同步的实际需求,研究了rsync与inotify相结合的同步方式,以保障数据信息的同步。实际运行中当主设备发生故障时网络通信能够正常进行。

关键词:双机热备,数据同步,rsync,inotify

参考文献

[1]rsync.[EB/OL].http://rsync.samba.org.

[2]武特,陈君莉.基于inotify的内核态与用户态跨平台数据交互[J].西安邮电学院学报,2012(4):79-82.

[3]高俊峰.高性能Linux服务器构建实战[M].北京:机械工业出版社,2012.

[4]李雪,咸迪.跨平台文件共享系统设计与实现[J].计算机科技与发展,2012(6):191-194.

电动汽车主控制器双机热备的设计 篇7

随着日益加剧环境和污染问题, 电动汽车凭借其零污染、高效率以及结构简易的优点越来越受到人们的青睐。电动汽车主控制器作为整个电动汽车的通信与控制枢纽, 其稳定、可靠、有效、持续的运行直接关系到整个电动汽车的安全行驶。一旦电动汽车的主控制器发生严重故障, 将会带来惨重的后果。综上因素, 想要提高电动汽车主控制器的可靠性一方面要提高单台嵌入式处理器的可靠性;另一方面要从系统冗余的角度进行设计, 提高系统容错能力。[1]现在, 在许多的嵌入式实时系统中, 越来越多地采用双机备份的结构。因此, 双机备份技术的研究有着重要的现实意义。

本文设计基于电动汽车的主控制器, 其需要采集车速、温度等实时数据, 并对这些实时数据及时的进行响应处理, 要求系统必须不间断的运行, 并且能够对数据准确的处理。针对主控制器的这些工作特点, 设计了双机热备系统。处理器的双机冗余设计保证了主控制器的可用性;而热备份技术的采用, 能够实现系统不间断运行, 以及在发生故障时实现无缝切换, 较大程度上提高了电动汽车的可靠性。

1、双机备份的研究

在工程实现中, 双机备份通常为同构型双机备份, 其原理为两套具有相同内外在特征的处理单元, 能够执行相同的任务。[2]两套处理单元分别被定义为一主机和一备机, 即主机为处于工作状态的处理单元, 备机为处于等待状态的处理单元。当主机发生故障时, 备机通过切换装置承担起与主机相同的工作, 进而保证整个控制系统的可靠运行。按照工作模式不同, 通常双机冗余备份分为双机冷备份模式、双机温备份模式和双机热备份模式。

1.1 双机冷备份模式

双机冷备份模式是指系统工作时只有一套处理单元加电, 另外一套断电冷备用。外部监控设备检测到主机故障时, 备机加电启动并通过手动或自动切换装置接替主机工作, 备机转换为主机, 发生故障的处理单元排除故障后转换为冷备份状态。冷备份模式设计简单, 但是由于处理单元从加电到正常工作通常需要一定时间, 双机冷备份模式无法完全满足实时性系统的需求。

1.2 双机温备份模式

双机温备份模式是指系统工作时两套处理单元同时加电, 但只有一套处理单元处于工作状态, 另一套处理单元处于等待或故障诊断状态。当主机出现故障时, 能够迅速自动切换, 由备机接替主机工作。发生故障的处理单元排除故障后转换为备机状态。与双机冷备份模式相比, 双机温备份模式缩短了主备机的切换时间, 减小了系统故障造成的损失。与双机热备份模式相比, 结构简单, 性能消耗较小。

1.3 双机热备份模式

双机热备模式是双机温备模式的一种升级, 通常带有同步装置, 保证两套处理单元产生的关键数据同步。其分为主从模式和全双工模式。主从模式指当系统工作时, 两套处理单元同时加电, 并且都处于工作状态。但只有主机的处理结果输出。[3]当主机发生故障时, 主备机通过同步装置, 能够实现“无缝切换”, 并接替主机控制, 从而保证了控制的连贯性和稳定性。全双工模式指当系统工作时, 两套控制单元同时加电, 同时工作, 产生两个处理结果。然后两个处理结果需要经过表决器进行比较选择对外输出的结果, 表决器的设计十分复杂, 输出若相同则通过表决;若不同则有多种比较方法。因此, 全双工模式设计十分复杂, 对两套控制单元的时序同步、数据同步等要求十分严格。然而, 其实现无缝切换的性能也十分优越。

综上所述, 可用度较高的模式为双机热备模式, 考虑到汽车主控制器对实时性的要求, 但对控制的同步要求并不十分的严格, 只需当系统出现故障时通过切换装置能够迅速的将主机从系统切除并将备机投入系统使系统仍能不间断地正常工作即可。并且考虑到系统对性能消耗和复杂性的约束, 选用STM32F107作为该系统的处理单元, 以及u C/OS-II作为操作系统, 采用双机热备份主从模式设计方案以提高系统可靠性。

2、双机热备份主从模式的设计

2.1 双机热备份主从模式的整体结构

电动汽车主控制器主要功能包括对整车的控制 (仪表、灯光、电动座椅等) 和对驱动、电力以及ABS防抱死系统的监控等, 是整个汽车控制系统的中枢神经, 对汽车的安全运行至关重要, 实时性要求较高。图3.1为电动汽车主控制器双机热备份主从模式的结构框图, 本方案中, 以心跳信号作为仲裁的依据, 两套处理单元互为备机, 系统工作时处理单元1作为主机, 处理单元2作为备机, 处理单元1和处理单元2并行执行相同的处理计算, 且处理单元1和处理单元2各有独自的外围控制逻辑和外设, 这样不会引起系统资源的竞争, 增加了整体系统的稳定性, 当然这样是以花费更多的硬件设施为代价的。通过可编程逻辑器EPM240T100C5N的软件编程来实现对两套处理单元输出的仲裁, 其根据处理单元1和处理单元2周期性发送的心跳信号的频率来判断处理单元1和处理单元2的状况, 由于EPM240T100C5N具有并行处理的特性, 所以能够实现心跳信号的同步检测。当两套处理单元都正常工作时, 心跳信号按照设定的频率正常输出给仲裁单元, 仲裁单元默认处理单元1继续作为主机, 输出选择控制信号控制选择模块的通道1导通, 通道2闭合, 处理单元1的处理结果通过CAN总线和RS232分别发送给各个电子控制单元和人机界面;当检测到处理单元1的心跳信号正常, 而处理单元2的心跳信号的输出频率异常或检测不到心跳信号时, 处理单元1继续作为主机, 同时可编程逻辑器EPM240T100C5N发出处理单元2故障的报警;当检测到处理单元2的心跳信号正常, 而处理单元1的心跳信号输出频率异常或检测不到心跳信号时, 仲裁模块输出选择控制信号控制选择模块的通道1和通道2完成切换, 即处理单元2作为主机接替处理器单元1的工作, 同时可编程逻辑器EPM240T100C5N发出处理单元1故障的报警, 处理单元1排除故障后作为备机。当开关置于手动状态时 (即图中位置) , 通过触发器发出选择控制信号, 实现手动选择处理结果的输出。[4]同时存储模块将两套处理单元工作产生的主要参数以及实时状态存储起来并实现相互共享。

2.2 故障分析与检测

故障检测是双机系统基本的功能实现, 基于电动汽车主控制器的运行特点, 要求故障检测必须能够及时准确的分辨故障的种类, 以便能够快速定位故障;并且要求故障检测占用系统的消耗应尽量要小。根据故障对系统造成的影响, 本方案将故障进行了分类, 如表1所示。

本方案中只采用心跳机制来判断电动汽车主控制器的处理单元的实时运行状态。所谓心跳机制是指处理单元定时的发送一个自定义的信号, 用以告知对方自己还“活着”或正在正常运行。心跳信号的定时周期的设定尤为重要, 如果定时周期过长, 将会造成检测的滞后, 不利于故障的及时恢复, 如果定时周期过短, 将会造成处理单元性能的过度消耗, 不利于整个系统的快速运行。确定定时周期后, 通过检测在定时周期内心跳信号的频率来分辨故障的类型, 若为故障1, 心跳信号自动屏蔽该种故障, 故系统不作处理;若为故障2或3, 将通过检测心跳信号频率进行故障分辨, 进行相应的故障恢复操作。

2.3 仲裁模块的设计

为了提高系统的稳定性, 本方案采用了现场可编程逻辑控制器EPM240T100C5N作为仲裁控制单元, 其具有的并行处理特性简化了心跳信号的同步过程, 同时减小了处理单元的性能消耗。当故障仲裁模块的控制流程如图2所示。在可编程逻辑控制器程序设计中, 处理单元1的模块和处理单元2的模块同时对心跳信号在定时周期内的频率进行计数, 若与正常运行的设定值相等, 则相应模块的故障标志为0, 否则故障标志为1, 主模块通过对处理单元1模块和处理单元2模块的故障标志的值判断两套处理单元的运行情况。若两个故障标志位的值都为0 (两套处理单元都正常运行) , 则通过运行状态位的值, 判断此时的主机, 并输出相应处理单元的选择控制信号;若两个故障标志位的值分别为0和1 (有一个处理单元发生故障) , 则将运行状态位设定为故障标志位为0的处理单元的对应值, 并输出相应处理单元的选择控制信号;若两个故障标志位的值都为1 (两套处理单元都异常, 这种情况发生概率很小) , 则没有选择控制信号产生。若此时转换开关接通仲裁单元, 则选择控制信号控制选择模块的相应通道导通, 另一个通道关闭。

3、结束语

对双机备份的各种模式及特点进行了研究, 结合电动汽车主控制器运行的特点, 最终应用了双机热备份主从模式。本方案中结合了心跳机制、仲裁切换和故障分辨等技术, 并有效的将PLCD与嵌入式系统的结合。本方案主要针对于电动汽车的主控制器, 已在电动汽车仿真平台得到应用, 证明该方案显著提高了主控制器运行的可靠性。在运行的处理单元故障的情况下, 实现处理单元的无缝切换, 保证了系统的不间断运行且准确可靠。能够准确的对故障进行分辨, 缩短了故障的定位及恢复时间。可编程逻辑控制器的应用极大的简化了仲裁模块的硬件及软件的设计, 提高可靠性的同时降低了处理模块的性能消耗, 大大降低了汽车的主控制器失效对汽车带来的风险。同时, 本方案具有一定的普遍性, 在其他的嵌入式系统中均可应用并为其他方案提供了借鉴。

参考文献

[1]赵豫峰, 张善从.一种双机热备的嵌入式计算机系统设计[J].研究与开发, 2013, 32 (5) , 75-78.

[2]唐仁杰.列车控制车载子系统双机容错模拟研究[D].西南交通大学, 2007.

[3]张科超, 崔刚.实时嵌入式系统中的双机热备份容错设计[J].计算机研究与发展, 2010, 47 (SUPPL) 133-136.

上一篇:教研实效下一篇:加工装置论文