正文
1、开好车的就一定是好人吗
开篇先“王顾左右而言它”。
比如为了抓捕罪犯而设置公安局。
问题来了,如果公安局滥抓人,怎么办?
那就设置检察院监管呗!
那问题来了,如果检察院和公安局同在一个温柔之乡被迷住了而共同滥抓人,怎么办?
2、共因失效CCF(Common Cause Failure)
共因失效定义为由同一种应力(原因)导致的一个以上的相同部件、模块、单元或者系统发生的失效。
冗余系统(或容错系统)优点是当一个模块发生失效时,由于容错系统同时配有两个以上相同的模块,所以可以避免系统发生失效。
但是,共因失效的出现抵消了冗余系统的优点,当一个单独的应力导致两个以上相同的模块同时发生故障,那么冗余系统也会发生故障。
3、导致共因失效的因素
内在原因:设计错误或者制造错误
外部原因:维护错误、操作错误
环境应力:电气故障、电击穿、电火花、过电流
机械应力:冲击、振动
化学应力:腐蚀性气氛、盐雾、潮湿
物理应力:温度
使用率,例如数据传输率,也是对系统软件的一个应力
4、避免共因失效的原则
1)冗余单元的物理隔离
大多数的环境应力因数是物理距离的非线性函数,物理隔离和电气隔离都很重要。
在软件中,异步操作可以减少共因应力出现的可能性,应该避免处理器之间的锁步同步机制。
在冗余处理器单元中使用不同的操作模式是减少软件的共因应力的另一种方法。
2)多样性
多样性是指设计方案不同的单元连接一起,构成冗余配置。设计方案不同的部件不会发生同样的共因失效。
使用不同制造商的产品可能会减少某些共因制造缺陷,但是如果两个单元都受制于同一个应力,多样性的效果会大打折扣。
另外,不同制造商的产品会增加维护和操作的复杂性,可能是弊大于利。
不同人用不同语言编写不同的软件可以实现软件多样性。
但是,这样做成本很高,并且这种做法不能以牺牲软件的强度为代价(首先应该努力提高软件的质量)。
如果多样性带来了新的、不可避免的问题,那么对于这样的系统应该谨慎使用这个技术
3)强化设计来提高强度
设计特点都会增加强度。元器件失效率低的系统,共因失效率也低。
如果对于某个应力水平,一个模件更少地发生故障,它同样会更少地发生共因失效。所有这些因素都会增加强度并降低对共因失效的敏感性。
设计裕度越大,共因失效就越小。
随着控制系统的复杂性增加,共因设计错误也成比例地增加。当然还应该采用能够有效避免设计缺陷的技术。
系统化的软件开发过程会减少发生软件错误的可能性并且增强“软件的强度”,这也会增加软件抵御共因应力的强度。第三方检查有助于避免这样的设计缺陷。
5、举例子
继续拿公安局和检察院开玩笑。怎么避免公安局和检察院共同**?
1)物理隔离:分成两拨人,驻扎在不同的办公大楼
2)空间隔离:即使在不同的办公大楼,也不能雇佣同一个通勤车
3)时间隔离:千万别创造机会一起开个小会了
结尾:
吴宗宪说过一件事:
早年间,导演找吴演电影开价10万。
吴说:我身价都是百万级的,价太低丢人,给涨到20万吧。
导演幽默地说:我怎么能侮辱你2次呢。
谢谢大家!
附录:
前言
1)文章题目起得吓人,但正文却“食之无味”,仅“管中窥豹/盲人摸象/坐井观天”地推测汽车电子研发工作;
2)正文按照标号1/2/3/4,以符合研发工程师强迫症的习惯;
3)行文追求朴素/简洁/凌厉的大实话和心里话,以符合研发工程师“外表朴素/内心艳丽/敏于行/讷于言”的特质;
4)结尾模仿相声的结尾(称作“攒底”),戛然而止,并鞠躬下台。
dongbei06_409353400 2015-2-3 09:59
用户1336596 2015-2-3 07:30
用户1336596 2015-2-3 07:24
dongbei06_409353400 2015-1-19 09:22
用户1663103 2015-1-18 21:30
dongbei06_409353400 2015-1-18 10:01
用户1362114 2015-1-17 23:36
dongbei06_409353400 2015-1-16 20:45
用户1663103 2015-1-16 17:32
dongbei06_409353400 2014-11-3 13:15