论文部分内容阅读
[摘 要] 本文研究了神华车辆管理系统中采用的容错技术,通过对相关容错设计技术方面的研究,运用了一系列避错与容错手段,保障了车管系统的稳定运行。
[关键词] 车辆管理 管理系统 容错
1.引言
在当前全球一体化的市场环境和知识经济背景下,尤其在深受国际金融危机困扰的今天,铁路运输企业如何对各种资源进行掌控、协调及优化已经成为提高企业竞争力的热点问题,随着神华铁路的大发展,神华自备车的剧增也给管理方面带来了日趋严重的巨大压力。本文围绕提高神华自备车车辆使用和管理工作,结合车辆检测设备和控制设备,介绍了神华车辆管理系统容错技术的设计方案。
对于神华铁路车辆使用调度、车辆信息和相关人员的信息管理、使用记录、事故等信息管理系统而言,系统容错能力是一项十分重要的指标,这关系到整个系统能否正常的运行。本文首先概述了容错设计的基本思想及原则,然后详细介绍了在系统的设计与开发过程中所用到的避错与容错手段,并提出了一种主动式的软件故障检测与自愈方法,提高了车管系统的可靠性与稳定性。
2.容错设计的基本思想与原则
2.1容错设计的基本思想
容错设计技术的基本思想是通过对系统结构、设备配置、系统软件配置、应用软件等各方面加以备份或并行设计来屏蔽故障,从而保证系统能正常运行而不受影响。容错的方法有两种,一种是软件容错,软件可靠性是软件的重要质量指标之一,软件容错技术是软件可靠性技术中非常重要的一项,其主要目的是提供足够的冗余信息和算法程序,使系统在实际运行时能够及时发现程序设计错误,采取补救措施,以提高软件可靠性,保证整个计算机系统的正常运行。软件容错技术包括很多方面的技术,主要有故障检测、故障恢复、冗余技术等。另一种是系统平台容错,其主要是通过在系统中加入冗余硬件及相应错误处理软件来实现。这两种方法主要都是依靠冗余设计来实现,它以增加资源的办法换取可靠性。
2.2容错设计的原则
一般说来,一个已投入实际应用的系统不应含有任何错误,这一点对系统本身来说是容易做到的,而对由于设备性能、运行环境、外部条件、甚至用户操作失误等因素引起的错误,则往往是难以避免的。因此在系统方案设计时,除保证系统本身设计无误,实现预定目标外,而且要考虑到所设计系统能够防止、排除或恢复各种外部原因引起的错误,使系统不受故障影响仍能正常运行,同时以实用为目的,在可靠性与成本之间达到一种平衡,这也正是容错设计的原则。
3.车辆管理系统的容错技术设计
3.1软件故障检测与软件自愈
由于存在软件缺陷,致使软件在长期、连续运行一段时间以后,其自身缺陷的累积会导致软件的性能逐渐下降,甚至会使整个系统失效。这种现象就称为软件老化。引起软件老化的主要原因是由于软件在长期不间断的运行过程中,各种无法检测到,软件性能因此发生衰退,当资源被耗尽时,甚至导致服务瘫痪。
软件自愈技术利用老化现象,在性能衰退到一定程度时,在系统几乎没有负载时,终止程序的继续执行,重新启动以清理其内部状态(如进行垃圾收集、刷新操作系统内核表、重新初始化内部数据结构),从而释放操作系统资源,使软件性能得到恢复。同时为更加方便于对软件故障进行准确跟踪与定位,可以在软件设计时,创建一个安全日志,可将软件的每次操作写入全日志里,这也给日后的软件维护与故障检测工作带来了很大的便利。
3.2系统数据库结构与数据冗余
整个系统采用分布式数据库结构,分布式数据库系统是在集中式数据库系统的基础上发展起来的,是数据库技术与计算机网络技术的产物。一个分布式数据库是由分布于计算机网络上的多个逻辑相关的数据库组成的集合,网络中的每个结点具有独立处理的能力(称为本地自治),可执行局部应用,同时,每个结点通过网络通讯系统也能执行全局应用。分布式数据库系统适合于单位分散的部门,系统的结点可反映公司的逻辑组织,允许各部门将其常用数据存贮在本地,实施就地存放就地使用,降低通讯费用,并可提高响应速度。与集中式数据库系统不同,分布式数据库系统降低了对中心数据库及网络的依赖性,不会因为中心服务器故障或网络中断而导致整个系统的瘫痪。同时分布式数据库可将数据分布在多个结点上,实现数据冗余,所谓数据冗余,是指在一个数据集合中重复的数据称为数据冗余,它的主要目的是重复存储或传输数据以防止数据的丢失。在系统的开发过程中,通过增加这种适当的冗余手段,可有效提高系统的可靠性,只要一个数据库和网络可用,那么全局数据库可一部分可用。不会因一个数据库或局部网络故障而停止全部操作或引起性能瓶颈。故障恢复通常在单个结点上进行。这也正是在智能车辆管理系统的设计与开发过程中,针对数据与网络容错方面所考虑到的一个关键问题。另外,由于分布式数据库系统结构的特点,它和集中式数据库系统相比具有可扩展性,为扩展系统的处理能力提供了较好的途径。以下是为实现对冗余数据端进行数据实时更新所创建的线程,以保证数据库信息的一致性。
//创建更新数据库信息线程
mRcvThread=CreateThread(NULL,0,UpdateLocDataBase,this,0,0);
if(mRcvThread==NULL)
{
MessageBox("线程UpdateLocDataBase创建失败!!","错误",MB_OK);
return FALSE;
}
else
{
CloseHandle(mRcvThread);
mRcvThread=NULL;
}
3.3网络冗余
网络故障可以由很多因素导致,网络连接设备包括网卡、通信电缆、交换机、路由器等,任何一个连接设备故障都会导致网络的中断。在智能车辆管理系统中,网络主要是用来对数据库的访问。各派车终端会将已经批准的派车信息写入门岗监控端数据库,作为门岗监控软件对当前通行车辆进行出入权限判断的依据。当出现网络故障时,各派车终端的派车信息将无法写入监控端数据库,从而影响了系统的正常运行。因此在这个环节需要网络一直处于连接状态。
系统中短信通信模块的应用,除了在各派车终端实现短信批车与派车功能外,当有线以太网出现连接故障或无法访问监控端数据库时,可以暂时采用这种无线通信方式代替有线以太网,以防止系统失效,直到有线网络故障的恢复。这也就是以无线方式作为网络备份来实现网络的冗余,确保了系统通信网络的畅通。当各派车终端要对监控终端数据库进行写操作时,首先连接数据库,当连接失败时,即检测到有线网络出现故障,此时,启用短信通信模块,将派车信息以短信的形式发送到监控终端,监控终端将接收到的数据通过解析后写入本地数据库,完成数据库写入操作。同时,在派车终端调用网络检测线程,不断检测有线网络连接状态,当故障恢复正常时,再切换到直接写入数据库方式。这样,为系统网络连接的可靠性提供了保障,保证了门岗监控终端数据的完整性。进一步促进了车辆管理系统的稳定、可靠运行。
3.4电源系统
电源的故障可以造成整个平台的瘫痪。对核心部件可以采用冗余电源的设计方案,如在交换机、路由器以及服务器上均可采用两个或多个冗余电源的配置方案。为了避免市电故障,还需配置UPS,而且为了避免单个UPS存在的“单点瓶颈”故障隐患,采用UPS组的供电方式。常见有“N+1”型冗余并机系统,它是目前避免出现“单点瓶颈”的最佳方案。将有相同输出功率的N+1台机输出并联起来共同供电,当正常时平均分担负载,当某一台出现故障时,故障机自动脱机,由N台机供电。
4.结论
本文对容错技术的概念作了简单介绍,并概述了容错设计的基本思想与原则。主要针对在车辆管理系统的设计与开发过程中,所采用的一些容错方法与策略进行了详细的描述,如软件故障自动检测、系统数据库结构与数据冗余、网络冗余、防误操作等。通过对相关容错技术的采用,大大提高了车管系统的可靠性与稳定性。
参 考 文 献
[1]唐爱龙,蒋华,黄秋勇.软件可靠性技术的研究.柳州师专学报.2006.6.
[2]王刚,刘晓光,董沙莎,等.最优冗余双容错数据布局[J].吉林大学学报(工学版),2007,37(3):611-615.
[关键词] 车辆管理 管理系统 容错
1.引言
在当前全球一体化的市场环境和知识经济背景下,尤其在深受国际金融危机困扰的今天,铁路运输企业如何对各种资源进行掌控、协调及优化已经成为提高企业竞争力的热点问题,随着神华铁路的大发展,神华自备车的剧增也给管理方面带来了日趋严重的巨大压力。本文围绕提高神华自备车车辆使用和管理工作,结合车辆检测设备和控制设备,介绍了神华车辆管理系统容错技术的设计方案。
对于神华铁路车辆使用调度、车辆信息和相关人员的信息管理、使用记录、事故等信息管理系统而言,系统容错能力是一项十分重要的指标,这关系到整个系统能否正常的运行。本文首先概述了容错设计的基本思想及原则,然后详细介绍了在系统的设计与开发过程中所用到的避错与容错手段,并提出了一种主动式的软件故障检测与自愈方法,提高了车管系统的可靠性与稳定性。
2.容错设计的基本思想与原则
2.1容错设计的基本思想
容错设计技术的基本思想是通过对系统结构、设备配置、系统软件配置、应用软件等各方面加以备份或并行设计来屏蔽故障,从而保证系统能正常运行而不受影响。容错的方法有两种,一种是软件容错,软件可靠性是软件的重要质量指标之一,软件容错技术是软件可靠性技术中非常重要的一项,其主要目的是提供足够的冗余信息和算法程序,使系统在实际运行时能够及时发现程序设计错误,采取补救措施,以提高软件可靠性,保证整个计算机系统的正常运行。软件容错技术包括很多方面的技术,主要有故障检测、故障恢复、冗余技术等。另一种是系统平台容错,其主要是通过在系统中加入冗余硬件及相应错误处理软件来实现。这两种方法主要都是依靠冗余设计来实现,它以增加资源的办法换取可靠性。
2.2容错设计的原则
一般说来,一个已投入实际应用的系统不应含有任何错误,这一点对系统本身来说是容易做到的,而对由于设备性能、运行环境、外部条件、甚至用户操作失误等因素引起的错误,则往往是难以避免的。因此在系统方案设计时,除保证系统本身设计无误,实现预定目标外,而且要考虑到所设计系统能够防止、排除或恢复各种外部原因引起的错误,使系统不受故障影响仍能正常运行,同时以实用为目的,在可靠性与成本之间达到一种平衡,这也正是容错设计的原则。
3.车辆管理系统的容错技术设计
3.1软件故障检测与软件自愈
由于存在软件缺陷,致使软件在长期、连续运行一段时间以后,其自身缺陷的累积会导致软件的性能逐渐下降,甚至会使整个系统失效。这种现象就称为软件老化。引起软件老化的主要原因是由于软件在长期不间断的运行过程中,各种无法检测到,软件性能因此发生衰退,当资源被耗尽时,甚至导致服务瘫痪。
软件自愈技术利用老化现象,在性能衰退到一定程度时,在系统几乎没有负载时,终止程序的继续执行,重新启动以清理其内部状态(如进行垃圾收集、刷新操作系统内核表、重新初始化内部数据结构),从而释放操作系统资源,使软件性能得到恢复。同时为更加方便于对软件故障进行准确跟踪与定位,可以在软件设计时,创建一个安全日志,可将软件的每次操作写入全日志里,这也给日后的软件维护与故障检测工作带来了很大的便利。
3.2系统数据库结构与数据冗余
整个系统采用分布式数据库结构,分布式数据库系统是在集中式数据库系统的基础上发展起来的,是数据库技术与计算机网络技术的产物。一个分布式数据库是由分布于计算机网络上的多个逻辑相关的数据库组成的集合,网络中的每个结点具有独立处理的能力(称为本地自治),可执行局部应用,同时,每个结点通过网络通讯系统也能执行全局应用。分布式数据库系统适合于单位分散的部门,系统的结点可反映公司的逻辑组织,允许各部门将其常用数据存贮在本地,实施就地存放就地使用,降低通讯费用,并可提高响应速度。与集中式数据库系统不同,分布式数据库系统降低了对中心数据库及网络的依赖性,不会因为中心服务器故障或网络中断而导致整个系统的瘫痪。同时分布式数据库可将数据分布在多个结点上,实现数据冗余,所谓数据冗余,是指在一个数据集合中重复的数据称为数据冗余,它的主要目的是重复存储或传输数据以防止数据的丢失。在系统的开发过程中,通过增加这种适当的冗余手段,可有效提高系统的可靠性,只要一个数据库和网络可用,那么全局数据库可一部分可用。不会因一个数据库或局部网络故障而停止全部操作或引起性能瓶颈。故障恢复通常在单个结点上进行。这也正是在智能车辆管理系统的设计与开发过程中,针对数据与网络容错方面所考虑到的一个关键问题。另外,由于分布式数据库系统结构的特点,它和集中式数据库系统相比具有可扩展性,为扩展系统的处理能力提供了较好的途径。以下是为实现对冗余数据端进行数据实时更新所创建的线程,以保证数据库信息的一致性。
//创建更新数据库信息线程
mRcvThread=CreateThread(NULL,0,UpdateLocDataBase,this,0,0);
if(mRcvThread==NULL)
{
MessageBox("线程UpdateLocDataBase创建失败!!","错误",MB_OK);
return FALSE;
}
else
{
CloseHandle(mRcvThread);
mRcvThread=NULL;
}
3.3网络冗余
网络故障可以由很多因素导致,网络连接设备包括网卡、通信电缆、交换机、路由器等,任何一个连接设备故障都会导致网络的中断。在智能车辆管理系统中,网络主要是用来对数据库的访问。各派车终端会将已经批准的派车信息写入门岗监控端数据库,作为门岗监控软件对当前通行车辆进行出入权限判断的依据。当出现网络故障时,各派车终端的派车信息将无法写入监控端数据库,从而影响了系统的正常运行。因此在这个环节需要网络一直处于连接状态。
系统中短信通信模块的应用,除了在各派车终端实现短信批车与派车功能外,当有线以太网出现连接故障或无法访问监控端数据库时,可以暂时采用这种无线通信方式代替有线以太网,以防止系统失效,直到有线网络故障的恢复。这也就是以无线方式作为网络备份来实现网络的冗余,确保了系统通信网络的畅通。当各派车终端要对监控终端数据库进行写操作时,首先连接数据库,当连接失败时,即检测到有线网络出现故障,此时,启用短信通信模块,将派车信息以短信的形式发送到监控终端,监控终端将接收到的数据通过解析后写入本地数据库,完成数据库写入操作。同时,在派车终端调用网络检测线程,不断检测有线网络连接状态,当故障恢复正常时,再切换到直接写入数据库方式。这样,为系统网络连接的可靠性提供了保障,保证了门岗监控终端数据的完整性。进一步促进了车辆管理系统的稳定、可靠运行。
3.4电源系统
电源的故障可以造成整个平台的瘫痪。对核心部件可以采用冗余电源的设计方案,如在交换机、路由器以及服务器上均可采用两个或多个冗余电源的配置方案。为了避免市电故障,还需配置UPS,而且为了避免单个UPS存在的“单点瓶颈”故障隐患,采用UPS组的供电方式。常见有“N+1”型冗余并机系统,它是目前避免出现“单点瓶颈”的最佳方案。将有相同输出功率的N+1台机输出并联起来共同供电,当正常时平均分担负载,当某一台出现故障时,故障机自动脱机,由N台机供电。
4.结论
本文对容错技术的概念作了简单介绍,并概述了容错设计的基本思想与原则。主要针对在车辆管理系统的设计与开发过程中,所采用的一些容错方法与策略进行了详细的描述,如软件故障自动检测、系统数据库结构与数据冗余、网络冗余、防误操作等。通过对相关容错技术的采用,大大提高了车管系统的可靠性与稳定性。
参 考 文 献
[1]唐爱龙,蒋华,黄秋勇.软件可靠性技术的研究.柳州师专学报.2006.6.
[2]王刚,刘晓光,董沙莎,等.最优冗余双容错数据布局[J].吉林大学学报(工学版),2007,37(3):611-615.