容错服务器系统

2024-08-31

容错服务器系统(精选9篇)

容错服务器系统 篇1

摘要:高速公路收费系统服务器容错技术是收费系统收费数据安全的重要保证。分析了双机热备技术和单机容错技术在相关原理和关键技术,并从多方面进行了详细对比,对比结果表明容错服务器具有高性价比,是高速公路服务器应用的最新趋势。

关键词:高速公路,容错,服务器,双机热备

随着各省高速公路网的形成,联网收费系统的可靠性和安全性要求也越来越高。车道实时交易数据,过往车辆数字化抓拍图像、车牌识别结果、各种报警、查询信息等通过消息中间件实时上传收费站和收费中心数据库,因此收费系统数据库服务器是否稳定可靠是保证整个联网收费工作正常运转、通行费准确及时拆分和结算的关键。

本文研究了高速公路收费服务器的容错技术,具体分析了双机热备技术和单机容错技术在相关原理和关键技术,进行了二者详细对比,对比结果表明容错服务器具有高性价比,是高速公路服务器应用的最新趋势,最后做了容错服务器的具体应用设计。

1 收费系统服务器容错技术

提高服务器可靠性的技术可以分为避错技术和容错技术。服务器容错技术是指服务器在运行过程中发生一定的硬件故障或软件错误时仍能保持正常工作而不影响正确结果的一种性能或措施。

服务器的故障可能由多种原因引起,如设备故障、操作系统故障、软件系统故障等。高速公路收费服务器的故障,对于收费系统是灾难性的,因此对服务器容错技术的研究很有必要。

目前主流应用的服务器容错技术有三类:群集技术、双机热备技术和单机容错技术。集群技术是指一组相互独立的服务器,在网络中表现为单一的系统,并以单一系统的模式加以管理以提供高可用性的服务,双机热备是集群的一种特例。

高速公路的收费系统主要由“路段收费分中心--收费站--收费车道”三级组成。其中路段收费分中心和收费站计算机系统均配置服务器,主要用于收费数据的存储和管理,收费车道配置工控机。

2007年交通部颁布的《收费公路联网收费技术要求》规定:对于路段收费分中心,如果管辖的收费站和车道数较多,或使用非现金支付卡、电子收费时,建议采用双机热备份服务器并配置磁盘阵列柜;对于收费站,如果使用电子收费系统,建议采用双微机热备份服务器并配置磁盘阵列[1]。

目前,双机热备服务器并配置磁盘阵列柜是高速公路收费服务器配置的最常见形式。近两年,随着容错服务器性价比的不断提升,单机容错技术(即容错服务器技术)开始在高速公路收费服务器中得到越来越多的应用。

1.1 双机热备技术

1.1.1 工作原理和结构

基于存储共享的双机热备是采用两台服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依照工作方式的不同将服务请求发送给其中一台服务器承担;同时,服务器通过心跳线侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况作出判断,并进行资源切换、接管服务[2]。其典型系统结构如图1所示。

所谓“心跳”,指的是主从系统之间相互按照一定的时间间隔发送通讯信号,表明各自系统当前的运行状态是否正常。常见的“心跳”的检测侦测的方式有RS-232串口通信、TCP/IP、共享磁盘分区三种。

1.1.2 双机容错管理软件

双机服务器的容错管理软件构建于服务器的两个节点之上(如图2所示),屏蔽了服务器的硬件体系结构,使双机系统具有单一系统映像。当某个节点出现故障,容错软件可以自动地将待处理服务切换到正常节点上,较好地提高了系统的可用性。服务器双机的故障切换对用户而言是透明的,外部用户只能看到一个服务器对外提供服务[3]。

1.2 单机容错(容错服务器)技术

单机容错技术是在一台服务器上实现高性能容错的,它的容错能力要远比服务器群集和双机热备容错能力要高,所以更加适合那些对容错能力特别苛刻的行业。

容错服务器,最大的优势就在于它能够自动分离故障模块,在不中断运行的情况下,进行模块调换,对损坏的部件进行维护,并且在一切物理故障消除后,系统会自动重新同步运行。容错服务器采用冗余部件同时运行同一应用任务,当两个系统产生不一样计算结果的时候,系统就会察觉,并通过技术手段对于计算错误进行校验,从而提高应用的准确性。

1.2.1 工作原理

容错服务器采用了部件级全硬件冗余技术,整个硬件系统从主板、CPU、内存以及I/O模块都采用双硬件模式,其冗余硬件部件同一时刻执行同一指令,同时冗余部件间也有交叉通讯,用部件冗余的方式消除了系统内部包括CPU,内存、I/O控制设备、硬盘(RAID1)甚至底板的单点故障。该技术能保证某一个部件的故障不会导致整个系统的失效,系统能容忍任一部件的故障并继续工作。

1.2.2 容错关键技术

1)同步技术

同步技术使用冗余容错硬件,能保持多CPU/内存单元在精确的同步状态同一时刻执行同一指令,从而在一个部件出现故障的情形下,其冗余部件就像已激活了的备份,继续正常操作,避免了停机。同步技术能够确保包括瞬时错误在内的任何硬件错误不影响系统运行,系统可以在任何CPU/内存单元发生错误的情况下不丢失数据或状态,也不需产生中断进行错误处理。

2)故障安全软件

故障安全软件与同步技术协同工作,能够预防许多会升级到停机的软件故障。容错服务器的硬件和软件以透明的方式处理这类错误,而对操作系统、中间件、应用软件进行屏蔽,甚至驻留内存数据也得到保护及维护。此外,其管理和诊断特性能自动检测、隔离和解决瞬时硬件错误,问题立即可以被识别到适应的分类,还对其他软件问题进行跟踪、分析,使支持人员在软件问题发生之前纠正问题。

2 容错服务器技术和双机热备技术的对比

2.1 原理的对比

容错服务器是通过CPU时钟锁频,通过对系统中所有硬件的备份,包括CPU、内存和I/O总线等的冗余备份;通过系统内所有冗余部件的同步运行,实现真正意义上的容错。系统任何部件的故障都不会造成系统停顿和数据丢失。

双机热备系统,严格意义上必须配置两个镜像的外置磁盘阵列柜,才能真正意义从物理结构上消除系统和存储的单点故障,而且连接两台服务器的心跳线上存在切换的单点故障,同时还必须依靠脚本程序的设计和双机的实施水平。

2.2 可靠性的对比

容错服务器,可靠性为99.999%,其目标是提供避免停机、高可用性的服务器,即使硬件出现故障也不会导致停机,更不会由于硬件故障丢失任何数据,甚至包括内存的动态数据;

双机热备系统,可靠性为99.9%,其目标是为了实现减少停机的目标,而非永不停机,只能实现保护硬盘数据,并且CPU的使用效率会因为负担双机软件而损失20%。

2.3 连续可用性的对比

容错服务器能保持多CPU/内存、I/O输入输出单元在同一时刻执行相同的操作,从而在一个部件出现故障的情形下,其冗余部件能继续正常工作,避免了停机,不存在切换时间,并且采用同步技术能够确保包括瞬时错误在内的任何硬件错误都不会形响到系统运行,能最大程度保证系统的连续可用性;

双机热备系统在出现故障的情况下,需要中断服务器的运行,然后用一定的时间切换至备用的服务器上运行。其切换是建立在切换软件的基础上,随着数据库越来越大,应用越来越复杂,一旦系统中任一硬件出现故障,或者软件出现故障,另外一台服务器接管宕机的服务器的切换时间需要几分钟甚至几十分钟。切换时间内的动态实时数据将随之无法重新采集,从而会丢失重要的数据信息。具体的切换时间取决以下几个方面:硬件故障的类别、数据库的规模、应用软件的类型、实施人员的水平等[4]。

2.4 造价的对比

容错服务器成本合理,只需配置一套容错服务器、操作系统、数据库、应用程序和中间件,无需配置磁盘阵列柜。同时,由于容错服务器根本不存在切换的过程,因而不需要配置价格高昂且支持群集服务的企业版Windows Server和SQL Server,配置标准版即可。

双机热备配置成本昂贵,需配置两套专用服务器,操作系统、数据库、应用程序和中间件,而且需配置磁盘阵列柜。目前主流的高速公路的机电设计中,一般不选择专门的容错软件,而选用支持群集服务的企业版的Windows Server和SQL Server,目前企业版SQL Server的价格是二十万左右,价格是标准版的8-9倍。

因此虽然单机容错服务器的硬件成本与双机备份方式的硬件相比优势不明显,但其总成本却远远低于双机热备方式的成本。

2.5 安调难易的对比

容错服务器安装调试移植系统非常简单;双机热备系统需要依赖软件商研发代码,并做相应测试。

2.6 可维护性的对比

容错服务器后期维护成本几乎为零,对应用方的系统工程师没有依赖;双机热备系统维护成本非常之高,对软件商的依赖性也非常高。

由此可以看出,采用双机热备方案,对系统的可靠性有所提高,但是增加了整体软硬件的投资费用和系统的运营和维护工作,而且系统可靠性并不一定能得到足够的保障。容错服务器的应用,不但可避免双机热备系统中单硬件系统故障所造成的系统停机以及切换时间上的经济损失,同时还可降低系统维护过程中的维护量及后续维护费用。因此容错服务器的方案优于双机热备方案,代表了新的应用趋势。

有一点需要指出的是,无论是双机热备技术还是容错服务器技术,都只能够解决硬件的故障,并不能解决软件故障,数据备份和灾难恢复系统是应对故障最好的办法。

3 高速公路容错服务器应用设计

以四川某高速公路收费系统设计为例,该路线全长121.1公里,全线设置收费分中心一处,管理下辖九个匝道收费站,沿线匝道收费站规模较小,因此仅采用普通的机架式带Raid功能的服务器即可满足要求,鉴于全路的收费站和车道数总数较多,收费分中心数据库服务器需要做容错设计,以保证保障联网收费数据的完整性、安全性、可靠性。通过双机热备技术还是容错服务器技术的对比,收费分中心数据库服务器选用容错服务器配置。

目前主流的容错服务器以Stratus公司的ft Server、惠普公司的Non Stop服务器和NEC公司的Express5800/ft为代表。本路段选用了ft2510系列美国Stratus公司的容错服务器。该设备具有连续处理技术,包括同步技术、故障安全软件、主动服务体系架构,所有部件均可以模块化的方式进行热插拔;其系统管理软件,采用GUI图形化管理界面,主要用于对服务器配置及运行情况的监控;可以查看容错服务器冗余的CPU及I/O单元同步运行情况,确保任何一个单元故障都不会导致系统停机,从而保证了数据的实时性与完整性,磁盘的镜像同步简单;软件可用性功能可用于对其他应用程序运行情况实现监控;整合主动服务体系结构、强化设备驱动器及联机升级技术等。

系统软硬件造价合计仅为二十余万人民币,具体配置如下:单路双模块冗余机架式容错服务器;Intel Xeon四核2.0GHz CPU,2×6MB高速二级缓存,前端总线1333MHzh;内置双口10/100/1000自适应网卡一对,两个网口可相互配对,互为冗余,每对网口可配置成同一IP地址,随时进行故障切换;ft Server系统管理软件5.x版本,RDR软件,RDR快速磁盘同步软件;4GB DDR2 667 MHz FBDIMM内存,4条内存条成对配置,系统逻辑内存为2GB;工作标准热插拨内置硬盘并作Raid1保护,2×146GB 15K RPM SAS热插拔硬盘,用于系统盘;4×500GB 7K RPM SATA热插拔硬盘,用于数据存储;Microsoft Windows 2003 Server 32-bit Standard Edition R2简体中文标准版操作系统。

4 结论

通过对服务器双机热备技术和单机容错技术的分析和比较,可以看出在高速公路收费系统中,采用高可靠性,高稳定性的容错服务器,能满足系统连续运行的需要,最大限度进行不中断的收费数据存储,保障收费数据和通信的安全可靠,保证高速公路高速、安全、可持续运营,容错服务器是收费系统服务器的发展趋势。

参考文献

[1]中华人民共和国交通部2007年第35号公告,收费公路联网收费技术要求[S].

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

[3]于斌,刘宏伟,崔刚,杨孝宗.高可用双机容错服务器的研究与设计[J].计算机工程与设计,2006,27(9):1524-1525.

[4]王钰,陆惠丰.容错服务器在高速公路的设计应用[J].中国交通信息产业,2008,(8):110-111.

容错服务器系统 篇2

小卫星星务管理计算机容错系统的设计

采用双机冗余的容错方案,对小卫星星务管理计算机容错系统的设计进行了较为深入的探索.在设计中,充分利用软、硬件容错技术相结合的优势,完成了星务管理计算机系统级和部件级硬件体系结构没计.提出了在主机发生故障的.临界状态,启动备份机工作的临界切换没想.最后,通过仿真实验和系统模型可靠性分析,证明了系统可以满足设计的要求,具有较高的理论和实践价值.

作 者:雒宝鹏 王仲生 LUO Bao-peng WANG Zhong-sheng  作者单位:雒宝鹏,LUO Bao-peng(北京机电工程研究所,北京,100074)

王仲生,WANG Zhong-sheng(西北工业大学航空学院,西安,710072)

刊 名:宇航计测技术  ISTIC英文刊名:JOURNAL OF ASTRONAUTIC METROLOGY AND MEASUREMENT 年,卷(期): 28(4) 分类号:V414 关键词:小卫星   管理   计算机   容错系统  

容错服务器系统 篇3

【关键词】辅控系统;冗余网络;容错技术

近年来随着经济和社会的发展,越来越多的大容量和高参数火电机组投入到市场中,这对火电机组控制的自动化控制水平提出了更高的要求。现代大型火力发电机组,除了主要控制系统使用了DCS外,还应用了很多主要由PLC构成的辅控系统,这些辅控系统分布在火力发电厂的不同区域,如输煤区域、化水区域、制氢站、海水淡化区域、除灰区域等等,工作环境复杂多变且彼此相对独立,这种情况阻碍了电厂实现全厂自动控制与减员增效的目的,因此如何提高辅控系统的稳定、可靠已经成为目前各火力发电厂的讨论热点。

1.容错技术

1.1 容错技术的基本描述

容错就是当由于种种原因在控制系统中出现了控制单元、控制数据、文件损坏时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态或实时备份、转移至相邻控制单元继续运算,使系统能够连续正常运行的一种技术。

1.2 容错逻辑设计方法

容错逻辑设计方法,就是在进行火力发电厂自动控制系统的逻辑设计时,尽可能地考虑到火力发电厂各主要辅机在运行中比较容易出现的各种故障,通过有效利用技术和特定的容错控制技术,来降低或者是避免整个控制逻辑回路的失效,并努力提高整个火力发电厂自动控制系统的可靠性。

1.3 冗余PLC控制系统的概述

火力发电厂的某些辅控系统,要求其控制系统有着极高的可靠性,一旦控制系统发生故障,可能引起设备的损坏甚至是整个机组系统的中断,此时单纯依靠提高控制系统的硬件和软件可靠性是难以满足以上需求的,特别是需要采用冗余PLC控制单元来解决这一问题。

一般冗余PLC控制系统由两块PCU(PROGRAM CONTROL UNIT)控制模块(分别为主PCU控制模块和备用PCU控制模块)组成,它们使用同样的控制程序并行工作。当冗余PLC控制系统正常工作时,主PCU控制模块会控制系统工作,备用PCU控制模块的I/O映像表和寄存器通过冗余处理单元(Redundant Processing Unit,简称RPU)被主PCU控制模块同步刷新;当主PCU控制模块发生故障失效时,RPU会在1-3个扫描周期内将系统的控制功能切换给备用PCU控制模块,由备用PCU控制模块来控制系统的工作。

还有一类系统(热备用系统)没有使用RPU,此时主PCU控制模块和备用PCU控制模块通过通信接口来联在一起,当系统发生故障时,会有主PCU控制模块将故障信息通知给备用PCU控制模块,需要耗费较长的时间才能由备用PCU控制模块来控制系统的工作,但热备用系统所需耗费的成本较低。

1.4 网络冗余设计的概述

火力发电厂网络主要是由全部的节点设备以及设备相互之间的连接组成的,必须随时处于正常运行中,否则将会引起发电机组的停运,而造成巨大的经济损失。火力发电厂网络涉及的设备和环节很多,任何一个设备和环节都可能出现故障,因此需要通过冗余容错设计来确保网络的畅通。

2.火力发电厂辅控系统存在的问题分析

火力发电厂辅控系统一般分布在不同的区域,各个子系统间彼此相互独立且相距较远,而且工作环境比较复杂和恶劣,因此火力发电厂辅控系统通常会存在如下问题:

首先,远距离子系统间的通讯不畅通,且传输信号容易受到外界的干扰。由于火力发电厂辅控系统的各个子系统相距较远且工作环境比较恶劣,如输煤控制系统、飞灰处理控制系统等。因此如何可靠解决远距离子系统之间的通讯和信号干扰等问题显得非常重要。火力发电厂辅控系统的系统稳定性、网络通讯速率和通讯距离应该充分满足辅助车间及整体监控系统功能的实时性要求。

第二,火力发电厂辅控系统的工作环境恶劣,其硬件系统容易受到外界气候因素的影响而出现各种故障。如输煤信号端子容易被煤粉覆盖,造成信号传输中断或断续。一旦火力发电厂辅控系统的硬件设备出现故障,该辅控系统不能迅速恢复,将会导致系统等无法正常供应而产生重大影响与设备事故,因此必须保证和提高火力发电厂辅控系统各硬件系统的容错能力。

第三,火力发电厂辅控系统的所有辅机,都进入系统实现辅机保护,但由于部分辅机的工作环境比较复杂,导致往往很难在故障发生前就察觉并进行处理。而一旦故障发生,则可能导致辅机保护动作,会影响到机组的正常运行,因此必须提高系统的逻辑容错能力。

3.容错技术在火力发电厂辅控系统中的体现

3.1 火力发电厂辅控系统容错逻辑设计的具体方法

在对火力发电厂辅控系统的主要辅机进行逻辑控制设计时,具体方法如下:

(A)当系统的联锁保护信号逻辑出现故障时,可以通过逻辑故障诊断使其逻辑控制系统不发生逻辑误动;

(B)如果允许工艺系统设计发生小故障,那么在设计逻辑控制系统时要考虑适当的容错,但也要兼顾逻辑执行的顺畅;

(C)不能将不可靠的测量信号作为重要保护逻辑信号,并且尽量不要使用单点逻辑信号来保护设备,尽量采用冗余信号进入系统确保其准确;

(D)控制逻辑的冗余设计也是容错逻辑的重要内容,因此在逻辑控制设计时可以引入适当的冗余逻辑信号或对比信号,来避免单点故障而引发的机组跳机。

3.2 如何设计火力发电厂辅控系统PLC冗余系统

(1)在某些情况下,没有必要采用比较高级的基于硬件冗余的控制系统,此时可以采用结构比较简单的基于软件冗余的控制系统。在火力发电厂辅控系统中,采用基于软件冗余的控制系统可以提高整个控制系统的系统故障容错率,同时可以降低硬件配置所需的成本及控制程序的复杂程度。如西门子公司推出的300/400系列产品均能不同程度的运行软冗余的软件,可以解决如PCU部件故障中的电源和后盘总线、PCU软件或硬件故障、冗余系统接线或冗余DP从机接口等故障。

(2)基于硬件冗余的控制系统是两个独立的PCU子系统进行实时冗余,即描述为功能性的冗余。在控制系统运行中两个独立的全部冗余部件一直进行同步进行,各项应用程序在两个独立的PCU中完全一致且同步进行运行,这两个子系统分别叫做“主机系统”和“从机系统”。如德国西门子公司所申请的专利技术——事件驱动同步程序,此时“主机系统”和“从机系统”的同步程序如下操作:直接寻址I/O;中断;更新用户时钟;通讯功能数据修正等。该程序能够保证即使在“主机系统”的故障情况下,系统仍能完成其不间断操作,无扰动的进行“主机系统”和“从机系统”两者间的切换。

3.3 火力发电厂辅控系统网络设计的注意事项

火力发电厂辅控系统光缆敷设需要重点注意以下事项:在火力发电厂主厂房内敷设光缆时,要尽量走电缆桥架,当没有桥架时走穿管;在火力发电厂主厂房外敷设光缆时,光缆套上PVC管后可直接敷设在电缆沟内,或者走管架,穿管时采用镀锌管并且密封;尽量避免光缆的弯曲以防止光缆的损坏,如果需要拐弯要注意弯曲角度,其曲率半径要大于300mm。

火力发电厂辅控系统网络规划设计需要重点注意以下事项:IP地址必须进行统一的规划,确保对火力发电厂辅控系统的各个子系统操作站、网络设备、服务器和PLC的IP地址进行统一的划分;火力发电厂辅控系统的计算机名和控制软件节点要有统一的命名规划;数据库中的测点名称、编号和基本块的标记名的命名要严格遵照火力发电厂的编码标准,中间块的标记名的命名要根据各自系统进行统一的划分;人机操作界面的风格,如操作窗口、布局、分辨率和颜色等要进行统一的规定;在对比较陈旧的大型火力发电厂辅控系统进行联网控制时,最好采取分布式过程数据库,这样当集控中心任何一台操作员站发生故障时,数据的调用仍然能够正常进行,从而不影响整个辅控系统的监控功能。

参考文献

[1]张国华,赵成玉.辅控网在大型火电厂中的应用与分析[J].华北电力技术,2005(3).

容错服务器系统 篇4

控制系统网络是自动控制系统的重要组成部分,其作用犹如人体的神经网络,控制系统的各种数据信息、各种指令都依靠控制系统网络来传输,控制系统网络架构的设计是自动控制系统设计的重要一环。目前企业的控制系统网络架构存在控制站通讯接口负荷大、易造成数据拥堵及双机热备冗余服务器有出现冗余故障的隐患等问题。为此,设计了基于单机容错服务器技术的组合式控制系统网络架构,以解决上述问题。

1目前各种网络架构存在的问题

目前在包括冶金矿山等的工业企业里,控制系统网络架构一般有以下几种形式:单层总线式对等网络、单层环网、双层总线式对等网络、总线+单环网式双层网络、双层单环网络、单环+双环式双层网络、双环+双环式双层网络等。这几种网络架构又可分为单层网络架构和双层网络架构两大类。对于单层网络架构,其弊端是:控制站通讯接口负荷大,易造成数据拥堵;总线上一点中断可能导致一部分甚至全部设备通讯中断,安全性差。对于双层网络架构,基本上都采用双机热备冗余服务器,双机热备冗余服务器采用的是软件冗余技术,由2台完全相同的独立服务器组成,每台服务器分别安装相同的操作系统和应用软件,在2台服务器之间配置串口通讯实现数据同步。尽管双机热备冗余服务器具有使用广泛、技术成熟的优势,但它同时存在以下弊端:一旦串口通讯出现问题,或者某一台服务器的操作系统或应用软件出现问题,则服务器就会出现冗余故障,这时操作站从服务器读取的数据和画面就会出现凌乱,从而威胁安全生产。

总之,目前的网络架构要么存在控制站通讯接口负荷大、易造成数据拥堵的问题,要么存在双机热备冗余服务器有出现冗余故障的隐患等问题。

2基于单机容错服务器的控制系统网络架构的设计

2.1单机容错服务器技术的优势分析

在自动化控制系统中,最容易出现问题的是软件。由于单机容错服务器采用的是硬件冗余技术,并非由2台完全相同的独立服务器组成,而是1台具有2套硬件组件和功能全面冗余的特殊计算机。而双机热备冗余服务器采用的是软件冗余技术,所以单机容错服务器出故障的几率远远低于双机热备冗余服务器出故障的几率。此外,单机容错服务器采用了锁步运行技术、主动服务体系结构等一系列新技术,从而使得单机容错服务器技术相对于双机热备冗余服务器技术具有诸多优势:

(1)单机容错服务器的可用性是99.999%,而双机热备冗余服务器的可用性是99.9%。

(2)设计上单机容错服务器的目标是避免停机,而双机热备冗余服务器是减少停机。

(3)单机容错服务器能有效地保护动态数据不丢失,而双机热备只能保证写入硬盘的数据。正常工作状态下,单机容错服务器内的数据相互备份,其中一组硬件发生故障,单机容错服务器仍能继续正常运行,可保证服务器不会发生中断或数据丢失。

(4)单机容错服务器能支持热插拔任意的硬件,包括主板、CPU等关键性硬件。

(5)单机容错服务器布置非常简单,只需要装一套操作系统,应用软件也只需要一套,免去双机热备软件和研发代码的麻烦,从而大大减少了工程师的工作量和软件成本。

(6)单机容错服务器速度比同配置的双机热备要快20%以上。

(7)单机容错服务器后期维护成本几乎为零,而双机热备需要工程师的支持,对于系统补丁的升级需要额外地研发双机热备代码来保证系统的切换成功。

(8)单机容错服务器是没有切换时间的,而双机热备由于硬件宕机会发生停顿的情况,还有就是双机热备切换工作是有可能不成功的。

鉴于单机容错服务器技术相对于双机热备冗余服务器技术具有上述优势,设计基于单机容错服务器技术的组合式控制系统网络架构,以确保自动化控制系统的安全稳定运行。

2.2基于单机容错服务器的控制系统网络架构设计

基于单机容错服务器技术的组合式控制系统网络架构主要技术包括单机容错技术、服务器技术、组合式网络技术等。该网络由设备控制级和监控级双层网络构成,设备控制级为标准以太双环网,监控级为以太单环网,双层网络通过单机容错服务器进行数据信息交换。基于单机容错服务器技术的组合式控制系统网络架构如图1所示。

单机容错服务器作为工程师站和操作员站服务器,是整个控制系统网络架构的核心,同时是整个控制系统的数据中心。PLC主控制站通过Ethernet通讯模块和交换机与单机容错服务器进行数据通讯,操作员站数据和人机界面全部从单机容错服务器上读取,这样,减轻了控制站通讯接口负荷,避免了数据拥堵。

在组合式控制系统网络架构中,监控级采用以太单环网,在具备网络冗余功能的同时,兼顾了网络结构的简洁。设备控制级为标准以太双环网,使控制级设备的通讯实现了双冗余功能,更加安全可靠。

3基于单机容错服务器的控制系统网络架构的效果

基于单机容错服务器技术的组合式控制系统网络架构,解决了目前控制系统网络架构存在的控制站通讯接口负荷大而易造成数据拥堵、双机热备冗余服务器有出现冗余故障的隐患、总线网络无冗余功能等一系列问题。

基于单机容错服务器技术的组合式控制系统网络架构具备良好的使用效果,功能完整且分担合理,层次结构清晰,运行稳定安全可靠,为发挥工业企业生产过程自动控制功能奠定了坚实的基础。

4结论

容错服务器系统 篇5

关键词:stratus,容错,连续处理技术,锁步技术,可用性,维护性,经济效益

0 引言

多年来国内冶金行业控制系统一直采用服务器冷切换方式、热切换方式或集群方式作为数据库、I/O服务器的控制方式。传统采用的是双机热备方案,该方法不仅不能节省投资成本,而且系统的可靠性得不到保证。

随着经济的迅速发展和计算机、网络等技术的不断进步,冶金企业在加快建设步伐的同时,也面临着控制系统的要求越来越高这样一个局面。因此,建立高精度、高可靠性的冶金控制系统,已经是当务之急。

随着运行时间的增加,整个监控系统的安全性越来越受重视。各种升级后的计算机设备、路由设备、交换设备、操作系统、数据库系统等都会有不同程度的故障风险,再加上使用环境、资源共享、数据通信、计算机病毒以及网络管理等方面的不安全因素,使得控制系统数据的安全性和有效性变得更加重要。以往,为提高控制系统数据信息的可靠性,通常在控制系统中采用双机热备方案。尽管采用该方案对系统的可靠性有所提高,但却增加了系统整体的软硬件投资费用,同时增加了系统的管理和维护工作,更重要的是,系统的可靠性并不一定能得到足够的保障。

因此,寻找并采用一种具备高可用性、低成本、易维护的服务器应用方案,是众多冶金企业一直在研究的课题。笔者根据多年的冶金行业服务器应用经验,结合目前国内外在高可用性服务器领域的成熟技术方案和有效应用成果,发现使用可用性高于99.999%以上的Stratus容错服务器代替传统的双机热备方案是一种有效的途径。

1 容错设计思想

宁波钢铁五丰塘焦化厂为了能更好的提供控制系统核心服务器的连续可用性,采用了世界上最先进的容错服务器作为控制系统核心服务器。这种方案不但可避免双机热备方案中单硬件系统故障所造成的系统停机以及系统切换带来的的经济损失,同时还可减少焦化控制系统的后续维护量及维护费用。由于容错服务器采用了硬件冗余设计,整个硬件系统从主板、CPU、内存到I/O模块都采用双份冗余模式,并且基于先进的锁步(LockStep)技术,各冗余模块在同一时钟周期执行相同的指令,使得整个系统能够消除单点故障、无故障切换时间,连续可用性高于99.999%。

容错服务器(如图1所示)与传统服务器(如图2所示)在物理结构上最重要的区别有两点:1)容错服务器采用了双份冗余容错硬件,包括CPU、内存、主板、硬盘、I/O系统等等;2)容错服务器在物理构成上将CPU-内存单元与I/O单元分离,中间增加了容错公司定制的故障侦测与隔离逻辑芯片组进行PCI桥接,该芯片组是容错服务器实现时钟同步操作、容错、纠错等功能的基础。

2 关键技术

Stratus容错的核心技术——连续处理技术是三十年来为全球最苛刻的应用确保连续运行时间之经验的结晶。连续处理技术主要由三个核心要素构成,分别是:时钟同步技术、故障安全软件和主动服务体系。

2.1 锁步技术

锁步技术(Lockstep Technology),也称时钟同步技术,采用双份的容错硬件,由同一时钟源进行控制,两套硬件在同一时刻执行相同的指令。在一个部件出现故障的情况下,其冗余部件就像已激活了的备件一样继续正常的操作,预防了停机现象。锁步技术使系统还能消除可引起软件故障的瞬间硬件错误。

2.2 故障安全软件

Stratus故障安全软件(Failsafe Software)与锁步技术协同工作,能够预防许多会升级到停机的软件故障。与通常的服务器或集群系统不同,ftServer的硬件和软件以透明的方式处理这类错误,而对操作系统、中间件、应用软件进行屏蔽,同时驻留内存数据也得到很好的保护及维护。

此外,其管理和诊断特性还对其他软件问题进行跟踪、分析,以及向Stratus通报这些软件问题,使支持人员在软件问题发生之前超前纠正问题。强化的设备驱动程序也显著增加了ft Server系统内Windows环境的稳定性。

2.3 主动服务体系

Stratus独到的主动服务体系(Active Service)能提供冠绝群伦的服务能力。Stratus ftServer系统能够持续监视自身的操作,发现故障后,服务器会即时隔离故障,并且自动呼叫Stratus支持中心,准确告知其应采取何种解决措施。

ft Server通过访问适配器及Stratus全球主动服务网络(Active Service Network)为客户提供远程支持服务,服务工程师据此实现在线故障诊断、排障,在线解决率达95%以上。必要时,系统还能自动订购其热插拔替换部件,确保相应的部件能在24小时内运到全球主要地点客户手中。客户更可以在ft Server无中断的情况下,轻易安装需更换的备件。同时,Stratus和客户授权的经销商还可透过互联网的主动服务管理器(ActiveService Manager)互相协作,快速解决问题。

3 应用分析

3.1 项目背景

宁波钢铁五丰塘焦化厂为了能更好的提高控制系统的连续可用性,采用了世界上最先进的容错服务器作为控制系统核心服务器及HMI服务器。五丰塘焦化厂是一个新建项目,有JN60-6型焦炉两座,以及与之配套的管带机、圆形料场、备煤、焦炉除尘、干熄焦、筛贮焦、煤气回收、污水处理等生产系统,各生产车间工段均设置相应的PLC控制系统,并设置了中控室,各个控制系统均通过网络将生产实时数据引入中控室,以实现生产的集中监控、集中管理和统一调度功能。系统通讯采用C/S模式,在中控室设置了备煤、焦炉、煤气净化、筛焦等生产系统的Data Server和HMI Server;另外还设置了超级服务器,采集和存储全厂生产实时数据,并用于对过程机和EMS能源中心进行生产管控和能源计量数据的实时发布和上传。其中煤气净化系统为化工性质、连续生产,对服务器提出了高可靠性、连续可用性要求;超级服务器作为全厂生产管控系统的核心,其重要性更是不言而喻。焦化厂控制系统结构图如图3所示。

3.2 方案比较

按照传统,为提高控制系统的可靠性,通常采用双机热备方案,由两台独立服务器构成,再通过集群软件完成故障切换。但是,这种方案的可靠性是建立在集群软件的基础上。随着数据库越来越大,应用越来越复杂,一旦系统中某一环节出现故障,其切换时间需要几分钟到几十分钟,同时,切换时间内的动态实时数据将随之丢失。更重要的是,切换工作并不一定每次都能成功。

相比之下,Stratus容错服务器所采用的冗余硬件同步技术(Lockstep),能保持多CPU/内存单元在精确的同步状态——同一时钟周期执行相同的指令,即能够确保包括瞬时错误在内的任何故障都不会影响到系统运行,系统可以在任何CPU/内存单元,或I/O单元发生错误的情况下不丢失动态数据,也不需产生中断进行错误处理,避免了双机热备方案所产生的故障切换和恢复时间,以及该过程中数据的丢失。

在焦化厂控制系统中采用容错服务器,能确保系统在可用性、维护性、总体成本三方面具备无与伦比的优势。

3.3 实施效果

宁波钢铁五丰塘焦化厂控制系统煤气净化服务器和超级服务器采纳了容错技术方案,根据系统规模及数据库的大小,考虑到系统的可用性,煤气净化服务器采用了Stratus ftServer 2510配置,超级服务器采用了Stratus ftServer 4410配置。自2009年11月份投产以来,容错服务器一直运行稳定可靠,管理维护简单方便,为确保生产的安全稳定顺行发挥了至关重要的作用。

4 结论

通过分析Stratus容错服务器的设计思想、关键技术以及与双机热备方案的比较,我们可以看出,在焦化控制系统中,采用高可靠性的容错服务器,不仅能满足系统7×24小时连续运行的需要,还能为用户节省总投资成本,减少后期维护工作及维护费用。

参考文献

容错服务器系统 篇6

1 容错计算机系统结构

自主研发三模冗余(Triple Module Redundancy-TMR)体系结构的容错服务器,它由3个同构的处理模块C1、C2、C3通过专用高速总线(PHN)相连组成,3个处理模块同步的执行相同的操作,系统将各处理模块的结果通过“三中取二”的表决方式输出来屏蔽TMR的单点故障,从而提高系统的可靠性。

PEi是主处理器模块包括CPU、MEMORY、CHIPSET板;NICi是高速网络接口电路;FMMi是容错管理模块,主要由它实现容错计算机的容错功能,包括多信道数据通信、Ci间同步、数据表决、故障检测、隔离和恢复、系统降级等。

2 故障恢复方案

2.1 容错原理

用户向服务器提交的每个关键任务Task都采用主动任务复制(Active Replication)方式[4]复制到3个处理模块中去。这样同一任务Taski的三个复制进程Pi_1,Pi_2,Pi_3在同步机制[3]的管理下在3个处理模块中同步地运行,处理结果经过比较、表决来达到检错、容错的目的。所以服务器的容错功能体现在对关键任务进程集T={Task1,Task2,…,Taskn}中任务的容错计算。

2.2 故障模型

系统出现故障时,先假设为瞬时故障,在对其恢复的同时对该处理模块进行一次故障计数,当在一定时间范围内计数值超过门槛值N时,就判定该处理模块发生永久故障,并被隔离出TMR系统,系统降级为双模(Double Module Redundancy-DMR)系统,如图1所示。

2.3 进程拷贝原理与关键技术

通过系统建模和对容错原理的研究得出永久故障恢复的目标是在目标处理模块上重建原DMR系统的关键任务进程集TDMR={T1,T2,…,Tk}[7]为了实现永久故障的恢复。提出应用进程拷贝实现TDMR重建的思想。进程拷贝就是保证进程Pi正常运行的前提下,在目标处理模块上建立其复本Pj。

因为实现服务器永久故障的恢复需要对TDMR进行拷贝,所以为了保证多进程之间的相关性进一步开发出以进程家族为单位的多进程拷贝(Multi-Process Copy)机制,它同样包括进程家族检查点机制。

3 永久故障恢复的实现

3.1 软件结构

进程复制由进程检查点机制和进程重建机制经系统守护进程Scanf_process统一调度实现的。进程检查点机制中由函数checkpoint()负责将进程的状态信息记录到一种自定义的二进制文件(checkpoint_format)中生成检查点。被记录的进程状态信息包括:进程的地址空间、文件、共享内存、寄存器、信号量、套接字、管道等资源的使用状况。

3.2 进程的重建过程

3.2.1 家族检查点的分割

因为进程拷贝是以家族为单位进行的,所以在目标处理模块上要以进程为单位先将家族检查点文件分割成若干检查点文件。编写了分割函数chop(),它根据家族检查点文件中的头结构来识别各进程的具体内容。

3.2.2 总体过程

(1)从DMR系统中提取关键任务形成关键任务进程集合TDMR={T1,T2,…,Tk},准备开始拷贝TDMR。

(2)调用函数checkpoint()对Processfamily_i中各进程状态进行保存,生成对应的家族检查点文件ckptfamily_i并将其传输到目标处理模块上。

(3)目标处理模块上应用chop()函数将接收的ckptfamily_i以进程为单位分割为若干独立的检查点ckpt,最后依次调用restart()函数加载各检查点文件重建进程家族Processfamily_i。

(4)重复步骤2到4直到TDMR中的进程全部拷贝到目标处理模块上为止

总体流程如图2所示。

4 结语

具有透明性的同步和故障恢复机制是构造容错系统的两大难点。大多数容错服务器永久故障的恢复机制采用复杂的硬件设备和软件,这增加了系统开发的难度、周期和成本。鉴于这些问题,采用软件方法在Linux操作系统级实现对永久故障的恢复,并对用户完全透明,通过试验测试验证了其有效性。

参考文献

[1]P.Gawkowski,J.Sosnowski Assessing Software Implemented Fault Detection and Fault Tolerance Mechanisms Institute of Computer Science,Warsaw University of Technology,Warsaw,Poland.

[2]D.W.Bradley and A.M.Tyrrell.The.Architecture for a Hard-ware Immune System.Prcceedings of the third NASA/DoD workshop on evolvable hardware.2001IEEE.

容错服务器系统 篇7

当今的网络应用对于互操作性的需求日益增加。各种在线业务已从简单的信息交互领域扩展到服务交互领域。尤其在电子商务和电子政务领域, 协同服务环境的构建成为了新的发展趋势。Web服务技术能够以一种标准化的方式实现异构系统之间松耦合的互操作, 为协同服务环境的构建提供了有力的支持。然而, 目前的Web服务技术仍有许多关键的问题有待解决, 其中很重要的一个方面就是Web服务的可靠性和容错性。

容错是保障系统可靠性和可用性的关键技术, 使得系统在发生部分失效时仍能尽可能地继续工作。我们在智能政务系统的服务集成项目中, 发现Web服务的可靠性和容错性对系统的有效运作产生了很大的影响。为此, 我们在政务服务集成系统中引入了基于补偿服务链的Web服务容错机制。

1 Web服务容错性分析

1.1 传统的Web服务容错技术

导致Web服务调用出错的原因主要有两个方面:网络故障导致消息传送失败和Web服务节点失效导致服务请求失败。对于这两个问题, 传统的解决方法主要包括两点: (1) 在服务请求者与服务提供者之间引入消息确认/重传机制。每一次消息发送都必须得到消息接收者的确认, 对于传送失败的消息重新发送。 (2) 建立Web服务的备份, 当服务请求失败时, 请求者将向备份服务重新发送请求消息[3]。

传统的容错技术的实现需要Web服务客户端 (请求者) 的参与、消息重传、备份Web服务寻找等操作都由Web服务客户端完成, 这将增加客户端系统的开销, 并且会增加客户端系统的复杂性。另外, 采用简单的消息重传和服务备份的容错机制只适用于请求目标为单一Web服务的场合。对于服务集成系统来说, 任一服务节点错误将导致整个Web服务组合执行失败, 这将造成计算资源的浪费。

1.2 Web服务容错机制的设计目标

出于对传统Web服务容错技术改进的考虑, 我们提出了Web服务容错机制的四个设计目标: (1) 实现客户端透明性:尽可能地减小Web服务错误对客户端系统的影响, 并且容错机制的实现不应由客户端参与; (2) 提供对Web服务组合的支持:对于服务集成系统来说, 容错机制不仅要支持对单个Web服务的容错, 还需要支持Web服务组合的容错; (3) 建立服务补偿机制:当Web服务调用出错时, 将触发相应的服务补偿动作, 而不是立即返回出错信息; (4) 实现对Web服务会话状态的监控和维护:容错机制能够对Web服务组合的执行过程进行监控和维护, 将单个Web服务失败造成的影响控制在一定的范围之内, 而不会导致整个Web服务组合执行的失败。

2 基于补偿服务链的Web服务模型

2.1 相关概念

定义1 补偿服务CWS (Compensating Web Service) :目标Web服务出错, 触发相应的补偿动作时调用的Web服务。包括以下三类: (1) 目标Web服务的备份; (2) 与目标Web服务功能相同或相近的替代服务; (3) 特定的出错处理服务。

定义2 补偿服务链CWSL (Compensating Web Service Linked List) :指定的Web服务及其补偿服务集按照一定的次序构成的链表结构。

CWSL={E1, E2, E3, …, En} (n≥2)

其中E1为指定的Web服务;Ei (1

CWSL的构建通过链接器实现, 其结构如图1所示。

链接器独立于原始的Web服务, 它通过invoke接口以标准的SOAP方式调用相应的Web服务。当调用成功时, 则停止CWSL中的请求传递过程, 向请求者返回响应消息;当调用失败时, 链接器通过next接口将服务请求传递到服务链的一下结点。只有在目标Web服务及其所有补偿服务都失效时, 才会启动服务中止程序, 返回请求失败消息。

定义3 基于补偿服务链的Web服务组合WSC (Web Services Composition) :由补偿服务链CWSL构成的有序集合。

WSC={LE1, LE2, LE3|LE4, [LE5, LE6], …, LEn} (n≥1)

WSC中的每一元LEi都为一个CWSL, 其中LE3 | LE4 表明LE3与LE4 并行执行, [LE5, LE6 ]表明LE5与LE6两者选一执行。

2.2 基于补偿服务链的Web服务模型

基于补偿服务链的Web服务模型如图2所示。该模型为一个二维结构, 横向为Web服务组合中各个Web服务的有序排列;纵向为各个Web服务对应的补偿服务链。

在该模型下, 对于Web服务的请求将转变为基于补偿服务链的Web服务组合的一次执行。执行的过程可分为三种情况: (1) 服务组合中的所有Web服务都调用成功, WSC执行产生的最终响应消息由各个CWSL的头元素WS的响应消息构成。这种情况下无须启动容错机制。 (2) 服务组合中的某些Web服务调用失败, 但都可通过相应的CWSL上的某个补偿服务来完成请求处理, 即Web服务调用出错可通过CWSL得以恢复或进行一定的补偿操作。这种情况下, WSC的实际执行结果与预期的执行结果存在着一定的差别, 将记录在最终的响应消息中, 交由容错框架做进一步的处理。 (3) 服务组合中的某些Web服务调用失败, 并且将触发某个CWSL末端的服务中止程序。这种情况下, 无法由CWSL完成容错, 但是WSC的执行状态将记录在最终的响应消息中, 交由容错框架进行容错处理。

3 Web服务容错框架

实现容错机制的一个关键问题是实现对Web服务会话状态的监控和维护, 因此, 我们在补偿服务链的基础上建立了Web服务会话管理机制。服务补偿机制与会话管理机制结合起来构成了整个容错框架, 如图3所示。

3.1 Web服务会话

从请求者发出服务请求, 到服务提供者完成请求处理, 返回最终的响应消息的整个过程定义为一次Web服务会话。传统的Web服务模型中, 服务请求者与服务提供者之间的通信和交互是基于标准的SOAP方式, 但是SOAP以无状态的HTTP协议为载体, 在服务请求调用过程中无法获知Web服务的会话状态信息。

我们对标准的SOAP消息进行了扩展, 在消息头部增加了描述Web服务会话状态的元素, 定义如下:

其中子元素Requester描述发起Web服务会话的请求者的相关信息;ProviderSet指明Web服务会话中所涉及到的服务提供者的集合;SessionStatusSet记录ProviderSet中描述的所有服务提供者的调用状态, 即2.2节所述的服务组合的执行状态。

3.2 Web服务会话的管理

容错框架中对Web服务会话状态的监控和维护是通过会话创建器、会话注册器、会话管理器以及会话持久化四个部分来实现。其关键步骤如图3所示。

(1) 请求者发送服务请求消息, 申请一次Web服务会话。

(2) 会话创建器根据请求消息, 调用服务集成模块, 生成相应的Web服务组合 (WSC) 。

(3) 会话创建器根据服务集成模块返回的结果信息创建一次Web服务会话, 并通过会话注册器进行注册。会话注册器初始化元素信息。

(4) 会话管理器从会话注册器中提取Web服务组合信息中的服务补偿规则, 创建补偿服务链。

(5) 会话管理器向基于补偿服务链的Web服务组合发送请求消息, 启动Web服务组合的执行。请求消息的头部包含用于记录本次Web服务会话状态的元素。

(6) 会话管理器从Web服务组合的响应消息头部中提取元素, 判断Web服务组合的执行情况:1) 没有出错的情况下, 不对响应消息进行任何处理;2) 某些Web服务的请求是由其补偿服务完成的情况下, 会话管理器将根据服务集成的相关信息对响应消息进行处理;3) 某些Web服务的请求触发了服务中止程序的情况下, 会话管理器并不会立即向请求者发送服务请求失败消息, 而是将本次Web服务会话当前的状态持久化到本地数据库中, 在适当的时候再次激活Web服务会话, 尝试完成相应的Web服务请求。

(7) 会话管理器完成对响应消息的处理或相关的容错动作后, 向请求者返回最终的响应消息, 结束本次Web服务会话。

3.3 应用实例

我们在政务服务集成系统中实现了上述Web服务容错机制。其中的一个应用实例是用于数据备份服务中, 如图4所示。

数据备份服务的功能是将各个部门业务系统产生的数据备份到数据中心。为确保备份服务的可靠性, 我们建立了实时备份服务、延迟备份服务以及通知备份服务构成补偿服务链。默认情况下采用实时备份方式;当实时备份出错时, 备份请求将依次由延迟备份服务或通知备份服务接管。该容错机制有效地提升了数据备份服务的可靠性。

4 结束语

本文提出了一种基于补偿服务链的Web服务容错机制。通过建立服务补偿机制和Web服务会话管理机制达到容错的目的。该容错机制能够有效地增强Web服务请求调用的可靠性。接下来的工作是对补偿服务链模型作进一步的优化, 在补偿服务链的构建中考虑服务质量、优先级等因素。

摘要:针对网络故障以及Web服务节点暂时性失效, 导致Web服务请求出错的问题, 提出了一种Web服务容错机制。通过建立服务补偿机制和Web服务会话管理机制达到容错的目的。首先对Web服务的容错性问题进行了分析;接着详细论述了服务补偿机制和容错框架的设计与实现方案;最后通过在政务服务集成系统中的应用实例说明了该容错机制能够有效地增强Web服务请求调用的可靠性。

关键词:Web服务,容错,可靠性,补偿服务

参考文献

[1]岳昆, 王晓玲, 周傲英.Web服务核心支撑技术研究综述[J].软件学报, 2004, 15 (3) :428-442.

[2]石静, 丁长明, 赵泽宇.Web服务合成研究综述[J].计算机科学, 2004, 31 (6) :54-58.

[3]Fang C, Liang D, Lin F.Fault tolerant web services[J].Journal of Sys-tems Architecture, 2007 (53) :21-38.

[4]Sun Y, Ma X, Xie K.A compensation mechanism in GIS web servicecomposition[C].Geoscience and Remote Sensing Symposium, 2005.

容错服务器系统 篇8

在工业自动化、机器人系统、武器系统、航空和航天等领域中,为了提高系统的可靠性,双机容错技术得到了普遍的应用和发展。双机容错是由两套完全同构的计算机系统组成[1],作为双机容错系统的控制核心—容错控制器是实现双机故障诊断和仲裁切换的关键机构。本文提出并实现一种基于FPGA的容错控制器,它的功能根据所设计双机容错系统的应用特点,不但实现了双机容错系统中故障的检测和诊断,且能根据诊断结果作出故障处理的仲裁结果,使双机能够及时得到实时判断结果,完成双机容错系统的切换重构工作。该方案有效地结合了FPGA器件的优势及特点,将其引入高可靠性嵌入式系统应用领域,降低了成本,提高了系统的可靠性。

1 双机容错系统结构

本文所设计的FPGA容错控制器应用于如图1所示的双模冗余热备份容错计算机系统。该双机容错系统其应用功能是通过CAN总线接受上位机发送的数据,通过双机容错系统的计算机解算处理后再经过RS422总线下传给接受方设备。

工作原理:该系统由计算机A和计算机B组成主备机,由交叉数据通道实现双机间的通讯,由FP-GA实现的容错控制器完成双机容错系统的部分故障检测、诊断和仲裁切换的任务。另外,A机和B机各有独自的外围控制逻辑和外设,这样即不会引起系统资源的竞争,增加了整体系统的稳定性。双机上电后,首先进行A、B机硬件自检,自检通过后,默认A机作为主系统,接受数据并将此数据和此次接受任务的标志发送至交叉数据通道固定单元,等待双机同步,B机作为备份机同样接受数据并将此数据和此次接受任务的标志发送至交叉数据通道固定单元[2],等待双机同步,然后两机从交叉数据通道中取出任务标志和对方接受的数据进行同步和比较,然后分别执行相同数据的解析任务。将任务标志和计算结果又送至交叉数据通道,两机又通过任务标志和结果数据的比较完成数据发送数据任务的同步和输出数据的比较检测。在接受和主备发送数据的比较中,若比较一致,程序由A机输出,比对不一致程序转到各自自检程序,根据自检结果和主备机标志切换正常计算机作为系统输出,系统转为单机运行。

另外,容错控制器还要实时监测软硬件心跳状态是否正常,若某台主机出现故障,根据故障机是否为当班机,进行相应的容错处理,包括是否请求无故障机切换为当班机、是否复位故障机等处理过程。

2 容错控制器设计

为实现所描述双机容错系统的整体监控和备份功能,本文提出的基于FPGA的容错控制器结构如图2所示。容错控制器根据所接收到的状态信号,判断单机在系统中的地位,并给出相应的输出信号,容错控制器包括:软件心跳检测模块WTD、硬件心跳检测模块ALE_WTD和仲裁判决模块Arbiter。

2.1 两主机负责处理的信号[1]

因为两主机与容错控制器的连接工作机制完全相同,这里只介绍主机A处理的信号:(1)发送周期性的脉冲信号wdi1给WDT,表示主机A处于正常工作状态;(2)通过ALE自动发送既定的脉宽到ALE_WTD,表示主机ALE信号正常;(3)通过主机A的IO口发送主机目前的主备机标志、比较结果标志、自检结果标志到容错控制器仲裁判决模块,等待仲裁判决处理。(4)接收来自仲裁判决模块Arbiter的脉冲信号RESET,以使主机A复位重启恢复故障;(5)接收来自仲裁判决模块Arbiter的中断请求信号Switch1_INT,表示当主机B发生故障且主机B之前是当班机时,请求主机A机接管工作;(6)接收来自仲裁判决模块的脉冲信号state1,表示系统中对等机主机B的工作状态,为主机A是否进入单机运行态做准备。

2.2 软件心跳检测模块(WTD)

程序跑飞、程序死循环等是常出现的软件故障,本设计中在容错控制器采用看门狗技术来检测此故障。看门狗WTD接受来自主机A的IO口发送的周期性脉冲信号wdi1,该脉冲信号对WTD计数器清零。当下一个clk(WTD内部时钟)周期到来时,WDT计数器重新开始计数。如果WDT计数超过某个值(即主机A在规定的时间周期内没有发送wd1脉冲),则认为主机A发生故障,WDT将发送wdo1信号至仲裁判决模块等待仲裁判决处理。

2.3 硬件心跳检测模块(ALE_WTD)

由于51单片机的ALE引脚,无论单片机是否访问外存,ALE都能在一定时间内提供至少一个上升沿或下降沿[3]。如果ALE信号不正常,那么可以确定CPU一定是出现了永久故障。本文设计两个看门狗(ALE_WTD)监测主机的ALE信号,当两主机的ALE不正常引起硬件不能喂狗时,溢出信号(ALE_wdo1=‘1’或ALE_wdo2=‘1’)送至仲裁判决模块等待仲裁处理。这种通过硬件喂狗方式来检测CPU故障的方法既可以节省单片机有限的IO口资源又不用设计专门的喂狗程序。

2.4 仲裁判决模块(Arbiter)

仲裁判决模块根据容错信号包括双机发出的自检信号(self_chk1和self_chk2)、数据一致比较结果信号(diff_chk1和diff_chk2)和软硬件心跳检测模块检测到的结果信号(wdo1和wdo2、ALE_wdo1和ALE_wdo2)这四组检测结果信号和双机发出的主备机状态标志(flag1和flag2),完成对双机状态的判断,最后给出切换请求、复位和对等机状态信号等系统重构信号。图3是主机A被容错控制器仲裁判断后的流程图。

由图3可以看出,四种输入信号self_chk1、diff_chk1、wdi1、ALE1中的任何一个被检测到不正常时,被判断为该机不正常,然后根据该机目前是否为主机(flag1=‘1’),若为主机,则申请切换B机为当班机(置switch2_INT=‘1’)并通知对B机对等机不正常(置state2=‘1’),同时复位A机。主机B的仲裁判决过程同主机A。通过在FPGA中利用硬件描述语言的进程并行模块语句和并行语句特点,实现此模块是很有效的方法。

3 系统实现

根据以上介绍,本文提出的容错控制器是在FPGA芯片上实现的,利用QuartusⅡ8.0,设计如图4所示的VHDL语言编译综合后的RTL级视图。WTD1和WTD2模块分别集成了对主机A和主机B的软硬心跳检测的看门狗模块,Abiter模块即为前面提到仲裁判决模块。这里为了满足系统中CPU及总线控制器等电路的复位信号要求至少200 ms的保持时间,增加了一个reset模块用它来专门处理保持200 ms的复位信号。在程序设计中考虑到输入异步产生的毛刺现象,设计中增加了clk信号作为全局时钟同步信号,充分解决了毛刺问题。[4]

图4中WTD1和WTD2功能相同,feed和ALE信号是被检测的两主机的喂狗信号和ALE信号,经过WTD1的看门狗监测后输出故障监测结果信号至Arbitry模块,Arbitry模块根据两主机的主备机标志信号flag1和flag2、自检信号self_chk1和self_chk2、比较信号diff_chk1和diff_chk2、由看门狗监测到的ALE错误信号CPU1_ERROR和CPU2_ER-ROR、和喂狗失败信号wdo1和wdo2判断仲裁后向两主机输出对等机状态信号state1和state2、切换请求中断信号switch1_INT、switch2_INT和复位信号reset1和reset2。reset1和reset2又经过Reset模块处理输出既定时间的复位信号至两主机系统的各个电路。

4 结果与讨论

本设计选用Altera公司的CycloneⅡ系列型号为EP2C8Q208C8的FPGA芯片,在Windows XP操作系统环境下使用该公司的开发软件Quartus II8.0作为EDA设计工具设计实现。时序仿真波形如图5所示。

由图5中看出,两主机输入的四组检测信号通过容错控制器的故障检测、诊断以及仲裁判断输出复位、切换请求等系统重构信号。例如图5中时间棒(Time Bar)所示:

当时间棒处于+221.88 ns时,容错控制器的WTD看门狗检测到输入信号wdi1由于出现高电平脉冲时间超过既定时间。在时间棒所指处出现“狗咬”,容错控制器根据此时的flag1为高电平,flag2为低电平,确定进行双机切换,置switch2_INT高电平,置switch1_INT为低电平,表示要求主机2接管当班机任务;state1置高电平,state2置为低电平,表示通知主机B对等机(A机)不正常;并置reset1为高电平十个脉冲信号,表示对主机A复位保持一定时间。

其他三个时间棒所指点容错处理结果,由图5容易看出结果也满足设计要求。通过以上时序分析,本文设计的容错控制器满足双机容错系统的容错控制功能的要求,引入了clk全局时钟后信号未出现毛刺,满足系统性能需求。

5 总结

该容错控制器应用于某设备双机容错系统上进行验证,满足系统需求。由于该双机容错系统对数据处理的实时要求比较高,采用本文设计的容错控制器具有的实时监测,实时仲裁等特点,保证了双机容错系统切换时的准连续性;另外,通过FPGA硬件实现仲裁检测任务减轻了双机容错系统软件任务的负担,保证了容错系统不会由于采用复杂的软件实现仲裁判决带来的不可靠性影响。

摘要:根据双机容错系统故障检测和诊断、仲裁技术的常用方案及特点,结合某在研双机容错系统,提出了一种基于FPGA容错控制器的设计方案。仲裁模块作为容错控制器的核心模块,可根据双机工作的监测信号负责完成主备机切换功能。为了实现软硬件心跳故障监控功能,在FPGA内嵌了WTD模块。同时,全局时钟引用于各个模块后,良好消除了输出信号的毛刺问题。实验结果表明,该设计方案满足系统要求,可靠性较好。

关键词:双模容错计算机,FPGA,故障检测与诊断,仲裁

参考文献

[1]李迅,李洪峻,刘庆敖.双模容错计算机的设计与实现.计算机工程,2008;9(17):240—241

[2]朱朝晖,张崇峰,陈卫东.空间双机容错计算机系统研究.上海航天,2004;(6):18—23

[3]王幸之,忘雷.单片机抗干扰应用系统抗干扰技术.北京:北京航空航天大学出版社,2000

计算机系统容错技术研究 篇9

1 硬件错误的容错方法

计算机可能出现的硬件错误有永久性错误、间歇性错误和瞬态错误。永久性错误是指由于计算机硬件老化、电路元件短路等现象而产生的故障, 一旦出现则影响系统原有功能, 需通过更换元器件来恢复系统正常工作;瞬态错误的发生率是非常频繁的, 在所有系统错误中所占的比例也是最大的, 对整个系统可靠性和安全性的影响也是最大的;间歇性错误介于以上两种错误之间, 针对系统的可靠性设定了一定的阈值, 当瞬态错误的发生频率超过该阈值时表现为间歇性错误。

计算机容错系统为了更好地容错性能, 必须是冗余的。不同形式的冗余资源可分为不同的冗余方法, 主要包括硬件冗余、信息冗余、时间冗余、线程冗余等集中冗余类型。

1.1 硬件冗余

根据冗余程度的不同, 硬件冗余还可分为部分冗余和完全冗余。完全冗余可分为冷备、温备、热备以及双工这四种工作方式。以双系统为例, 可分为双系统冷备、双系统温备、双系统热备和双系统双工。其中, 在对故障导向实时性和安全性要求较高的系统中首选方式是应用双系统双工, 而其他三种方式可以应用在一般性系统中, 即对故障诊断时间和切换时间没有过高要求的情况。此外, 三模、四模的冗余技术的应用也非常广泛。

目前, 基于动态可重构现场可编程门阵列 (FPGAs) 在硬件冗余技术中是研究关注度较高的。这种方法可根据抽象层次分为2层:硬件层 (DL) 和配置层 (CL) 。

目前, 学界在计算机系统容错技术研究中, 对硬件冗余方法的研究最多, 花费也相对较大, 但是其在提升计算机系统的可靠性和安全性方面的效果也非常良好, 技术相对比较成熟, 并在很多场合都已实践运用。因此, 我们在计算机系统容错中, 一般首选硬件冗余。

1.2 信息冗余

信息冗余是指通过在原始数据中添加若干冗余位以实现故障检测或故障恢复, 这种容错技术包括检错编码和纠错编码。检错编码可以检测出错误, 纠错编码可以检测错误, 也可以纠正错误。编码技术通常应用于传输、储存、处理信息环节中。比较典型的信息冗余技术有奇偶校验码、循环冗余校验码、海明码及其扩展编码方式等。

相对其他冗余方法, 信息冗余技术的优点有:速度快, 对冗余信息的处理与原始数据在同一时间段内, 无需额外占用时间成本, 在数据处理时检错、纠错并行完成, 从而避免由于错误恢复操作引发的迟延;代价较小, 仅需支付少许额外的编码电路或字节和计算开销, 与其他硬件冗余相比开销要小得多, 因此, 在实际进行计算机系统性能提升的过程中, 可以根据实际的需要来选择采用硬件冗余技术还是信息冗余技术。

常见的信息冗余技术有ABFT、RED-FECMechanism、check-sum EDAC。

1.3 时间冗余

在对实时性要求不高, 且没有实施硬件冗余的系统中, 可以采用时间冗余的方法来保证系统可靠性, 实现容错机制。在具体应用过程中, 时间冗余技术体现为1种方式, 分别为:Re-execution of the task on the Same Hardware (RSHW) , 指同一硬件基础上的同一数据在不同的时间片内执行相同的指令集;利用表决电路和数据延迟单元, 把这两者结合处理后的数据根据延迟的多少拷贝出对应的版本, 并传送到表决器惊醒表决判断, 通过对比得出最佳结果。

时间冗余技术的关键点在延迟时间的大小, 也就是说若延迟时间过小可能会导致表决器的输入内容出现错误, 无法实现系统容错;若延迟时间过大, 会导致时间成本增大, 那么容错机制就是去了原本减小延迟的意义。因此, 在时间冗余技术的应用中, 一定要对系统的时间要求进行合理的判断, 进而设置合理的时间冗余, 以实现计算机系统容错性能的提高。

1.4 硬件线程冗余

硬件线程冗余是指在多线程处理器中使用容错手段实现线程级容错, 具体方法是在多线程系统中把主线程拷贝成多个同样的线程并行处理数据, 然后通过比较处理结果来实现容错。目前常见的线程冗余技术有基于CMP的容错即芯片级冗余多线程、冗余多线程RMT、基于微线程的粗粒度超标量容错MTB等。

目前在硬件多线程冗余中研究最多的是主副线程通信方式, 通过对中间结果队列的共享使线程的执行速度加快, 并实现容错。线程冗余技术对硬件成本的要求不高, 而且容错效果好, 时间开销小, 实时性较高, 因此硬件线程冗余技术是一种高效可行的硬件容错方法。

2 软件错误的容错方法

关于计算机系统的可靠性的评价与分析, 需将其软件的可靠性因素考虑进去, 但是对这方面的研究却不太成熟, 因此相比硬件容错方法效率较低, 导致在评估系统的可靠性是忽略软件的失误率。人为设计引发的软件错误一直存在, 在一定的输入刺激下产生各种故障, 尚无法用统一数学模型进行描述。软件错误的容错方法通常有恢复快方法、软件多样性方法、防卫式程序设计方法。也可以通过改善软件工程、计算机平台环境和构造异常处理模块等方面来提高容错水平。

计算机系统出现故障后恢复的策略通常可分为前向恢复和后向恢复。前向恢复是指使系统继续向前运行, 采取措施是系统连贯, 弥补故障造成的不连贯, 继续计算;后向恢复是指将系统还原到之前的正确阶段, 再重新运行计算。

2.1 N-version programming方法

N版本软件容错技术是将软件的各个版本交由不一样的开发团队进行开发, 用不同的开发语言和方法, 独立的设计工具和环境, 以减少不同版本之间出现相关错误的几率。此时各个版本的软件设计开发不能违背以下几个原则:总体设计目标要一致, 避免错误恢复;各个模块之间要有统一的标准接口;软件设计过程中模块内部对外透明, 要进行封装;各个版本的软件开发必须独立。

2.2 恢复块方法

恢复块方法的具体过程是配置有主块和后备块, 其功能是相同的, 首先是主块开始运行, 计算结果, 若出现故障, 则运行一后备块, 再计算结果进行测试, 未通过则再运行一后备块, 直到测试通过, 若测试一直未通过, 则说明产生了不可恢复的故障。在设计开发过程中应尽量保证主块与各后备块之间的独立性, 以降低它们之间的错误的相关性。此外, 测试计算结果的程序有着至关重要的地位, 必须毫无错误。

2.3 防卫式程序设计方法

防卫式程序设计方法是一种保守的容错机制, 它不利用任何传统的容错方法就能实现系统容错。它的具体过程是这样的:若程序在运行过程中出现错误, 就会调用程序自带的检测代码和恢复代码进行处理, 将系统返回到上一个正确的状态, 如此, 就实现了对程序中出现的错误的检测, 错误类型以及影响范围的估计, 并且最终实现错误恢复。

3 结语

随着极端及系统的规模不断扩大, 越来越多的应用部署在计算机系统中, 对系统可靠性的要求也越来越高, 因此需要更加完善的容错技术来保障系统的可靠性和安全性。目前的硬件冗余容错方法成本较高, 耗能较多, 物理空间占用较大;信息冗余容错方法中针对瞬态错误的容错技术还有待深入研究;时间冗余容错方法不仅使延迟增大, 对永久性错误没有好的容错机制;并行线程冗余容错方法在合理分配线程资源方面没有完善的解决方案;软件冗余技术相对硬件更加落后;恢复块方法中必须保证测试程序的准确性;防卫式程序设计方法尚缺乏完整的理论依据。因此无论哪种容错技术, 虽然已经取得了很多研究成果, 但是还有不足, 仍有许多问题值得进一步探索。

参考文献

[1]王丽华.计算机容错系统的体系结构与安全性研究[D].成都:西南交通大学, 2002.

[2]李洪超.计算机系统的容错技术方法[J].单片机与嵌入式系统应用, 2010 (11) :19-21.

上一篇:难治性障碍障碍下一篇:砌体结构裂缝分析论文