- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常见方法常见的机遇鲁棒性的方法
容错的⺫标是降低或者最⼩化故障对系统可⽤性、可靠性、安全性、持续性等得影响。在软件容错中,常常
使⽤ fault (缺陷), error (错误), failure (故障)来表⽰系统异常的由来。系统 缺陷 在某种特定环境
下被激活,到⾄系统产⽣ 错误 ,系统错误运⾏是的是的系统发⽣某种 故障 。
常⻅⽅法
容错按系统级别划分,分为三个级别,硬件容错、软件容错以及系统容错。硬件容错常⽤的⽅法包括使⽤冗
余、多备份技术、增加内存、能源系统冗余等。硬件错误通常能够够在两个物理机上进⾏隔离处理。软件容
错主要是正对软件的鲁棒性特征进⾏增强。常⻅的⽅法有checkpoint/restart ,recovery blocks ,N-Version
Programs等。对于系统容错,设计⼀个独⽴与⺫标系统的⼦系统,通过定义定义规则来容忍系统 缺陷 。
对 缺陷 的处理,有以下⼏类技术:
1. 使⽤ 缺陷避免 技术来避⼀些错误。使⽤成熟的设计⽅法论、验证以及确认⽅法论、代码检查、上线前
的演练等。
2. 在可能会存在的 缺陷 时,可以选择 缺陷移除 技术,例如测试、集成测试、回归测试、背靠背测试
等;
3. 或者是在遭遇错误是, 缺陷回避 的⽅式,是的潜在的 缺陷 不会被激活。常⻅技术是通过重新配置系
统来达到避免的⺫标;
4. 缺陷容忍 技术,系统能够对 缺陷 进⾏侦测、诊断、孤⽴、覆盖、不错、以及系统恢复。使⽤以上多
种技术混合。
常⻅的机遇鲁棒性的⽅法
1. Process Pairs
Pocess Pairs :保证系统在某⼀个时候总能有⼀个进程来处理客户的输⼊请求。他能处理短暂的软件错误。
框架代码如下:
//create shadow process; primary return
1 //create shadow process; primary return
1
int ft = backup();//server process.
2 int ft = backup();//server process.
2
...
3 ...
3
forever{
4 forever{
4
wait_for_request (Request);
5 wait_for_request (Request);
5
process_request(Request);
6 process_request(Request);
6
}
7 }
7
backup() 实现如下:
int backup(){
1 int backup(){
1
int ret , restarts = 0;//count number of child procs
2 int ret , restarts = 0;//count number of child procs
2
for (;;restarts++ ){
3 for (;;restarts++ ){
3
ret = fork ();//clone process
4 ret = fork ();//clone process
4
if(ret == 0 ){//child?
5 if(ret == 0 ){//child?
5
return restarts ;
6 return restarts ;
6
}
7 }
7
while (ret != waitpid (ret,0,0 ))
文档评论(0)