¡¡¡¡·Ö²¼Ê½ÊÂÎñ±ØÐëÂú×㴫ͳÊÂÎñµÄÌØÐÔ£¬¼´Ô×ÓÐÔ£¬Ò»ÖÂÐÔ£¬·ÖÀëÐԺͳ־ÃÐÔ¡£µ«ÊÇ·Ö²¼Ê½ÊÂÎñ´¦Àí¹ý³ÌÖУ¬Ä³Ð©³¡µØ(Server)¿ÉÄÜ·¢Éú¹ÊÕÏ£¬»òÕßÓÉÓÚÍøÂç·¢Éú¹ÊÕ϶øÎÞ·¨·ÃÎʵ½Ä³Ð©³¡µØ¡£ÎªÁË·ÀÖ¹·Ö²¼Ê½ÏµÍ³²¿·Öʧ°Üʱ²úÉúÊý¾ÝµÄ²»Ò»ÖÂÐÔ¡£ÔÚ·Ö²¼Ê½ÊÂÎñµÄ¿ØÖÆÖвÉÓÃÁËÁ½½×¶ÎÌá½»ÐÒ飨Two-Phase
Commit Protocol£©¡£¼´ÊÂÎñµÄÌá½»·ÖΪÁ½¸ö½×¶Î£º ¡¡¡¡¡ñ Á½½×¶ÎÌá½»ÔÚÓ¦ÓóÌÐòÏòе÷Õß·¢³öÒ»¸öÌá½»ÃüÁîʱ±»Æô¶¯¡£ÕâʱÌá½»½øÈëµÚÒ»½×¶Î£¬¼´Ô¤Ìá½»½×¶Î¡£ÔÚÕâÒ»½×¶ÎÖУº ¡¡¡¡(1) е÷Õß×¼±¸¾Ö²¿£¨¼´ÔÚ±¾µØ£©Ìá½»²¢ÔÚÈÕÖ¾ÖÐдÈë"Ô¤Ìá½»"ÈÕÖ¾Ï²¢°üº¬ÓиÃÊÂÎñµÄËùÓвÎÓëÕßµÄÃû×Ö¡£ ¡¡¡¡(2) е÷ÕßѯÎʲÎÓëÕßÄÜ·ñÌá½»¸ÃÊÂÎñ¡£Ò»¸ö²ÎÓëÕß¿ÉÄÜÓÉÓÚ¶àÖÖÔÒò²»ÄÜÌá½»¡£ÀýÈ磬¸ÃServerÌṩµÄÔ¼ÊøÌõ¼þ£¨Constraints£©µÄÑÓ³Ù¼ì²é²»·ûºÏÏÞÖÆÌõ¼þʱ£¬²»ÄÜÌá½»£»²ÎÓëÕß±¾ÉíµÄServer½ø³Ì»òÓ²¼þ·¢Éú¹ÊÕÏ£¬²»ÄÜÌá½»£»»òÕßе÷Õß·ÃÎʲ»µ½Ä³²ÎÓëÕߣ¨ÍøÂç¹ÊÕÏ£©£¬Õâʱе÷Õß¶¼ÈÏΪÊÇÊÕµ½ÁËÒ»¸ö·ñ¶¨µÄ»Ø´ð¡£ ¡¡¡¡(3) Èç¹û²ÎÓëÕßÄܹ»Ìá½»£¬ÔòÔÚÆä±¾ÉíµÄÈÕÖ¾ÖÐдÈë"×¼±¸Ìá½»"ÈÕÖ¾Ï¸ÃÈÕÖ¾ÏîÁ¢¼´Ð´ÈëÓ²ÅÌ£¬È»ºó¸øÐµ÷Õß·¢»ØÒ»¸"ÒÑ×¼±¸ºÃÌá½»"µÄ»Ø´ð¡£ ¡¡¡¡(4) е÷ÕߵȴýËùÓвÎÓëÕߵĻشð£¬Èç¹ûÓвÎÓëÕß·¢»Ø·ñ¶¨µÄ»Ø´ð£¬Ôòе÷Õß³·Ïû¸ÃÊÂÎñ²¢¸øËùÓвÎÓëÕß·¢³öÒ»¸ö"³·Ïû¸ÃÊÂÎñ"µÄÏûÏ¢£¬½áÊø¸Ã·Ö²¼Ê½ÊÂÎñ£¬³·Ïû¸ÃÊÂÎñµÄËùÓÐÓ°Ïì¡£ ¡¡¡¡¡ñ Èç¹ûËùÓеIJÎÓëÕß¶¼ËÍ»Ø"ÒÑ×¼±¸ºÃÌá½»"µÄÏûÏ¢£¬Ôò¸ÃÊÂÎñµÄÌá½»½øÈëµÚ¶þ½×¶Î£¬¼´¾ö²ßºóÌá½»½×¶Î¡£ÔÚÕâÒ»½×¶ÎÖУº ¡¡¡¡(1) е÷ÕßÔÚÈÕÖ¾ÖÐдÈë"Ìá½»"ÈÕÖ¾Ï²¢Á¢¼´Ð´ÈëÓ²ÅÌ¡£ ¡¡¡¡(2) е÷ÕßÏò²ÎÓëÕß·¢³ö"Ìá½»¸ÃÊÂÎñ"µÄÃüÁî¡£¸÷²ÎÓëÕß½Óµ½¸ÃÃüÁîºó£¬ÔÚ¸÷×ÔµÄÈÕÖ¾ÖÐдÈë"Ìá½»"ÈÕÖ¾Ï²¢Á¢¼´Ð´ÈëÓ²ÅÌ¡£È»ºóËÍ»Ø"ÒÑÌá½»"µÄÏûÏ¢£¬ÊͷŸÃÊÂÎñÕ¼ÓõÄ×ÊÔ´¡£ ¡¡¡¡(3) µ±ËùÓеIJÎÓëÕß¶¼ËÍ»Ø"ÒÑÌá½»"µÄÏûÏ¢ºó£¬Ðµ÷ÕßÔÚÈÕÖ¾ÖÐдÈë"ÊÂÎñÌá½»Íê³É"ÈÕÖ¾ÏÊÍ·Åе÷ÕßÕ¼ÓõÄ×ÊÔ´ ¡£ÕâÑù£¬Íê³ÉÁ˸÷ֲ¼Ê½ÊÂÎñµÄÌá½»¡£ |