N版本编程和恢复块技术的区别
软件容错技术使用两种常用技术来实现容错。
- N版编程
在 N 版本编程技术中,有 N 个开发人员团体或个人不共享编程过程,这些独立的人开发 N 个版本的软件模块。这种技术背后的想法是,不同的人会犯不同的错误,并将涵盖所有可能的错误。
-
恢复块
在恢复块技术中,不同的尝试块使用不同的算法。Try 块基本上是冗余组件。这里冗余副本不是同时运行的。每次尝试的结果是块通过验收测试进行测试。
N 版本编程和恢复块技术之间的区别:
N版本编程 | 恢复块 |
---|---|
N版本的软件由 n 个独立团队开发。 | 使用不同的算法开发冗余副本。 |
冗余副本同时运行。 | 恢复块一份一份地运行冗余副本。 |
N版本编程不进行验收测试。 | 恢复块进行验收测试。 |
N版本编程可以应用于最关键的系统。 | 恢复块不能应用于关键系统。 |
不同版本有可能实现相同的故障。 | 冗余副本无法实现相同的故障。 |
N版本编程具有失效的统计相关性。 | 仅当任务期限超过任务计算时间时才使用它。 |
N版本编程可以用于具有或多或少松弛的任务。 | 恢复块用于更宽松的任务。 |