关于计算机系统容错技术的探讨
2019-11-14王蒙中国人民大学信息学院北京市102200
王蒙 中国人民大学信息学院 北京市 102200
当前,在这我国社会主义现代化建设事业不断的背景之下,我国社会上各个领域都开始呈现出欣欣向荣的发展趋势。在此期间,我国的计算机技术也开始逐渐的发展起来,将计算机技术应用在各个领域当中,能够有效的提升各个领域在运行期间的质量与效率,进而使我国的经济发展得到全面提升。而在计算机系统当中,容错技术是一项极为重要的技术,其能够在计算机系统出现软件错误或者是硬件错误的情况下,采取相应的措施来保证系统各个部分在运行期间的既定功能,进而确保计算机系统在运行期间的稳定性。针对于计算机容错技术来说,其已经在我国的航天国防、电力化工、医疗卫生等方面得到了极为广泛的应用,并且对于以上领域的发展起到极大的促进作用。
1.计算机系统容错技术概述
所谓的计算机系统容错技术,其主要便是指计算机在运行期间所出现的数据、文件损坏或者是丢失等方面的故障时,系统能够自动将这些损坏或者是丢失的文件和数据恢复到发生故障之前的状态,从而确保计算机系统能够实现连续且正常的运行。通过计算机系统容错技术,能够有效的提升计算机系统在运行期间的安全性,并且不会在其中文件受到损坏期间影响到计算机系统的正常运行,进而使计算机的工作任务不会被中断,这便能够有效保证计算机系统在运行期间的实效性。基于以上特性,计算机系统容错技术得到了全方位的应用,同时也能够对于计算机的应用稳定性起到保障的作用,同时在不断的探索与实践当中,计算机系统容错技术也得到了一定的发展,目前已经发展出了数据备份技术以及服务器容错技术,这两项技术在实践当中获得了极为广泛的应用,同时在该技术的保障下,也使我国计算机技术的应用与发展更加的系统且全面。
2.计算机系统常见错误分析
在计算机系统的错误当中,其故障类型分为多个方面,不过总结来说其主要能够分为两个层面上的错误,即软件层面以及硬件层面上的错误。近几年来,伴随着我国在电路主板方面的工艺不断提升,便使硬件方面的故障主要出现在处理器,即cpu上面,而这个故障的类型主要便是处理器瞬间故障。在实践当中出现处理器故障的主要因素便有可能是由于计算机晶体管无法正常工作,这是由于其中所承受的电压值超出了计算机处理器所能够承受的最大值,从而导致计算机瞬间故障的发生【1】。除此之外,计算机处理器所出现的故障还有可能是由于计算机处理器主频设置过高所导致,当前社会上众多领域在应用计算机系统期间为了有效的减少计算机的更新换代时间,便会采取相应的措施令计算机处理器在实际当中超频运行,这种情况的出现便导致计算机处理器上所承载的负荷过高,从而致使计算机处理器在使用期间故障频发。实际使用期间,计算机处理器上面所出现的故障还有可能是由于晶体管所出现故障导致,在近几年来我国在计算机制造方面技术的发展,这便导致计算机处理器当中的晶体数量增大,若是在计算机运行期间其中的某一个或者几个晶体管出现故障,便会导致计算机处理器在实际当中出现运行错误的情况发生。针对于计算机系统当中所出现的各种各样问题,便需要针对于其中经常出现的故障来设计出有效的计算机容错系统,通过在计算机系统当中安装容错模块,从而有效的降低计算机在运行期间发生故障的几率,从而为计算机的稳定运行提供保障与助力,并且使计算机能够更好的应用在社会上的各个领域当中,进而确保我国社会经济发展呈现出稳定且高效上升的趋势。
3.计算机系统容错技术分析
针对计算机容错技术来说,其能够有效的在计算机系统出现故障期间采取相应的措施对于其进行改善与调整,从而保证整体计算机系统能够更加稳定的运行。在实际应用期间,计算机系统容错技术主要包含计算机硬件容错技术以及计算机软件容错技术两种,下面本文将针对这两种技术做出深入的分析与探讨:
3.1 计算机硬件容错技术分析
针对于计算机硬件容错技术来说,其在实践当中可能出现的错误类型较多,同时也比较复杂,但是总结来说其能够大致分为瞬间错误、间歇性错误以及永久性错误等三种错误【2】。在以上方面的错误当中,发生概率比较高的错误类型便是瞬间错误,该种错误在计算机硬件错误当中占有较大的比列,同时其对于计算机系统在运行期间的稳定性与安全性的影响也比较大 而针对于间歇性错误来说,其主要便是针对于系统的可靠性来设定一定的阈值,若是计算机系统在实际应用期间的错误发生概率超出在系统当中所设定的阈值,便代表其所发生的错误为间歇性错误 永久性错误也是系统当中的一个比较重要的错误类型,在实践当中,永久性错误主要便是由于计算机当中的电路元件发生短路、硬件老化等方面因素所导致,这种故障一旦发生便有可能的使整体计算机系统的既定功能受到影响,甚至在严重的时候还有可能导致计算机系统无法正常的运行,只有通过更换元件才能够有效的解决以上问题的出现,令计算机系统恢复正常的运行。针对于计算机容错系统来说,其与冗余具有较为直接的关系,同时在实践当中冗余资源形式的不同也会形成不同的冗余方法,例如:信息冗余、硬件冗余、线程冗余、时间冗余等方面的冗余方法。
3.1.1 信息冗余
在实践当中,信息冗余的容错技术可以被分为两种类型,即:纠错编码以及检错编码,这种容错方式主要便是通过在计算机系统原始数据当中添加一定数量的冗余位置来实现对于计算机系统的故障检测或者是故障修复等方面的功能。其中的纠错编码能够对系统当中的错误进行检测并且纠正其中所出现的错误,检错编码的功能则比较单一,其只能够实现对于系统当中所出现问题的检测。通过实践与分析发现,信息冗余在实践应用当中的主要特点便是其对于错误的处理速度比较快,同时所付出的成本相对来说也比较低【3】。在对于冗余信息作出处理的期间并不会占用额外的时间成本,同时其也能够与原始数据在同一事件内完成,同时在数据处理期间主要采用的检错与纠错并行的模式,所以在处理错误期间并不会造成时间上面的延迟,从而确保系统当中所产生的错误被更加优质的修复。
3.1.2 硬件冗余
在计算机系统容错技术当中,硬件冗余是研究最多的一项,简单的说硬件冗余就是一个小小的异常导致计算机系统在运行期间进入一种死循环的状态,同时系统无法对于这种状态产生相应的动作,所以Windows底层的线程体系便会爆出问题并且用更加高级的权限去强行将其关闭【4】。在实际应用期间,由于电脑不能够有效的保证一个命令被百分百的执行,在电脑执行的底层完全是二进制的机器码,而在实际运行期间难免会由于电子的偏移而导致有无法执行片段的产生,随后这些产生错误的片段便会堆积在内存里面,若是在系统当中这些问题堆积较多并且到了一定数量的时候便会出现死机或者是重启的情况,所以专业的服务器、图形工作站等方面都会配置内存校检,这样便能够对于出错的地方做出调整,例如:将其中的高电平转换为低电平、将低电平转换为高电平等,这样便能够在最大程度上避免冗余现象的产生。在实践应用期间,硬件冗余技术提升计算机安全性与稳定性的效果相对来说要好一点,同时在技术方面也比较成熟,所以在实践当中取得了较为广泛的应用。
3.1.3 时间冗余
针对于时间冗余来说,其主要便是被应用在没有实施硬件冗余的系统并且不注重实时性的情况下,这种容错机制能够有效的提升系统的可靠性。在实践当中,时间冗余主要便是指同一硬件的同一数据在不同的时间段当中所执行的指令集相同。针对于时间冗余技术来说,对于延迟的时间具有较为特殊的要求,若是延迟的时间过短便有可能会导致系统当中的容错效果受损,若是系统当中的延迟时间较长,便会导致成本随之增加【5】。基于此,在实践当中若是选择利用时间冗余技术,便需要合理的判断与利用系统的时间,随后还需要根据计算机系统的实际运行情况科学的设置系统的时间冗余,通过这样的方式,能够确保系统当中的容错效果达到更佳。
3.1.4 硬件线程冗余
在计算机系统当中,若是想要有效的实现计算机系统容错的功能,可以通过在多纯种系统中对主线程进行拷贝处理,同时将其复制成多个同样的线程,令其并行处理数据,通过对比处理结果来实现计算机系统容错。除此之外,计算机系统当中的主、副线程通信也是硬件纯种冗余中关注度比较高的一种形式,通过在长时间的实践当中发现,硬件纯种冗余技术具有容错效果较好、成本较低、耗时少以及实时性较高等方面的特点,所以该项技术在实践当中也取得了较为广泛的应用,同时其也被视为一种高效可行的计算机硬件容错技术。
3.2 计算机软件容错技术分析
计算机软件容错技术与计算机硬件容错技术相比其在一定程度上还存在不成熟之处,所以在实践当中的容错效率要比计算机硬件技术差一些。同时在实践当中计算机软件容错技术的种类也比较多,通常情况下被分为以下三种,即:恢复块方法、防卫式程序设计方法、软件多样性方法等,通过以上三种方式,能够有效的提升计算机的软件容错水平【6】。在计算机系统恢复期间,其主要被分为向前恢复以及向后恢复两种:向前恢复便是在计算机系统中采取措施对于故障所造成的不连贯性作出弥补,同时确保系统能够继续向前运行 向后恢复主要便是指将系统还原到正确的部分,随后计算机系统能够重新开展运算。
3.2.1 恢复块方法
所谓的恢复块方法,其主要便是在计算机系统当中配置功能相同的主块以及后备块,在计算机运行期间由主块率先运行,若是在实践运行期间出现故障,便需要启动后备块,从而确保计算机系统能够稳定的运行。在此期间需要注意到要全面保证主块以及后备块之间的独立性,确保两者之间相互不会影响,通过这样的方式能够有效的减少两者之间的错误产生互相关联性,从而使备用块能够发挥出其既定功能,在实践应用期间,其关键便是在于测试计算结果的程序,需要全面保证其中不会有错误产生。
3.2.2 N-versionprogramming
在实践应用期间,这种软件容错技术主要便是将软件的各个版本交给不同的开发团队进行开发,并且在开发期间使用独立的设计工具以及环境,同时在开发期间采用不同类型的编程语言以及方法,这样便能够有效的降低不同版本之间错误的关联性,在实际的开发期间,需要秉承相同类型的开发原则【7】。基于此,首先要做的便是制定相同的总体设计目标,随后保证各个模块之间拥有统一系统的标准接口,同时各个版本之间的软件开发要保证彼此之间的独立性,还需要保证软件在设计期间的各个模块内容对外透明,并且对其进行封装处理,这样才能够全面保证计算机系统在实际应用期间的稳定性与安全性。
3.2.3 防卫式程序设计法
针对于防卫式程序设计法来说,其不需要利用任何传统的容错方法来实现系统的容错功能,从本质上来说,这是一种比较保守的容错机制,当程序当中出现错误,可以在系统当中调用程序自带的检测、恢复代码来对于其中所产生的故障来进行相应的处理,从而确保系统能够返回到之前的正确运行状态,这样能够有效的检测出在计算机系统运行期间所出现的错误,并且对于其中的错误进行分析,进而达到错误修复的效果。
结束语:综上所述,伴随着信息化时代的到来,我国的计算机技术得到了极为广泛的应用,在此期间,计算机系统运行的稳定性便成为了一个重要的指标。基于此,便需要对于计算机系统容错技术做出系统性的分析与探索,并且将其应用到实践当中,这样才能够全面保证计算机系统更加稳定且高效的运行,进而使其为我国社会经济的发展贡献出绝大助力。