±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcnblogs£¬ÎÄÕÂÏêϸ½éÉÜÁË·À´íÐÔÉè¼ÆÓëʵÏÖ¡¢°²È«ÐÔÉè¼ÆÒÔ¼°ÈÝ´íÐÔÉè¼ÆµÈÏà¹ØÄÚÈÝ¡£
|
|
²Î¼Ó±¾´ÎÈí¼þ¿É¿¿ÐÔÓ밲ȫÐԸ߼¶¼¼ÊõÑÐÌÖ»áѧϰÖ÷ÒªµÄÊÕ»ñÊÇѧϰÁ˶ÔÈí¼þ¿É¿¿ÐÔÓ밲ȫÐÔÉè¼ÆÓëʵÏֵķ½·¨£¬½«»áÔÚÒÔºóÔÚÈí¼þÉè¼ÆµÄ¹¤×÷ÖÐÌá¹©ÖØÒªµÄ°ïÖú¡£ÏÖ½«Èí¼þ¿É¿¿ÐÔÓ밲ȫÐÔÉè¼ÆÓëʵÏÖµÄ֪ʶµã½øÐÐÊáÀí¼Ç¼¡£
1. ·À´íÐÔÉè¼ÆÓëʵÏÖ
·À´íÐÔÉè¼Æ°üÀ¨£º¼ò»¯Éè¼Æ¡¢Ëã·¨ÓëÊý¾Ý¹ÜÀí¡¢É÷ÓÃÒ×´í¼Ü¹¹¡¢Ê¹Óüà´í¼¼Êõ¡¢¶àÈÎÎñ¹ÜÀí¡£
1.1. ¼ò»¯Éè¼Æ
¸´ÔÓÐÔÊǿɿ¿ÐÔ×îÐ×¶ñµÄ¶ÔÊÖ£¬¸´ÔÓµÄÈí¼þ»áµ¼Ö£º´úÂë¹æÄ£¸ü´ó¡¢È±Ïݸü¶à£»½»»¥¹ØÏµ¸ü¶à¡¢È±Ïݸü¶à£»¸üÄѲâÊÔ¡¢²»³ä·ÖµÄ¿ÉÄÜÐÔ¸ü´ó£»Éè¼Æ¡¢ÊµÏÖ¡¢ÅäÖá¢Ê¹ÓõÄÄѶȸü´ó£»Óû§¸üÄÑÀí½â¡£
1.1.1. ¿ØÖÆÄ£¿éµÄ¸´ÔÓÐÔ
1) µ¥ÔªµÄÀíÂÛ×î¼Ñ³¤¶È66µ½132ÐÐ
2) ÇåÎú¶¨ÒåÄ£¿éµÄËùÓÐÊäÈëÊä³ö²¢½øÐз¶Î§¼ì²â£¨¼Ü¹¹Éè¼Æ£©
3) Ä£¿éÓÐΨһµÄÈë¿ÚºÍ³ö¿Ú
4) Ä£¿éÖеÄÑ»·ÓÐÕý³£µÄÍ˳öÌõ¼þ
5) ±£³ÖÄ£¿éµÄ¿ØÖÆÁ÷´Ó¶¥µ½µ×
6) ¾¡Á¿½µµÍÄ£¿éµÄȦ¸´ÔÓ¶È£¨²»´óÓÚ10£©
1.1.2. ¿ØÖÆÈí¼þµÄ¸´ÔÓÐÔ
1) Ç¿ÄÚ¾Û
ÄÚ¾ÛÐÔָģ¿éÏà¶Ô¹¦ÄÜÃܶȵĶÈÁ¿,ÒÀÀµÓÚÒ»¸öµ¥ÔªÖи÷ÖÖ²Ù×÷Ö®¼ä»¥ÏàÁªÏµµÄ½ôÃ̶ܳȡ£
a) ¹¦ÄÜÄÚ¾Û
b) ˳ÐòÄÚ¾Û
c) ͨѶÄÚ¾Û
d) ¹ý³ÌÄÚ¾Û
e) ²»¿ÉÈ¡£ºÊ±¼äÄÚ¾Û£¬Âß¼ÄÚ¾Û
2) ËÉñîºÏ
ñîºÏÐÔÖ¸Á½¸öÄ£¿éÖ®¼äÁªÏµµÄ½ôÃ̶ܳȣ¬ÒÀÀµÓÚÄ£¿é¼ä½Ó¿ÚµÄ¸´ÔÓÐÔ¡¢ÒýÓûò½øÈëÄ£¿éµÄµã¡¢Í¨¹ý½Ó¿Ú´«µÝµÄÊý¾Ý¡£
a) ¼òµ¥Êý¾ÝñîºÏ
b) Êý¾Ý½á¹¹ñîºÏ
c) ²»¿ÉÈ¡£º¿ØÖÆñîºÏ£¬¹«ÓÃñîºÏ£¬ÄÚÈÝñîºÏ
3) ÉÈÈëÉȳö
Ä£¿éµÄÉȳöָģ¿éµÄÖ±ÊôϲãÄ£¿éµÄ¸öÊý£¬Ä£¿éµÄÉÈÈëÖ¸ÓжàÉÙ¸öÉϼ¶Ä£¿éµ÷Óñ¾Ä£¿é¡£
a) ÉϲãÄ£¿é¸ßÉȳö
b) ϲãÄ£¿é¸ßÉÈÈë
c) µ¥Ôªµ÷ÓÃǶÌײãÊý²»´óÓÚ7
d) ÉÈÈëÉȳöÊý²»´óÓÚ7
1.2. Ëã·¨ÓëÊý¾Ý¹ÜÀí
1.2.1. Ë㷨ѡÔñ
1.2.2. Êý¾Ý¹ÜÀí
1) ²ÎÊý»¯
ÔÚÈí¼þÉè¼ÆÖÐ,ÓÃͳһµÄ·ûºÅÀ´±íʾ²ÎÊý¡¢³£Á¿ºÍ±êÖ¾, ÒÔ±ãÔÚ²»¸Ä±äÔ´³ÌÐòÂß¼µÄÇé¿öÏÂ,¶ÔËüÃǽøÐÐÐ޸ġ£
2) ѰַģʽµÄÑ¡ÓÃ
¾¡Á¿²»Ê¹Óüä½ÓѰַ·½Ê½£¬ÔÚȷʵÓбØÒª²ÉÓüä½ÓѰַ·½Ê½Ê±,É÷ÖØ¿¼ÂǺͳä·ÖÂÛÖ¤,²¢ÔÚÖ´ÐÐ֮ǰÑéÖ¤µØÖ·ÊÇ·ñÔڿɽÓÊܵķ¶Î§ÄÚ¡£
3) Îļþ
Îļþ±ØÐëΨһÇÒÓÃÓÚµ¥Ò»Ä¿µÄ£»ÎļþÔÚʹÓÃǰ±ØÐë³É¹¦µØ´ò¿ª,ÔÚʹÓýáÊø±ØÐë³É¹¦µØ¹Ø±Õ£»ÎļþµÄÊôÐÔÓ¦Óë¶ÔËüµÄʹÓÃÏàÒ»Ö¡£
4) ¶Ô¹Ø¼üϱê, ÔÚʹÓÃǰ½øÐз¶Î§¼ì²é
5) ʹÓÃÊý¾Ýǰ, Ó¦²ÉÈ¡´ëÊ©±£Ö¤ËùÓÐËùÐèµÄÊý¾Ý¶¼ÊÇ¿ÉÓõÄ
6) Ó¦²ÉÈ¡´ëÊ©, ¶Ô¹Ø¼üÊý¾Ý½øÐб£»¤
7) ¶ÔÊý¾ÝµÄ·Ç·¨×éºÏ½øÐмì²é
1.3. É÷ÓÃÒ×´í¼Ü¹¹
µäÐÍÒ×´í¼Ü¹¹

1) ¸¡µãÊý
ÏÈÌì²»¾«È·,ÓпÉÄܵ¼ÖÂÎÞЧµÄ±È½Ï£»Ôö¼Ó¸¡µãд¦ÀíÆ÷ºÍÄÚǶËã·¨/¿âº¯ÊýÈ·ÈϵŤ×÷Á¿¡£
2) Ö¸Õë
Ö¸ÕëÒýÓôíÎóµÄÄÚ´æÇøÓò¿ÉÄܵ¼ÖÂÊý¾ÝÎóÓá£
3) µÝ¹é
´íÎóµÄµÝ¹éÈÝÒ×µ¼ÖÂÄÚ´æÒç³ö£»µ±Ê¹Óõݹéʱ, Ó¦ÓÐÃ÷ÏÔµÄÅоÝ, ¿ÉÔ¤²âµÝ¹éµÄÉî¶È¡£
4) ÖжÏ
ÓпÉÄܵ¼Ö¹ؼü²Ù×÷µÄÖÕÖ¹£»Ê¹³ÌÐòÄÑÒÔÀí½â,ÀàËÆ goto Óï¾ä£»Ê¹ÓÃʱ,Ó¦×Ðϸ¿¼ÂǼĴæÆ÷ºÍ¹²Ïí±äÁ¿µÄÄÚÈÝ¡¢ÖжÏÓÅÏȼ¶¡¢ÖжϷ¢ÉúµÄʱ»ú¡¢ÖжϷ¢ÉúµÄ×î´ó¿ÉÄÜÆµÂÊ¡¢Öжϴ¦Àíʱ¼äµÈ¡£
5) ¼Ì³Ð
´úÂë·Ç¾Ö²¿»¯,´úÂëµÄÐ޸ĿÉÄܵ¼ÖÂÎÞ·¨Ô¤ÆÚÐÐΪ,²úÉúÄÑÒÔÀí½âµÄÎÊÌâ¡£
6) ±ðÃû
ʹÓöà¸ö±äÁ¿ÃûÀ´·ÃÎÊÏàͬ״̬±äÁ¿,»áʹ³ÌÐòµÄÀí½âºÍÐ޸ıäµÃÀ§ÄÑ¡£
7) ÎÞ½çÊý×é
Èç¹û²»½øÐÐÈκÎÊý×é±ß½ç¼ì²é,¿ÉÄܳöÏÖ»º³åÇøÒç³öʧЧ¡£
8) ¶¯Ì¬ÄÚ´æ·ÖÅä
ÔÚÓÐЩ³¡¾°ÏÂ,Èí¼þÔËÐÐʱÄÚ´æ¿é´óС²»ÄÜÔÚ´úÂë±àÒëʱȷ¶¨, ÐèÒª¸ù¾Ý´úÂëµÄÔËÐл·¾³À´È·¶¨£»Èí¼þÖ´Ðйý³ÌÖÐ,
¸ù¾ÝÐèÒª·ÖÅä»òÕß»ØÊÕ´æ´¢¿Õ¼ä£»ÔÚC/C++³ÌÐòÖÐ,Ó¦ÕýȷʹÓÃmalloc¡¢calloc¡¢realloc¡¢new¡¢allocaÓëfree¡¢delete¹ÜÀí¶¯Ì¬ÄÚ´æ¡£
²»µ±¶¯Ì¬ÄÚ´æ·ÖÅäµÄºó¹û£ºÄÚ´æÐ¹Â¶¡¢ÄÚ´æË鯬¡£
ÄÚ´æÐ¹Â¶µÄÔÒò£ºÍü¼ÇÁË»ØÊÕ£»»ØÊÕǰʧȥÁ˶ÔÄÚ´æµÄ×·×Ù,£¨Èç:´æ´¢Ö¸ÕëÖµµÄ±äÁ¿±»ÒƳöÁË×÷ÓÃÓò¡¢Ö¸ÕëÖµ±»ÖØÐ´¡¢Ã»Óб£´æµØÖ·Ö¸Õ룩£»¿âº¯Êý´æÔÚÄÚ´æÐ¹Â¶È±ÏÝ,¶Ô¿âº¯Êý½Ó¿ÚµÄÎó½â¡£
9) È«¾Ö±äÁ¿
È«¾Ö±äÁ¿²»ºÃ¿ØÖÆ£»²»ÀûÓÚ³ÌÐòµÄ½á¹¹»¯£»²»ÓûòÉÙÓÃÈ«¾Ö±äÁ¿
10) ¹«ÓÃÊý¾ÝºÍ¹«¹²±äÁ¿
¹«ÓÃÊý¾ÝºÍ¹«¹²±äÁ¿Ö¸Ã÷ÓÉÁ½¸ö»ò¶à¸öÄ£¿é¹«ÓõÄÊý¾ÝºÍ¹«¹²±äÁ¿¡£¾¡Á¿¼õÉÙ¶Ô¹«¹²±äÁ¿µÄ¸Ä±ä,ÒÔ¼õÉÙÄ£¿é¼äµÄ¸±×÷Óá£
11) É÷Óò»¼ì²éÊäÈë²ÎÊý³¤¶ÈµÄ¿âº¯Êý
»º³åÇøÒç³ö©¶´£»ÕâЩº¯ÊýÖ±½Ó°ÑÊäÈë²ÎÊýµÄÄÚÈݸ´ÖƵ½»º³åÇøÖÐ,Ö»ÒªÊäÈë²ÎÊý³¤¶È´óÓÚ»º³åÇø³¤¶È,¾Í»áÔì³É»º³åÇøÒç³ö,ʹ³ÌÐòÔËÐгö´í£»Èçstrcpy()¡¢strcat()¡¢sprintf()¡¢vsprintf()¡¢gets()¡¢scanf()µÈ
1.4. ʹÓüà´í¼¼Êõ
ʹÓÃÌõ¼þÅжÏ
ÔÚ¿ª·¢ºÍά»¤½×¶Î,ʹÓüà´í¼¼ÊõÌáʾ£ºÏ໥ì¶ÜµÄ¼ÙÉè¡¢´«Èë³ÌÐòµÄ²»Á¼ÊýÖµµÈ¡£
Ö÷ÒªµÄ¼à´í¼¼Êõ£º
1) ¶ÏÑÔ
¶ÏÑÔÊÇÒ»¸öÔÚ¼ÙÉè²»Õýȷʱ»áÔ¤¾¯µÄº¯Êý»òºêÖ¸Áî,¿ÉʹÓöÏÑÔ¼à´í¡£ÔÚ¿ª·¢½×¶Î,¶ÏÑÔ¿ÉÒÔÌáʾÏ໥ì¶ÜµÄ¼ÙÉè¡¢´«Èë³ÌÐòµÄ²»Á¼ÊýÖµµÈµÈ£»ÔÚά»¤½×¶Î,¶ÏÑÔ¿ÉÒÔ±íÃ÷¸Ä¶¯ÊÇ·ñÓ°Ïìµ½Á˳ÌÐòÆäËü²¿·Ö¡£
Àý×Ó£º
assert(y != 0);
int z = x / y;
2) Òì³£Çé¿ö´¦Àí
Òì³£ÊÇÔÚÔËÐÐʱ·¢ÉúµÄ,ÎÞ·¨ÔÚÉè¼ÆÊ±Ô¤Áϵ½µÄ¡°·Ç³£¡±Ê¼þ,ÕâÖÖʼþͨ³£ºÍ¾ßÌåµÄÔËÐл·¾³ºÍ×ÊÔ´·ÖÅäÓйء£×Ðϸ·ÖÎöÈí¼þÔËÐйý³ÌÖи÷ÖÖ¿ÉÄܵÄÒì³£Çé¿ö,Ô¤ÏÈÉè¼ÆÏàÓ¦µÄ±£»¤´ëÊ©,»òÕßÀûÓÃÒì³£´¦Àí×öһЩ±ØÐëµÄÉÆºó¹¤×÷¡£ÔÚ¿ª·¢½×¶Î,¿ÉÒÔÀûÓÃÒì³£Çé¿ö´¦Àí,²úÉúÒ»¸ö¾¯¸æ,Ìáʾ³öÏÖÁËÒì³£Çé¿ö,ʹÒì³£Çé¿öµÄ³öÏÖ±äµÃ·Ç³£Ã÷ÏÔ£»ÔÚÔËÐн׶Î,
Òì³£´¦Àí´ëʩӦ¸ÃÄÜʹ³öÏÖµÄÒì³£Çé¿ö¿ÉÒԵõ½ÐÞ¸´¡£
1.5. ¶àÈÎÎñ¹ÜÀí
¶àÈÎÎñÉè¼ÆÊÇÈí¼þÓ¦ÓõÄÐÂÇ÷ÊÆ,µ«ÊǶàÈÎÎñÖ®¼ä¿ÉÄÜ´æÔÚÄÑÒÔÔ¤ÖªµÄ½»»¥,µ¼ÖÂͬ²½´íÎó¡£
¶àÈÎÎñÉè¼ÆµÄÔÔò£º
1) ×¢Ò⺯ÊýµÄ¿ÉÖØÈëÐÔ
²»ÎªÁ¬ÐøµÄµ÷ÓóÖÓо²Ì¬Êý¾Ý£»²»·µ»ØÖ¸Ïò¾²Ì¬Êý¾ÝµÄÖ¸Õë,ËùÓÐÊý¾Ý¶¼Óɺ¯ÊýµÄµ÷ÓÃÕßÌṩ£»Ê¹Óñ¾µØÊý¾Ý,»òÕßͨ¹ýÖÆ×÷È«¾ÖÊý¾ÝµÄ±¾µØ¿½±´À´±£»¤È«¾ÖÊý¾Ý£»Èç¹û±ØÐë·ÃÎÊÈ«¾Ö±äÁ¿,¼ÇסÀûÓû¥³âÐźÅÁ¿À´±£»¤È«¾Ö±äÁ¿£»²»µ÷ÓÃÈκβ»¿ÉÖØÈ뺯Êý¡£
2) ±ÜÃâËÀËøÓë»îËø
µ±Á½¸ö»òÕ߸ü¶àµÄ½ø³ÌÍ£ÏÂÀ´Ï໥µÈ´ý¶Ô·½Íê³Éij¸ö¶¯×÷ʱ,¾ÍÔì³ÉÁËËÀËø£¬Í¨³£±íÏÖΪϵͳ¹ÒÆð¡£»îËøÓÚËÀËøÀàËÆ,Ö»Êǵ±Ç°ÏµÍ³ÈÔÈ»Äܹ»½øÐÐһЩ¼ÆËã,µ«ÓÀÔ¶ÎÞ·¨×ªµ½ÆäËü״̬¡£ËÀËøÓë»îËøµÄ·¢Éú³£³£ÊÇÒòΪºÜÄÑÔ¤ÆÚºÍÖØÏֵĺ±¼ûµÄÌõ¼þ×éºÏ¡£
3) ±ÜÃâÁÙ½çµã¾ºÕù
2. ½¡×³ÐÔÉè¼Æ
Èí¼þ½¡×³ÐÔ(Robustness)Ö¸Èí¼þϵͳÔÚÔâÓöÒì³£µÄÇé¿öÏÂ,ÈÔÈ»Äܹ»Õý³£ÇÒ°²È«ÔËÐеÄÄÜÁ¦¡£Ö÷Òª¹Ø×¢ÍⲿÒì³£¡£
Òì³£Çé¿ö¾ÙÀý£ºÏàÁ¬µÄÈíÓ²¼þϵͳ·¢ÉúÁ˹ÊÕÏ»òÐÔÄܽµ¼¶¡¢ÊäÈë´íÎó¡¢ÓÐÒâµÄ¹¥»÷¡¢ÆäËû·ÇÕý³£Çé¿ö¡£
2.1. Ó²¼þʧЧ
Èí¼þÉè¼Æ±ØÐ뿼ÂÇËùÉæ¼°µÄÓ²¼þDZÔÚʧЧģʽ¡£
µäÐÍ¿¼ÂÇ£º
1) µçԴʧЧ·À»¤
2) µç´Å¸ÉÈÅ
3) ϵͳ²»Îȶ¨
4) ¸ÉÈÅÐźÅ
2.2. ½Ó¿Ú¿¼ÂÇ
2.2.1. ÈË»ú½Ó¿ÚÉè¼Æ
¿ÉÑ¡ÔñµÄ³£Ó÷½·¨£º
1) ½ÓÊÜ´íÎóÊäÈë,Áô¸øÏµÍ³´¦Àí
2) ½ÓÊÜ´íÎóÊäÈë, ʲôҲ²»²úÉú
3) ½ÓÊÜ´íÎóÊäÈë, Êä³ö´íÎóÌáʾÐÅÏ¢
4) ²»ÔÊÐí´íÎóÊäÈë½øÈë
½ÏÍêÉÆµÄÉè¼Æ£º
1) Èí¼þÄÜÅжϳö²Ù×÷Ô±µÄÊäÈë²Ù×÷ÕýÈ·ÐÔ(»òºÏÀíÐÔ)
2) ÔÚÓöµ½²»ÕýÈ·(»ò²»ºÏÀí)ÊäÈëºÍ²Ù×÷ʱ, Èí¼þ¾Ü¾ø¸Ã²Ù×÷µÄÖ´ÐÐ
3) Èí¼þÌáÐѲÙ×÷Ô±×¢Òâ´íÎóµÄÊäÈë»ò²Ù×÷
4) Èí¼þÖ¸³ö´íÎóµÄÀàÐͺ;ÀÕý´ëÊ©
2.2.2. ³ÌÐò½Ó¿ÚÉè¼Æ
¶ÔÊäÈë²ÎÊý½øÐкϷ¨ÐÔ¼ì²é£¬¶Ô·Ç·¨²ÎÊý½øÐд¦Àí£¬³£Ó÷½·¨£º
1) ·µ»Ø´íÎó´úÂë
2) ·µ»ØÖмäÖµ
3) ʹÓÃÏÂÒ»¸öºÏ·¨Êý¾Ý´úÌæ
4) ʹÓÃÉÏÒ»¸öºÏ·¨Êý¾Ý´úÌæ
5) ʹÓÃ×î½Ó½üµÄºÏ·¨Öµ
6) µ÷ÓÃÒì³£´¦Àí³ÌÐò½øÐд¦Àí
7) µ÷ÓÃÏÔʾ´íÎóÐÅÏ¢³ÌÐò²¢´òÓ¡³öÀ´
8) ¹Ø±Õ³ÌÐò
2.2.3. Ó²¼þ½Ó¿Ú
Ó²¼þ½Ó¿ÚµÄÈí¼þÉè¼Æ±ØÐ뿼ÂÇ£º
1) ʹÓÃÎÕÊÖÐźű£Ö¤Í¨ÐŵÄÁ¬Í¨ÐÔ
2) Ô¤ÏÈÈ·¶¨Êý¾Ý´«ÊäÐÅÏ¢µÄ¸ñʽºÍÄÚÈÝ
3) ÿ´Î´«Êä¶¼°üº¬Ò»¸ö×Ö»ò×Ö·û´®À´Ö¸Ã÷Êý¾ÝÀàÐͼ°ÐÅÏ¢ÄÚÈÝ
4) ʹÓÃÆæÅ¼Ð£Ñ顢ѻ·ÈßÓàУÑé(CRCУÑé)¡¢º£Ã÷ÂëÀ´ÑéÖ¤Êý¾Ý´«ÊäµÄÕýÈ·ÐÔ
5) ³ä·Ö¹À¼Æ½Ó¿ÚµÄ¸÷ÖÖ¿ÉÄܹÊÕÏ,²¢Éè¼ÆÏàÓ¦µÄ´¦Àí´ëÊ©
6) ¶Ô·Ç·¨µÄÍⲿÖжϵĴ¦Àí£¬Èí¼þÓ¦Äܹ»Ê¶±ðºÏ·¨µÄ¼°·Ç·¨µÄÍⲿÖжÏ
7) ¶Ô´«¸ÐÆ÷¹ÊÕϵĿ¼ÂÇ
·´À¡»ØÂ·ÖеĴ«¸ÐÆ÷ÓпÉÄܳöÏÖ¹ÊÕϲ¢µ¼Ö·´À¡Òì³£ÐÅÏ¢, Èí¼þÓ¦ÄÜÔ¤·À½«Òì³£ÐÅÏ¢µ±×÷Õý³£ÐÅÏ¢´¦Àí¶øÔì³É·´À¡ÏµÍ³µÄʧ¿Ø¡£
8) ¶ÔÊäÈë/Êä³öÐÅÏ¢µÄ¿¼ÂÇ
Èí¼þ¶ÔÊäÈë¡¢Êä³öÐÅÏ¢½øÐмӹ¤´¦Àíǰ£¬Ó¦¼ìÑéÆäÊÇ·ñºÏÀí(×î¼òµ¥µÄ·½·¨ÊǼ«ÏÞÁ¿³Ì¼ìÑé)¡£¶Ô²»ºÏÀíµÄÊäÈë½øÐÐÕýÈ·µÄ´¦Àí¡£Í¨¹ýÉè¼Æ,±£Ö¤ÊäÈë/Êä³ö·ûºÏ¾«¶ÈÒªÇó¡£
3. ÈÝ´íÐÔÉè¼Æ
3.1. ÈÝ´í²ßÂÔ
ÈÝ´íÊÇÖ¸ÔÚ·¢Éú¹ÊÕϵÄÇé¿öÏÂ,ϵͳ²»Ê§Ð§,ÈÔÈ»Äܹ»Õý³£¹¤×÷µÄÌØÐÔ¡£ÈÝ´íÈí¼þ£ºÔÚÒ»¶¨³Ì¶ÈÉÏ,¶Ô×ÔÉí¹ÊÕϾßÓÐÆÁ±ÎÄÜÁ¦£»ÔÚÒ»¶¨³Ì¶ÈÉÏ,
ÄÜ´Ó´íÎó״̬×Ô¶¯»Ö¸´µ½Õý³£×´Ì¬£»ÒòȱÏݶø·¢Éú¹ÊÕÏʱ, ÈÔÈ»ÄÜÔÚÒ»¶¨³Ì¶ÈÉÏÍê³ÉÔ¤ÆÚµÄ¹¦ÄÜ¡£
1) ¹ÊÕÏ̽²â
¹ÊÕÏ(²»ÕýÈ·µÄϵͳ״̬)·¢Éúʱ, ϵͳ±ØÐëÄܹ»Ì½²âµ½
2) Σº¦Õï¶Ï
±ØÐëŪÇå³þÊܹÊÕÏÓ°ÏìµÄϵͳ·¶Î§
3) ¹ÊÕϻָ´
ϵͳ±ØÐë»Ö¸´µ½ÒÑÖªµÄ°²È«×´Ì¬
4) ¹ÊÕÏÐÞ¸´
¿ÉÒÔ¶Ôϵͳ½øÐиĽø, ·ÀÖ¹¹ÊÕÏÔٴη¢Éú
3.2. ÈÝ´í¼¼Êõ
3.2.1. ¼à¿Ø¶¨Ê±Æ÷
Ìṩ¼à¿Ø¶¨Ê±Æ÷»òÀàËÆ´ëÊ©,ÒÔÈ·±£Î¢´¦ÀíÆ÷»ò¼ÆËã»ú¾ßÓд¦Àí³ÌÐò³¬Ê±»òËÀÑ»·¹ÊÕϵÄÄÜÁ¦¡£
¼à¿Ø¶¨Ê±Æ÷µÄÉè¼ÆÔÔò£º
1) ¼à¿Ø¶¨Ê±Æ÷Ó¦Á¦Çó²ÉÓöÀÁ¢µÄʱÖÓÔ´, ÓöÀÁ¢µÄÓ²¼þʵÏÖ
2) ²ÉÓÿɱà³Ì¶¨Ê±Æ÷ʵÏÖʱ, Ӧͳ³ïÉè¼Æ¼ÆÊýʱÖÓÆµÂʺͶ¨Ê±²ÎÊý, Á¦ÇóÔÚÍâ½ç¸ÉÈÅÌõ¼þÏÂ, ¶¨Ê±Æ÷Êܵ½¸ÉÈźó,
¶¨Ê±²ÎÊýµÄ×îСֵ´óÓÚÏµÍ³ÖØÐ³õʼ»¯ËùÐèµÄʱ¼äÖµ, ×î´óֵСÓÚϵͳÔÊÐíµÄ×¹ÊÕÏ´¦Àíʱ¼äÖµ
3) Ó²¼þ״̬±ä»¯ÓйصijÌÐòÉè¼ÆÓ¦¿¼ÂÇ״̬¼ì²âµÄ´ÎÊý»òʱ¼ä, ÎÞʱ¼äÒÀ¾ÝµÄÇé¿öÏ¿ÉÓÃÑ»·µÈ´ý´ÎÊý×÷ΪÒÀ¾Ý,
³¬¹ýÒ»¶¨´ÎÊý×÷Ϊ³¬Ê±´¦Àí
3.2.2. ÈßÓàÉè¼Æ
1) ¿Õ¼äÈßÓà
ÔÚijһÔËÐпռä³öÏÖÎÊÌâʱ, ¿ÉÒÔÆôÓÃÁíÍâµÄ¿Õ¼äÀ´¹¤×÷¡£µäÐ͵ĿռäÈßÓࣺ´æ´¢¿Õ¼äÈßÓà(RAID£¬Êý¾Ý¿âÈÕÖ¾µÈ)¡¢´¦ÀíÆ÷¿Õ¼äÈßÓà(¶à¸öCPUÐͬ¹¤×÷)¡¢ÍøÂç¿Õ¼äÈßÓà¡¢½ø³ÌÈßÓà(Apache·þÎñÆ÷)¡£
2) ʱ¼äÈßÓà
ΪÁË»ñµÃ³É¹¦µÄ½á¹û, ¶à´Î³¢ÊÔÏàͬµÄ²Ù×÷¡£µäÐ͵Äʱ¼äÈßÓࣺÍⲿ½Ó¿ÚÊý¾Ý´«Êä¡¢´«¸ÐÆ÷Êý¾ÝµÄ²É¼¯¡¢´ÅÅÌÊý¾ÝµÄ¶ÁÈ¡¡¢ÖØÆô²»Îȶ¨µÄ·þÎñ¡£
3) ½á¹¹ÈßÓà
½á¹¹ÈßÓàµÄµäÐÍ·½Ê½ÎªTMR(Triple-Modular Redundancy)£¬TMRÄܳɹ¦µØÈÝ´í»ùÓÚÁ½¸ö»ù±¾¼ÙÉ裺×é¼þ²»Äܰüº¬ÏàͬµÄÉè¼ÆÈ±ÏÝ£»×é¼þµÄʧЧÊÇËæ»úµÄ,¶à¸ö×é¼þͬʱʧЧµÄ¸ÅÂʼ«µÍ¡£¶ÔÓÚÏàͬµÄÈí¼þ¶øÑÔ,Á½¸ö¼ÙÉè¶¼ÎÞ·¨Âú×㣺¼òµ¥¸´ÖƵÄÈí¼þ½«°üº¬ÏàͬµÄÉè¼ÆÈ±ÏÝ£»¶ÔÓÚÏàͬµÄÈí¼þ,ͬʱʧЧ²»¿É±ÜÃâ¡£ÓÃÓÚÈÝ´íµÄÈí¼þ±ØÐëÏàÒì¡£
Èí¼þ½á¹¹ÈßÓ༼Êõ£º
a) N°æ±¾³ÌÐòÉè¼Æ
²»Í¬µÄС×éÓÃÐí¶à±äÌåʵÏÖÏàͬµÄ¹æ¸ñ˵Ã÷,ËùÓбäÌåͬʱ½øÐмÆËã,ÀûÓñí¾öϵͳѡÔñ¶àÊý×÷ΪÊä³ö¡£¼Ù¶¨²»Í¬µÄС×é·¸Ïàͬ´íÎóµÄ¸ÅÂʼ«µÍ,Ò²¿ÉÄÜÁ¬Ëã·¨¶¼²»Ò»Ñù¡£N°æ±¾³ÌÐòÉè¼ÆÊÇ×î³£Ó÷½·¨,ÀýÈç:
ÔÚÐí¶àÐͺſÕÖпͳµÉÌÓ÷ɻúÖС£
b) »Ö¸´¿é¼¼Êõ
ÏàͬµÄ¹æ¸ñ˵Ã÷±»ÊµÏÖ³ÉÈô¸É¸öÃ÷È·²»Í¬µÄ°æ±¾ ˳ÐòÖ´ÐС£ÀûÓÃÑéÊÕ¼ì²â³ÌÐòÑ¡Ôñ½ÓÊܵÄÊä³ö¡£Ç¿ÖÆÃ¿¸ö°æ±¾Ê¹Óò»Í¬µÄËã·¨,
ÒÔ½µµÍÏàͬ´íÎóµÄ¸ÅÂÊ¡£ÑéÊÕ¼ì²â³ÌÐòµÄÉè¼ÆÀ§ÄÑ,±ØÐë¶ÀÁ¢ÓÚËùʹÓõļÆËã¡£ÓÉÓÚÈßÓà°æ±¾ÊÇÒÀ´Î˳ÐòÖ´ÐеÄ,ÓÃÓÚʵʱϵͳʱӦעÒâ¡£
c) Ò»ÖÂÐÔ»Ö¸´¿é
d) ÑéÊÕ±í¾ö
e) ¶à°æ±¾Èí¼þ¿ª·¢²ßÂÔ
±£Ö¤ÈßÓàÈí¼þ°æ±¾Ö®¼äµÄÉè¼ÆÏàÒìÐÔ£»±£Ö¤¸÷¶ÀÁ¢µ¥Ôª¾ßÓи߿ɿ¿ÐÔ£»±£Ö¤±í¾öËã·¨¾ßÓи߿ɿ¿ÐÔ£»±£Ö¤ÑéÊÕ¼ì²â³ÌÐò¾ßÓи߾«È·¶ÈºÍ¸ß¿É¿¿ÐÔ
f) ÏàÒìÐÔÉè¼Æ
Óò»Í¬µÄ;¾¶Éè¼ÆºÍʵÏÖ²»Í¬µÄÈí¼þ°æ±¾, ʹ¸÷°æ±¾¾ßÓв»Í¬µÄʧЧģʽ, ½µµÍ¸÷°æ±¾°üº¬Ò»ÖÂÐÔȱÏݵĸÅÂÊ¡£
²»Í¬µÄÉè¼Æ·½·¨£ºÃæÏò¶ÔÏó/ÃæÏò¹¦ÄܵÄÉè¼Æ¡¢Óò»Í¬µÄ³ÌÐòÉè¼ÆÓïÑÔʵÏÖ¡¢Ê¹Óò»Í¬µÄ¹¤¾ßºÍ¿ª·¢»·¾³¡¢Ê¹Óò»Í¬µÄʵÏÖËã·¨¡£
4. °²È«ÐÔÉè¼Æ
4.1. ×¼Ôò
1) È·±£×Èõ»·½ÚµÄ°²È«
2) ×ÝÉî·ÀÓù,±ÜÃâµ¥µãʧЧ
3) ʧЧ°²È«£º½øÈ밲ȫ״̬¡¢×èÖ¹ÐÅÏ¢·ÇÊÚȨ·ÃÎÊ
4) ×îС»¯×¼Ôò£º·¶Î§×îС»¯¡¢È¨ÏÞ×îС»¯
5) ͨ¹ýÈßÓàºÍ¶àÑùÐÔ½µµÍ·çÏÕ
6) ÑéÖ¤ËùÓÐÊäÈë
4.2. ·½·¨
4.2.1. ·çÏÕ¸ôÀë
»®·Ö(Partitioning)£ºÎª¹¦ÄÜÉ϶ÀÁ¢µÄÈí¼þ²¿¼þÌṩ¸ôÀëµÄ¹ý³Ì¡£
ʹÓû®·ÖµÄÄ¿µÄ£ºÒÖÖÆ¹ÊÕϵÄÓ°ÏìºÍ/»ò¸ôÀë¹ÊÕÏ,·ÀÖ¹×é¼þÖ®¼äÌØÊâµÄÏ໥×÷Óúͽ»²æñîºÏ¸ÉÈÅ£»¼õÉÙÈí¼þÑéÖ¤¹ý³ÌµÄ¹¤×÷Á¿£»×îС»¯°²È«Ïà¹Ø×é¼þµÄ¹æÄ£¡£
»®·ÖµÈ¼¶µÄÈ·¶¨£º¶ÔÓÚͨ¹ý»®·ÖÌṩ±£»¤µÄÈí¼þ,¿ÉʹÓÃÓëÿ¸ö×é¼þÏà¹ØµÄ×îÑÏÖØµÄʧЧ״̬Àà±ðÀ´È·¶¨¸Ã×é¼þµÄÖØÒªµÈ¼¶£»Çø±ð¶Ô´ý²»Í¬µÈ¼¶µÄÈí¼þ×é¼þ¡£
»®·Öʱ¿¼ÂǵÄÒòËØ£º
1) Ó²¼þ×ÊÔ´,°üÀ¨´¦ÀíÆ÷¡¢´æ´¢Æ÷É豸¡¢ÊäÈë/Êä³öÉ豸¡¢ÖжϺͶ¨Ê±Æ÷
2) ¿ØÖÆñîºÏÐÔ,Íⲿ´æÈ¡´àÈõÐÔ
3) Êý¾ÝñîºÏÐÔ,¹²Ïí»ò¸²¸ÇÊý¾Ý,°üÀ¨¶ÑÕ»ºÍ´¦ÀíÆ÷¼Ä´æÆ÷
4) Óë±£»¤»úÖÆÏà¹ØµÄÓ²¼þÉ豸µÄʧЧģʽ
ÔËÓÃÐÅÏ¢Òþ±Î¼¼Êõ£¬Ê¹ÐÅÏ¢½ö¶ÔÓÐȨºÍÐèÒª·ÃÎÊËüµÄ³ÌÐò¿ª·Å¡£ÐÅÏ¢Òþ±Î¿ÉÒԱܴíµÄÈý¸öÀíÓÉ£º½µµÍÁËÐÅÏ¢ÒâÍâ¶ïÎóµÄ¸ÅÂÊ£»¿ÉÒÔ°ïÖúÔÚ³ÌÐòÖн¨Á¢·À»ðǽ,½µµÍÐÅÏ¢ÎÊÌâÓ°ÏìµÄ·¶Î§£»ÓÉÓÚÐÅÏ¢±»¾Ö²¿»¯,³ÌÐòÔ±¸üÉٵزúÉú´íÎó,ÑéÖ¤ÈËÔ±¸üÈÝÒ×ÕÒµ½È±ÏÝ¡£
³£¼ûÐèÒª¸ôÀëµÄÐÅÏ¢£º
1) °²È«¹Ø¼üµÄÊý¾Ý
2) ÈÝÒ×±»¸Ä¶¯µÄÇøÓò
3) ¸´ÔÓµÄÊý¾Ý
4) ¸´ÔÓµÄÂß¼
5) ÔÚ±à³ÌÓïÑÔ²ã´ÎÉϵIJÙ×÷
ÐÅÏ¢Òþ±ÎµÄÕϰ£º
1) ÐÅÏ¢¹ý¶È·ÖÉ¢
2) ½»²æÒÀÀµ
3) Îó°Ñ¾Ö²¿Êý¾Ýµ±³ÉÈ«¾ÖÊý¾Ý
4) ÎóÈÏΪ»áËðʧÐÔÄÜ
ÔÚÊý¾ÝÇøºÍÖ¸ÁîÇø½¨Á¢·À»ðǽ£º
1) ΪÁË·ÀÖ¹³ÌÐò°ÑÊý¾Ý´íµ±Ö¸ÁîÀ´Ö´ÐÐ,Òª²ÉÓý«Êý¾ÝÓëÖ¸Áî·Ö¸ô´æ·ÅµÄ´ëÊ©
2) ½«²»ÓõÄÄÚ´æÇøÓò³õʼ»¯³É¾ßÓÐÈ·¶¨ÐÔµÄģʽ,×èÖ¹³ÌÐòÒâÍâÌø×ªµ½Î´Öª´æ´¢ÖÐÔËÐÐ,Ò»µ©²»ÓõÄÄÚ´æÇøÓò±»µ±×öÖ¸Áî±»Ö´ÐÐ,Ӧʹϵͳ»Ö¸´µ½ÒÑÖªµÄ°²È«×´Ì¬
3) ±ØÒªÊ±,ÔÚÊý¾ÝÇøºÍ±í¸ñµÄǰºó¼ÓÈëÊʵ±µÄNOPÖ¸ÁîºÍÌø×ªÖ¸Áî,ʹNOPÖ¸ÁîµÄ×ܳ¤¶ÈµÈÓÚ×ָÁîµÄ³¤¶È,
È»ºó¼ÓÈëÒ»ÌõÌø×ªÖ¸Áî,½«¿ØÖÆ×ªÏò³ö´í´¦Àí³ÌÐò
4.2.2. Òì³£´¦Àí
ÄÚ²¿Òì³£´¦Àí
1) ÔÚÔËÐн׶Î, ¶ÔÓÚÔ¤ÆÚ·¶Î§ÄÚµÄÒì³£, Òì³£´¦Àí´ëʩӦ±£Ö¤ÏµÍ³´¦ÓÚ°²È«×´Ì¬, ²¢³ÖÐøÔËÐÐ
2) ÔÚÔËÐн׶Î, ¶ÔÓÚ³¬³öÔ¤ÆÚµÄÒì³£, Òì³£´¦Àí´ëÊ©×îµÍÏÞ¶ÈӦʹϵͳתÈ밲ȫ״̬
3) ÔÚÒì³£·¢ÉúÖ®ºó, ²ÉÈ¡´ëÊ©, ±£Ö¤Êý¾ÝµÄÍêÕûÐÔ
4) ÔÚÒì³£·¢ÉúÖ®ºó, ²ÉÈ¡´ëÊ©, ±£Ö¤Ãô¸ÐºÍ¹Ø¼üÊý¾Ý²»±»Ð¹Â¶
ÍⲿÒì³£´¦Àí
1) ÖÜÆÚÐÔ¼ì²âÍⲿÊäÈë/Êä³öÉ豸µÄ״̬, ²¢ÔÚ·¢ÉúʧЧʱתµ½µ½Ä³¸ö°²È«×´Ì¬
2) ¶ÔÓÚ·Ç·¨µÄÍⲿÖжÏ, Èí¼þÓ¦ÄÜ×Ô¶¯Çл»µ½°²È«×´Ì¬
4.2.3. BIT (Built-In self-Test)
BITÊÇָϵͳ¡¢É豸ÄÚ²¿ÌṩµÄ¼ì²â¹ÊÕÏ¡¢¸ôÀë¹ÊÕϵÄ×Ô¶¯²âÊÔÄÜÁ¦£¬ÊǸÄÉÆÏµÍ³¡¢É豸°²È«ÐÔ¡¢²âÊÔÐÔ¡¢Î¬»¤ÐÔ¡¢¿ÉÓÃÐԵļ¼Êõ¡£BITÔö¼ÓÁËϵͳ¸´ÔÓÐÔ,×ÔÉíµÄ¿É¿¿ÐÔÒ²·Ç³£ÖØÒª¡£BITÏòPHM·½Ïò·¢Õ¹¡£
Èí¼þÉè¼Æ±ØÐ뿼ÂÇÔÚϵͳ¼ÓµçʱÍê³Éϵͳ¼¶µÄ×Ô¼ì²â, Ñé֤ϵͳÊǰ²È«¿É¿¿µÄ, ²¢ÔÚÕý³£µØÆð×÷Óá£ÔÚ¿ÉÄÜʱ,
Èí¼þÓ¦¶Ôϵͳ½øÐÐÖÜÆÚÐÔ×Ô¼ì²â, ÒÔ¼àÊÓϵͳµÄ°²È«×´Ì¬¡£±ØÒªÊ±, Èí¼þÓ¦Ìṩά»¤×Ô¼ì²â, Ìá¸ßϵͳµÄ¿Éά»¤ÐԺͿɲâÊÔÐÔ¡£¼Óµç×Ô¼ì²â¡¢ÖÜÆÚÐÔ×Ô¼ì²â¡¢Î¬»¤×Ô¼ì²âÓ¦¾ßÓв»Í¬¼¶±ðµÄ¼ì²âÄÜÁ¦¡£
ӦעÒâÖÜÆÚÐÔ×Ô¼ì²â¹¦ÄÜ¶ÔÆäËüÈÎÎñµÄÓ°Ïì¡£½¨Á¢Ò»¸ö¿ÉÄÜÓ°ÏìÈí¼þµÄÓ²¼þʧЧÁбí, ±ØÐëÇå³þµØÖªµÀ²¢Îĵµ»¯¿ÉÒÔͨ¹ýBIT½øÐмì²âµÄ¹ÊÕÏģʽ¡£BIT·¢ÏÖ¹ÊÕÏʱ,
Ó¦ÒÔÏÔʽµÄ·½Ê½±¨¸æ¸øÐèÒªÖªÏþµÄÈË, ÓÈÆäÊÇÄÄЩ°²È«Ïà¹ØµÄ¹ÊÕÏ¡£
1) CPU×Ô¼ì²â
EMI¡¢·Åµç¡¢µç»÷¡¢ÓîÖæÉäÏߵȶ¼¿ÉÄÜËð»µCPU, ͨ³£ÔÚÒýµ¼Ê±½øÐÐCPU×Ô¼ì, ÒÔ±ã֤ʵCPUµÄÔËËãÕýÈ·,
Èç¹û²âÊÔʧ°Ü, ÔòCPUÓÐȱÏÝ, Èí¼þÓ¦½øÈ밲ȫ״̬
2) ROM¼ì²â
ROM(EEPROM»òÉÁ´æµÈ)ÉϵÄÈí¼þ»áÓÅÏÈÖ´ÐÐ, ¼ìÑéÆäÍêÕûÐÔÊÇÖØÒªµÄ, ͨ³£ÔÚÉϵçʱÍê³É¼ì²â,
Èç¹ûϵͳ¾ßÓбä¸ü×ÔÉí³ÌÐòµÄÄÜÁ¦Ôò¼ì²âÓ¦¸ÃÖÜÆÚÐÔÔËÐÐ
4.2.4. ¹ÊÕÏ¼à¿Ø
Ó¦Éè¼Æ¼à¿Ø¹¦ÄÜ, Ö±½Ó¼ì²â¿ÉÄÜÒýÆðµÄʧЧ״̬, ²¢¶ÔΣÏÕʧЧ²ÉÈ¡°²È«·À»¤¡£¼à¿Ø¹¦ÄÜӦȷ±£ÏëÒª¼ì²âµÄ¹ÊÕÏÔÚËùÓбØÒªµÄÌõ¼þ϶¼Äܵõ½¼ì²â¡£Ó¦È·±£¼à¿Ø¹¦ÄܺͷÀ»¤´ëÊ©²»»áÒòΪµ¼Ö±»¼à¿ØÎ£º¦µÄͬһʧЧ״̬¶ø²»Ó趯×÷(¹²ÒòʧЧ)¡£
4.2.5. ²¿ÊðÉè¼Æ
Èí¼þÉè¼ÆÓ¦ÌṩÄÚǶµÄ¶Ô²¿ÊðµÄÖ§³Ö, ½µµÍϵͳ¹ÜÀíÔ±»òÓû§ÅäÖÃÈí¼þ¹ý³ÌÖгöÏÖ´íÎó¡£
1) Ìṩ¶ÔÅäÖõļì²éºÍ·ÖÎöµÄ¹¦ÄÜ
2) ×îС»¯È±Ê¡ÌØÈ¨
3) ¾Ö²¿»¯ÅäÖÃÉ趨
4) ÌṩÐÞ²¹°²È«Â©¶´µÄ¼òµ¥·½·¨ |