软件容错技术使用两种常用技术来实现容错。
1. N版编程:
在 N 版本编程技术中,有 N 个开发者群体或个人不共享编程过程,这些独立的人开发 N 个版本的软件模块。这种技术背后的想法是,不同的人会犯不同的错误,并会涵盖所有可能的错误。
2. 恢复块:
在恢复块技术中,不同的算法用于不同的尝试块。 Try 块基本上是冗余组件。此处冗余副本不会同时运行。每个 try is 块中的结果通过验收测试进行测试。
N 版本编程和恢复块技术之间的区别:
N-VERSION PROGRAMMING | RECOVERY BLOCKS |
---|---|
N-versions of software are developed by n independent team. | Redundant copies are developed using different algorithms. |
Redundant copies are run concurrently. | Redundant copies are run one by one. |
Acceptance test is not performed. | Acceptance test is performed. |
It can be applied top critical systems. | It can’t be applied to critical systems. |
It is possible to achieve same fault for different version. | Same fault can’t be achieved by redundant copies. |
It has statistical correlation of failure. | It is used only if task deadline is more than task computation time. |
It can be used with task having more or less laxity. | It is used with tasks having more laxity. |