论文部分内容阅读
随着大数据时代的到来,计算机承担着越来越多的数据处理和分析工作。互联网公司利用计算机软件处理通过网络收集到的各种数据,从而为网民提供更丰富、更优质的服务。在科学研究的各个领域,大量的科学计算型任务需要计算机来完成。计算机中的软件需要连续地运行很长一段时间才能产生最终结果,花费的时间有可能是几小时,几天或者几个月。这些软件在运行的过程中,如果由于系统断电、遭遇外部程序入侵等各种原因而崩溃,就会丢失所有的已经计算出来的中间结果。以前的做法就是从头开始重新运行软件,而这对于有些对实时性要求很高的任务是不可接受的。这使得保障计算机中软件系统的生存性问题显得越来越重要。本文深入研究了保障软件生存性的关键理论和技术。详细地描述了基于软件工程角度保障软件生存性的开发方案,总结了在软件开发过程中为增强软件生存性而添加的额外开发规范。同时着重论述了另一种保障软件生存性的非常有效的技术,基于进程检查点机制的软件生存性保障技术。分析了利用进程检查点机制保障单进程的生存性的机制,其中主要包括设置检查点、识别故障进程和恢复故障进程等操作的实现涉及到的相关理论和技术。在深入研究了单进程检查点机制之后,本文利用现有的单进程检查点技术,设计出了一种保障包含多个进程的软件系统的生存性的系统,即多进程软件生存性保障系统。详细地描述了该系统的组成部分和架构设计,并对该系统中多进程设置检查点、识别故障进程和恢复故障进程这三种操作分别提出了对应的设计算法。最后,基于多进程软件生存性保障系统的理论设计,开发出了一个多进程软件生存性保障系统。并对该系统的功能和性能进行了详细测试和数据分析,从得出的实验数据来看,基于本文提出的多进程软件生存性保障方案是可行的、正确的。开发出来的多进程软件生存性保障系统具有较好的性能和实用性,有一定的实用价值。