本發(fā)明涉及云計算技術(shù)領(lǐng)域,更具體地,涉及一種集群腦裂后仲裁處理方法、仲裁存儲裝置以及系統(tǒng)。
背景技術(shù):集群由兩個或兩個以上的計算機組成,每個計算機都稱為集群中的一個節(jié)點(Node)。由于網(wǎng)絡(luò)存在故障(如:網(wǎng)絡(luò)中某一個交換機存在故障),一個集群可能分裂為兩個或多個節(jié)點組(NodeGroup),這種現(xiàn)象叫做腦裂(BrainSplit)。當集群發(fā)生腦裂后,分裂的兩個或者多個節(jié)點組中的每一個節(jié)點組都無法通過心跳信息或者租約信息檢測到對方的存在,會認為其他節(jié)點組的節(jié)點發(fā)生了故障,這樣在同一時間段,這些節(jié)點組中的節(jié)點可能會發(fā)起對某一共享存儲資源(如:存儲磁盤)的訪問,這樣就會導致數(shù)據(jù)訪問錯誤的發(fā)生。此時,集群的管理軟件通常會采用一定算法來仲裁由哪一個節(jié)點組勝出,并延續(xù)原有集群的工作,失敗的節(jié)點組中的節(jié)點則需要重啟,并執(zhí)行重新加入集群的操作?,F(xiàn)有技術(shù)中采用如下方式來解決上述問題:使用仲裁(Quorum)節(jié)點投票算法,即從集群中的所有節(jié)點中選擇一部分節(jié)點并設(shè)置作為仲裁節(jié)點,當腦裂發(fā)生時,集群中存活的仲裁節(jié)點的個數(shù)為N個,當腦裂發(fā)生且原集群分裂為兩個節(jié)點組時,節(jié)點組內(nèi)的節(jié)點是可以通過檢測其他節(jié)點的心跳信息或租約信息來判斷自己與其他節(jié)點的連通性,根據(jù)檢測,確定包含n個仲裁節(jié)點的節(jié)點群構(gòu)成第一節(jié)點組,包含N-n個仲裁節(jié)點的另一部分節(jié)點群構(gòu)成第二節(jié)點組,這兩個節(jié)點組中的每個仲裁節(jié)點能夠檢測自身所在節(jié)點組中的仲裁節(jié)點的數(shù)目,當檢測自身的節(jié)點組中仲裁節(jié)點的數(shù)目超過Round(N/2)+1時(其中,Round(*)為取整函數(shù)),就認為自身所在節(jié)點組就成為發(fā)生腦裂后集群的主要部分(即腦裂發(fā)生后,經(jīng)過仲裁確定的主節(jié)點組),該節(jié)點組就延續(xù)集群的工作,另一個節(jié)點組中的節(jié)點檢測自身的節(jié)點組中的仲裁節(jié)點的數(shù)目小于Round(N/2)+1時,則執(zhí)行節(jié)點重啟,并重新加入繼續(xù)工作的節(jié)點組所構(gòu)成的集群。在完成本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在如下問題:當集群分裂為三個或三個以上的節(jié)點組時,由于每個節(jié)點組中仲裁節(jié)點的個數(shù)都無法超過Round(N/2)+1(N為集群中存活的仲裁節(jié)點的總個數(shù),且N為正整數(shù)),因此,也就無法仲裁確定主節(jié)點組來延續(xù)集群的工作。
技術(shù)實現(xiàn)要素:鑒于此,本發(fā)明實施例提供了一種集群腦裂后仲裁處理方法、仲裁存儲裝置以及系統(tǒng),能夠有效地實現(xiàn)在腦裂發(fā)生后的集群仲裁的處理,從而促使集群服務(wù)的快速恢復(fù)。第一方面,提供了一種集群腦裂后仲裁處理方法,應(yīng)用于集群和仲裁存儲裝置構(gòu)成的系統(tǒng),其中,所述集群包括至少兩個仲裁節(jié)點,所述仲裁存儲裝置預(yù)先記錄所述集群中至少兩個仲裁節(jié)點中的任意一個作為初始主仲裁節(jié)點,所述方法包括:在所述集群發(fā)生腦裂后,所述仲裁存儲裝置接收所述至少兩個仲裁節(jié)點發(fā)送的搶主請求;所述仲裁存儲裝置啟動搶主檢測周期;所述仲裁存儲裝置確定在所述搶主檢測周期內(nèi)是否接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求;如在所述搶主檢測周期內(nèi)接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求,所述仲裁存儲裝置設(shè)置所述初始主仲裁節(jié)點為搶主成功的仲裁節(jié)點;所述仲裁存儲裝置向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,如確定在所述搶主檢測周期內(nèi)未接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求,所述仲裁存儲裝置將在所述搶主檢測周期結(jié)束后接收到的第一個搶主請求的發(fā)送方仲裁節(jié)點設(shè)置為搶主成功的仲裁節(jié)點,并向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。結(jié)合第一方面以及第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,在啟動搶主檢測周期之后,所述仲裁存儲裝置確定在所述搶主檢測周期內(nèi)是否接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求具體包括:在所述搶主檢測周期內(nèi),所述仲裁存儲裝置緩存在所述搶主檢測周期內(nèi)接收到的全部搶主請求,所述仲裁存儲裝置確定所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點是否包含所述初始主仲裁節(jié)點;或者,在所述搶主檢測周期內(nèi),所述仲裁存儲裝置依次確定在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點是否是所述初始主仲裁節(jié)點。結(jié)合第一方面的第二種可能的實現(xiàn)方式中,在第三種可能的實現(xiàn)方式中,在所述仲裁存儲裝置確定所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點不包含所述初始主仲裁節(jié)點后,所述方法還包括:所述仲裁存儲裝置向所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點分別發(fā)送搶主失敗響應(yīng)消息,以使得所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點再次向所述仲裁存儲裝置發(fā)送新的搶主請求。結(jié)合第一方面的第二種可能的實現(xiàn)方式中,在第四種可能的實現(xiàn)方式中,在所述仲裁存儲裝置依次確定在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁裝置不包含所述初始主仲裁節(jié)點后,所述方法還包括:所述仲裁存儲裝置向在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁裝置發(fā)送搶主失敗響應(yīng)消息,以使得在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁裝置再次向所述仲裁存儲裝置發(fā)送新的搶主請求。結(jié)合第一方面以及之前的所有的可能的實現(xiàn)方式中,在第五種可能的實現(xiàn)方式中,在所述仲裁存儲裝置向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,所述方法還包括:所述仲裁存儲裝置接收所述搶主成功的仲裁節(jié)點發(fā)送的第一權(quán)限控制消息,所述第一權(quán)限控制消息包括:在所述集群的至少兩個仲裁節(jié)點中,與所述搶主成功的仲裁節(jié)點不相連通的第一類仲裁節(jié)點的標識;所述仲裁存儲裝置向所述第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息,以指示所述第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。結(jié)合第一方面以及之前的所有的可能的實現(xiàn)方式中,在第六種可能的實現(xiàn)方式中,在所述仲裁存儲裝置向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,所述方法還包括:所述仲裁存儲裝置接收所述搶主成功的仲裁節(jié)點發(fā)送的第二權(quán)限控制消息,所述第二權(quán)限控制消息包括:在所述至少兩個仲裁節(jié)點中,與所述搶主成功的仲裁節(jié)點相連通的第二類仲裁節(jié)點的標識;所述仲裁存儲裝置向所述第二類仲裁節(jié)點發(fā)送搶主失敗通知消息,以指示所述第二類仲裁節(jié)點停止向所述仲裁存儲裝置發(fā)送搶主請求。結(jié)合第一方面以及第一方面的第一種至第四種可能的實現(xiàn)方式中,在第七種可能的實現(xiàn)方式中,在所述仲裁存儲裝置向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,所述方法還包括:所述仲裁存儲裝置接收所述搶主成功的仲裁節(jié)點發(fā)送的權(quán)限控制消息,所述權(quán)限控制消息包括:所述至少兩個仲裁節(jié)點中除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點的標識,以及所述至少兩個仲裁節(jié)點中除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點對所述仲裁存儲裝置的訪問權(quán)限,所述訪問權(quán)限包括:允許或者拒絕;所述仲裁存儲裝置根據(jù)所述權(quán)限控制消息,向所述至少兩個仲裁節(jié)點中除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點發(fā)送通知消息。結(jié)合第一方面的第七種可能的實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,對于所述訪問權(quán)限為拒絕的第一類仲裁節(jié)點,所述仲裁存儲裝置根據(jù)所述權(quán)限控制消息,向除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點發(fā)送通知消息具體包括:所述仲裁存儲裝置向所述第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息,以指示所述第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。結(jié)合第一方面第七種可能的實現(xiàn)方式以及第八種可能的實現(xiàn)方式中,在第九種可能的實現(xiàn)方式中,對于所述訪問權(quán)限為允許的第二類仲裁節(jié)點,所述仲裁存儲裝置根據(jù)所述權(quán)限控制消息,向除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點發(fā)送通知消息具體包括:所述仲裁存儲裝置向所述第二類仲裁節(jié)點發(fā)送搶主失敗通知消息,以指示所述第二類仲裁節(jié)點停止向所述仲裁存儲裝置發(fā)送搶主請求。結(jié)合第一方面的第五種以及第八種可能的實現(xiàn)方式中,在第十種可能的實現(xiàn)方式中,在所述仲裁存儲裝置向所述第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息之后,所述方法還包括:所述仲裁存儲裝置向所述第一類仲裁節(jié)點發(fā)送修改防火墻策略為拒絕的通知消息,所述修改防火墻策略為拒絕的通知消息用于通知所述第一類仲裁節(jié)點修改所述第一類仲裁節(jié)點的防火墻中的防火墻策略為拒絕,以屏蔽所述第一類仲裁節(jié)點向所述仲裁存儲裝置發(fā)送的搶主請求。結(jié)合第一方面的第十種可能的實現(xiàn)方式中,在第十一種可能的實現(xiàn)方式中,在所述第一類仲裁節(jié)點執(zhí)行重啟操作并重新加入所述集群之后,所述方法還包括:所述仲裁存儲裝置向所述第一類仲裁節(jié)點發(fā)送修改防火墻策略為允許的通知消息,所述修改防火墻策略為允許的通知消息用于指示所述第一類仲裁節(jié)點修改所述第一類仲裁節(jié)點的防火墻中的防火墻策略為允許,以允許所述第一類仲裁節(jié)點向所述仲裁存儲裝置發(fā)送搶主請求。第二方面,提供一種用于集群中仲裁處理的仲裁存儲裝置,應(yīng)用于集群和仲裁存儲裝置構(gòu)成的系統(tǒng),其中,所述集群包括至少兩個仲裁節(jié)點,所述仲裁存儲裝置預(yù)先配置所述集群中至少兩個仲裁節(jié)點中的任意一個作為初始主仲裁節(jié)點,所述仲裁存儲裝置包括:接收單元,用于在所述集群發(fā)生腦裂后,接收所述至少兩個仲裁節(jié)點的搶主請求;啟動單元,用于啟動搶主檢測周期;判斷單元,用于確定在所述搶主檢測周期內(nèi)是否接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求;執(zhí)行單元,用于在所述搶主檢測周期內(nèi)接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求,所述仲裁存儲裝置設(shè)置所述初始主仲裁節(jié)點為搶主成功的仲裁節(jié)點;發(fā)送單元,用于向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述執(zhí)行單元,還用于當確定在所述搶主檢測周期內(nèi)未接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求,將在所述搶主檢測周期結(jié)束后接收到的第一個搶主請求的發(fā)送方仲裁節(jié)點設(shè)置為搶主成功的仲裁節(jié)點;所述發(fā)送單元,還用于向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。結(jié)合第二方面以及第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述判斷單元,具體用于緩存在所述搶主檢測周期內(nèi)接收到的全部搶主請求,確定所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點是否包含所述初始主仲裁節(jié)點;或者,在所述搶主檢測周期內(nèi),依次確定在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點是否是所述初始主仲裁節(jié)點。結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述執(zhí)行單元,還用于當所述判斷單元確定所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點不包含所述初始主仲裁節(jié)點后,生成搶主失敗響應(yīng)消息;所述發(fā)送單元,還用于向所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點分別發(fā)送所述搶主失敗響應(yīng)消息,以使得所述緩存的全部搶主請求的發(fā)送方仲裁節(jié)點再次向所述仲裁存儲裝置發(fā)送新的搶主請求。結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述執(zhí)行單元,還用于當確定在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點不包含所述初始主仲裁節(jié)點后,生成搶主失敗響應(yīng)消息;所述發(fā)送單元,還用于向在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點發(fā)送所述搶主失敗響應(yīng)消息,以使得在所述搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點再次向所述仲裁存儲裝置發(fā)送新的搶主請求。結(jié)合第二方面以及第一至第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述接收單元,還用于在所述發(fā)送單元向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收所述搶主成功的仲裁節(jié)點發(fā)送的第一權(quán)限控制消息,所述第一權(quán)限控制消息包括:在所述集群的至少兩個仲裁節(jié)點中,與所述搶主成功的仲裁節(jié)點不相連通的第一類仲裁節(jié)點的標識;所述執(zhí)行單元,還用于根據(jù)所述搶主成功的仲裁節(jié)點發(fā)送的第一權(quán)限控制消息生成拒絕訪問通知消息;所述發(fā)送單元,還用于向所述第一類仲裁節(jié)點發(fā)送所述拒絕訪問通知消息,以指示所述第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。結(jié)合第二方面以及第一至第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述接收單元,還用于在所述發(fā)送單元向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收所述搶主成功的仲裁節(jié)點發(fā)送的第二權(quán)限控制消息,所述第二權(quán)限控制消息包括:在所述至少兩個仲裁節(jié)點中,與所述搶主成功的仲裁節(jié)點相連通的第二類仲裁節(jié)點的標識;所述執(zhí)行單元,還用于根據(jù)所述搶主成功的仲裁節(jié)點發(fā)送的第二權(quán)限控制消息生成搶主失敗通知消息;所述發(fā)送單元,還用于向所述第二類仲裁節(jié)點發(fā)送所述搶主失敗通知消息,以指示所述第二類仲裁節(jié)點停止向所述仲裁存儲裝置發(fā)送搶主請求。結(jié)合第二方面以及第一至第四種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述接收單元,還用于在所述發(fā)送單元向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收所述搶主成功的仲裁節(jié)點發(fā)送的權(quán)限控制消息,所述權(quán)限控制消息包括:所述至少兩個仲裁節(jié)點中除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點的標識,以及所述至少兩個仲裁節(jié)點中除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點對所述仲裁存儲裝置的訪問權(quán)限,所述訪問權(quán)限包括:允許或者拒絕;所述執(zhí)行單元,還用于根據(jù)所述權(quán)限控制消息生成通知消息;所述發(fā)送單元,還用于向所述至少兩個仲裁節(jié)點中除所述搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點發(fā)送所述通知消息。結(jié)合第二方面第七種可能的實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,所述執(zhí)行單元,具體用于針對訪問權(quán)限為拒絕的第一類仲裁節(jié)點生成拒絕訪問通知消息;所述發(fā)送單元,具體用于向所述訪問權(quán)限為拒絕的第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息,以指示所述第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。結(jié)合第二方面第七種以及第八種可能的實現(xiàn)方式,在第九種可能的實現(xiàn)方式中,所述執(zhí)行單元,具體用于針對所述訪問權(quán)限為允許的第二類仲裁節(jié)點生成搶主失敗通知消息,以指示第二類仲裁節(jié)點停止向仲裁存儲裝置發(fā)送搶主請求;所述發(fā)送單元,具體用于向所述訪問權(quán)限為允許的第二類仲裁節(jié)點發(fā)送搶主失敗通知消息。結(jié)合第二方面第五種以及第八種可能的實現(xiàn)方式中,在第十種可能的實現(xiàn)方式中,所述執(zhí)行單元,還用于在發(fā)送單元向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息之后,針對第一類仲裁節(jié)點生成修改防火墻策略為拒絕的通知消息,所述修改防火墻策略為拒絕的通知消息用于通知第一類仲裁節(jié)點修改第一類仲裁節(jié)點的防火墻中的防火墻策略為拒絕,以屏蔽第一類仲裁節(jié)點向仲裁存儲裝置發(fā)送的搶主請求;所述發(fā)送單元,還用于向所述第一類仲裁節(jié)點發(fā)送所述修改防火墻策略為拒絕的通知消息。結(jié)合第二方面第十種可能的實現(xiàn)方式中,在第十一種可能的實現(xiàn)方式中,所述執(zhí)行單元,還用于在所述第一類仲裁節(jié)點執(zhí)行重啟操作并重新加入所述集群之后,針對所述第一類仲裁節(jié)點生成修改防火墻策略為允許的通知消息,所述修改防火墻策略為允許的通知消息用于指示所述第一類仲裁節(jié)點修改所述第一類仲裁節(jié)點的防火墻中的防火墻策略為允許,以允許所述第一類仲裁節(jié)點向所述仲裁存儲裝置發(fā)送搶主請求;所述發(fā)送單元,還用于向所述第一類仲裁節(jié)點發(fā)送修改防火墻策略為允許的通知消息。第三方面,提供一種存儲裝置,所述存儲裝置包括:處理器,存儲器,通信接口和總線,其中,所述處理器、所述存儲器和所述通信接口通過所述總線通信;所述通信接口用于與集群中至少兩個仲裁節(jié)點通信;所述存儲器用于存放程序;當所述存儲裝置運行時,所述處理器用于執(zhí)行所述存儲器存儲的所述程序,以執(zhí)行第一方面以及各種可能的實現(xiàn)方式中任一所述的方法。第四方面,提供一種集群腦裂后仲裁處理的系統(tǒng),所述系統(tǒng)包括:包括集群和如第二方面以及各種可能的實現(xiàn)方式任一所述的仲裁存儲裝置,其中,所述集群包括至少兩個仲裁節(jié)點,所述仲裁存儲裝置預(yù)先記錄所述集群中至少兩個仲裁節(jié)點中的任意一個作為初始主仲裁節(jié)點。本發(fā)明實施例設(shè)置了仲裁存儲裝置,由仲裁存儲裝置預(yù)先記錄集群中至少兩個仲裁節(jié)點中的任意一個作為初始主仲裁節(jié)點,在集群腦裂發(fā)生后,仲裁存儲裝置啟動搶主檢測周期,確定在搶主檢測周期內(nèi)接收到初始主仲裁節(jié)點發(fā)送的搶主請求,仲裁存儲裝置確定初始主仲裁節(jié)點為搶主成功的仲裁節(jié)點;并向搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。上述方案中,當仲裁存儲裝置在搶主檢測周期內(nèi)接收到初始主仲裁節(jié)點的搶主請求后,則會維持該初始主仲裁節(jié)點作為新的主仲裁節(jié)點,這樣能夠避免在集群恢復(fù)的過程中因為主仲裁節(jié)點的切換而導致集群業(yè)務(wù)發(fā)生切換的問題,從而維持業(yè)務(wù)的連續(xù)性。附圖說明為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例集群和存儲裝置所構(gòu)成的集群系統(tǒng)的架構(gòu)示意圖。圖2A-2C是本發(fā)明的對腦裂后仲裁處理的方法實施例一的示意圖。圖3是本發(fā)明的對腦裂后仲裁處理的方法實施例二的示意圖。圖4是本發(fā)明的仲裁存儲裝置實施例一的示意性框圖。圖5是本發(fā)明的仲裁存儲裝置實施例二的示意性框圖。圖6是本發(fā)明節(jié)點的實施例一的示意性框圖。圖7是本發(fā)明節(jié)點的實施例二的示意性框圖。圖8是本發(fā)明的腦裂仲裁處理的系統(tǒng)實施例的示意性框圖。圖9是本發(fā)明的對腦裂后仲裁處理的方法實施例三的示意圖。圖10是本發(fā)明的仲裁存儲裝置實施例三的示意性框圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應(yīng)屬于本發(fā)明保護的范圍。一般的,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、以及其他類型的結(jié)構(gòu)。此外,本領(lǐng)域的技術(shù)人員可以明白,各實施例可以用其他計算機系統(tǒng)配置來實施,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費電子產(chǎn)品、小型計算機、大型計算機以及類似計算設(shè)備。各實施例還能在任務(wù)由通過通信網(wǎng)絡(luò)連接的遠程處理設(shè)備來執(zhí)行的分布式計算環(huán)境中實現(xiàn)。在分布式計算環(huán)境中,程序模塊可位于本地和遠程存儲器存儲設(shè)備中。各實施例可被實現(xiàn)為計算機實現(xiàn)的過程、計算系統(tǒng)、或者諸如計算機程序產(chǎn)品或計算機系統(tǒng)執(zhí)行示例過程的指令的計算機程序的計算機存儲介質(zhì)。例如:計算機可讀存儲介質(zhì)可經(jīng)由易失性計算機存儲器、非易失性存儲器、硬盤驅(qū)動器、閃存驅(qū)動器、軟盤或緊致盤和類似介質(zhì)中的一個或多個來實現(xiàn)。貫穿本說明書,術(shù)語“集群(Cluster)”是一組相互獨立的、通過高速網(wǎng)絡(luò)互聯(lián)的計算機,它們構(gòu)成了一個群,并以單一系統(tǒng)的模式加以管理。集群中的每臺計算機被稱為一個“節(jié)點”。貫穿本說明書,術(shù)語“節(jié)點(Node)”一般指在聯(lián)網(wǎng)環(huán)境中執(zhí)行一個或多個軟件程序的計算設(shè)備,“節(jié)點”還可以被實現(xiàn)為被視作網(wǎng)絡(luò)中的服務(wù)器的一個或多個計算設(shè)備上執(zhí)行的虛擬節(jié)點(軟件程序)。具體實現(xiàn)中,節(jié)點可以為物理機(PhysicalMachine)或者安裝在物理機上的虛擬機(VirtualMachine)。貫穿本說明書,術(shù)語“腦裂(BrainSplit)”指的是由于網(wǎng)絡(luò)存在故障,一個集群分裂為兩個或多個節(jié)點組(NodeGroup),這種現(xiàn)象叫做腦裂。貫穿本說明書,術(shù)語“腦裂仲裁”一般指的是在集群發(fā)生腦裂之后,原集群分裂為若干個由節(jié)點構(gòu)成的節(jié)點組,集群的管理軟件通常會采用一定算法來決定由這若干個節(jié)點組中哪一個節(jié)點組作為主節(jié)點組,這種確定主節(jié)點組的過程叫做腦裂仲裁的過程。貫穿本說明書,術(shù)語“主節(jié)點組(MasterNodeGroup)”指的是腦裂發(fā)生后,通過腦裂仲裁方法確定由腦裂后的某一個節(jié)點組來延續(xù)原有集群的工作,該節(jié)點組被稱為主節(jié)點組。貫穿本說明書,術(shù)語“仲裁節(jié)點(QuorumNode)”:當發(fā)生腦裂使得集群分裂為多個節(jié)點組(具體可以為:網(wǎng)絡(luò)分區(qū))時,通常由集群中一些具有特殊功能的節(jié)點參與表決進行腦裂仲裁,判斷哪個節(jié)點組可以存活下來繼續(xù)提供集群服務(wù),而其他節(jié)點組則被判定為故障,不能繼續(xù)提供集群服務(wù),這些參與腦裂仲裁的節(jié)點就稱為仲裁節(jié)點。通常在集群中只有少數(shù)節(jié)點是仲裁節(jié)點,這可由系統(tǒng)預(yù)先配置決定。貫穿本說明書,術(shù)語“主仲裁節(jié)點(MasterQuorumNode)”指的集群中多個仲裁節(jié)點中的一個,用來確定其所在的節(jié)點組作為主節(jié)點組。當集群發(fā)生腦裂而導致集群分裂為多個節(jié)點組時,由整個系統(tǒng)確定出主仲裁節(jié)點,并由該主仲裁節(jié)點所位于節(jié)點組作為主節(jié)點組,以延續(xù)原有集群的工作。確定了主仲裁節(jié)點后,通過心跳(Heartbeat)或者租約(Lease)等方式檢測出與該主仲裁節(jié)點在網(wǎng)絡(luò)上相連通的節(jié)點,這些節(jié)點所構(gòu)成的節(jié)點組就作為集群腦裂后的主節(jié)點組,用來延續(xù)集群的服務(wù)。貫穿本說明書,術(shù)語“搶主請求”指的是當檢測該集群發(fā)生腦裂后,由集群中的仲裁節(jié)點產(chǎn)生的,向仲裁存儲裝置發(fā)送的用來爭奪作為主仲裁節(jié)點的請求,該請求一般包含該仲裁節(jié)點的標識。該標識可以為IP地址,或者該仲裁節(jié)點在集群中的編號等標記方式。貫穿本說明書,術(shù)語“仲裁存儲裝置”即指的是在選主的過程中,承擔仲裁功能,并最終確定主仲裁節(jié)點的存儲裝置。其中,仲裁存儲裝置在執(zhí)行仲裁功能時,包含通過接收仲裁節(jié)點發(fā)送的搶主請求,從中確定主仲裁節(jié)點的過程。之所以命名為仲裁存儲裝置,是因為在現(xiàn)有的應(yīng)用場景下,是采用存儲盤作為仲裁裝置來確定主仲裁節(jié)點。對于本領(lǐng)域技術(shù)人員,可以理解的是,其他的承擔仲裁功能的非存儲用途的裝置,也處于術(shù)語“仲裁存儲裝置”的解釋范圍內(nèi)。貫穿本說明書,術(shù)語“防火墻(Firewall)”一般指的是一項協(xié)助確保信息安全的設(shè)備,會依照特定的規(guī)則,允許或是限制傳輸?shù)臄?shù)據(jù)通過。在具體實現(xiàn)中,防火墻可能是一臺專屬的硬件或是架設(shè)在一般硬件上的一套軟件。貫穿本說明書,術(shù)語“IO訪問請求”一般指的是存儲設(shè)備所接收到的對該存儲設(shè)備上所存儲的數(shù)據(jù)進行讀、或者寫的請求。貫穿本說明書,術(shù)語“連通”指的是網(wǎng)絡(luò)上的連通性,集群中的節(jié)點可以通過心跳檢測或者租約檢測來判斷其他節(jié)點和自身的連通性。當集群發(fā)生腦裂后,原集群分裂為若干個節(jié)點組,位于同一個節(jié)點組中的節(jié)點,通過心跳檢測或租約檢測檢測到對方的存在,這樣就表示兩者相連通;位于不同節(jié)點組的節(jié)點,通過心跳檢測或租約檢測檢測不到對方的存在,這樣就表示兩者不相連通。本發(fā)明實施例的系統(tǒng)架構(gòu)在介紹本發(fā)明實施例之前,先整體介紹一下集群節(jié)點和存儲裝置所構(gòu)成的集群系統(tǒng)架構(gòu)示意圖,如圖1所示。該系統(tǒng)包括:集群100,由N個節(jié)點組成(N≥1,且N為整數(shù)),每一個節(jié)點可以部署在物理節(jié)點(如:服務(wù)器)上,也可以部署在虛擬節(jié)點(如:虛擬機)上,負責接收應(yīng)用或者客戶端發(fā)送的數(shù)據(jù)訪問請求,并將該數(shù)據(jù)訪問請求轉(zhuǎn)換成對存儲裝置的IO訪問請求。存儲裝置資源池200,有M(M≥1,且M為整數(shù))個存儲裝置構(gòu)成,每個存儲裝置可以理解為包含了存儲管理軟件和存儲介質(zhì)的存儲設(shè)備。存儲裝置資源池200中的M個存儲裝置的連接方式是多種多樣的,圖1所示的M個存儲裝置是環(huán)型結(jié)構(gòu)的連接方式(這里僅示意舉例),實際應(yīng)用中,還可以有星型結(jié)構(gòu)、總線結(jié)構(gòu)、分布式結(jié)構(gòu)、樹型結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)、蜂窩狀結(jié)構(gòu)等,對此,本發(fā)明的實施例不加以贅述。在上述存儲裝置資源池200中,可設(shè)置至少一個存儲裝置作為仲裁存儲裝置,該仲裁存儲裝置用于保存集群的主仲裁節(jié)點的標識,該標識可以為IP地址,或者是該仲裁節(jié)點在集群中的編號等。集群100中的節(jié)點和存儲裝置資源池200中的存儲裝置,可直接相連或者通過網(wǎng)絡(luò)(圖1未示)相連。由于上述這些連接方式屬于本領(lǐng)域的公知常識,對此,本發(fā)明的實施例不加以贅述。在集群100中所包含的N個節(jié)點中,可設(shè)置P(P≥2,P為整數(shù),P<N)個節(jié)點作為仲裁節(jié)點,這些仲裁節(jié)點通過管理員或者其他系統(tǒng)從節(jié)點中選擇并加以配置。當集群發(fā)生腦裂時,這P個仲裁節(jié)點分別向仲裁存儲裝置發(fā)送搶主請求,仲裁存儲裝置將獲得搶主成功的仲裁節(jié)點的標識記錄下來,并向該標識對應(yīng)的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息,該響應(yīng)消息用于通知記錄標識對應(yīng)的仲裁節(jié)點搶主成功。本發(fā)明的方法實施例圖2A-2C示出了在集群腦裂發(fā)生后,通過仲裁存儲裝置實現(xiàn)腦裂仲裁的方法實施例一,該方法實施例應(yīng)用于如圖1所示的集群和仲裁存儲裝置構(gòu)成的系統(tǒng)。參看圖2A,該方法包括:201、仲裁存儲裝置預(yù)先記錄集群中的主仲裁節(jié)點的標識;具體實現(xiàn)中,當集群建立后,仲裁存儲裝置會在其自身或者第三方存儲設(shè)備上設(shè)定一塊存儲空間,用于記錄主仲裁節(jié)點的標識,以及該主仲裁節(jié)點的狀態(tài)。其中,初始狀態(tài)下記錄主仲裁節(jié)點的標識為空(NULL),記錄主仲裁節(jié)點的狀態(tài)為空(NULL)或者故障。在集群開始正常運行之前,主仲裁節(jié)點可以通過管理員初始設(shè)置指定。當集群開始正常運行后,初始設(shè)置的主仲裁節(jié)點會定期地向仲裁存儲裝置發(fā)送刷新報文,該刷新報文包括自身的標識,該標識具體可以為IP地址,或者該主仲裁節(jié)點在集群中的編號等。仲裁存儲裝置也會設(shè)定一個刷新報文檢測周期,用來檢測主仲裁節(jié)點是否發(fā)送了刷新報文。在某一刷新報文檢測周期中,仲裁存儲裝置根據(jù)不同的情況做如下的處理:A、若在某一刷新報文的檢測周期內(nèi),未接收到刷新報文,則修改記錄的節(jié)點的狀態(tài)為故障。在某一刷新報文的檢測周期中,未接收到該刷新報文,仲裁存儲裝置則會認定主仲裁節(jié)點發(fā)生了故障,于是將記錄中的主仲裁節(jié)點的狀態(tài)修改為故障。B、若第一次接收到主仲裁節(jié)點發(fā)送的刷新報文時,仲裁存儲裝置會記錄該主仲裁節(jié)點的標識,并在記錄中將該主仲裁節(jié)點的狀態(tài)修改為“正?!?。C、非第一次接收到主仲裁節(jié)點發(fā)送的刷新報文后,又分為如下兩種情況:C1、檢測該刷新報文攜帶的標識和記錄節(jié)點的標識相同,且記錄的主仲裁節(jié)點的狀態(tài)為正常時,表明當前集群中的主仲裁節(jié)點正常,該仲裁存儲裝置不會對記錄的標識做任何操作。C2、檢測該刷新報文攜帶的標識和記錄的節(jié)點的標識相同,但是記錄的主仲裁節(jié)點的狀態(tài)為空或者故障時,則修改記錄中的節(jié)點的狀態(tài)為正常。這種情況,存在于兩種應(yīng)用場景,一種場景是集群重啟,此時所有的節(jié)點重啟,在集群重啟后的刷新報文檢測周期內(nèi),原主仲裁節(jié)點未能發(fā)送刷新報文,于是記錄的主仲裁節(jié)點的狀態(tài)被修改為故障。另一種場景是,原主仲裁節(jié)點發(fā)送的刷新報文丟失,仲裁存儲裝置在檢測周期內(nèi),未能接收到刷新報文,則將記錄的主仲裁節(jié)點的狀態(tài)修改為故障。203、當集群發(fā)生腦裂后,分裂后的各個節(jié)點組中的仲裁節(jié)點檢測到腦裂發(fā)生后,會分別產(chǎn)生搶主請求,并發(fā)送給仲裁存儲裝置。具體實現(xiàn)中,每個仲裁節(jié)點上設(shè)定一個搶主機制,即仲裁節(jié)點檢測到腦裂發(fā)生后,會產(chǎn)生搶主請求,并將搶主請求發(fā)送給仲裁存儲裝置。該搶主請求中包括該仲裁節(jié)點的標識,仲裁節(jié)點的標識可以有多種實現(xiàn)方式,如:該仲裁節(jié)點的IP地址(如:10.11.201.12),或該仲裁節(jié)點在集群中的唯一標識(如:編號0010)或其他的實現(xiàn)方式,對此,本發(fā)明的實施例不加以限制。需要說明的是,檢測到腦裂發(fā)生后,產(chǎn)生并發(fā)送搶主請求的仲裁節(jié)點是當前存活的仲裁節(jié)點,對于那些存在故障(如:宕機)的仲裁節(jié)點,則無法產(chǎn)生并發(fā)送搶主請求。在具體實現(xiàn)中,發(fā)送搶主請求的仲裁節(jié)點可能是集群中所有的仲裁節(jié)點,也可能是部分的仲裁節(jié)點。具體實現(xiàn)中,各個仲裁節(jié)點可通過租約檢測或者心跳檢測的方式檢測腦裂的發(fā)生,需要說明的是,租約檢測和心跳檢測還可以用來檢測節(jié)點之間的連通性:(1)基于租約(Lease)的檢測方法在該方法中,集群中的每一個節(jié)點會定期向租約管理器(LeaseManager)申請租約;租約管理器為每個節(jié)點都維護一個有關(guān)該節(jié)點所持有租約的記錄,其中記錄該節(jié)點何時獲取了該租約。每當租約管理器接收到來自各節(jié)點的租約請求時,就更新該記錄,以反映該節(jié)點獲取租約的最新信息。如果租約管理器在指定的周期(租約期,LeaseDuration)內(nèi)都沒有收到某個節(jié)點的續(xù)租請求,則會主動探測該節(jié)點的狀態(tài)(例如:通過Ping方式來檢測該節(jié)點是否發(fā)生故障或者該節(jié)點的網(wǎng)絡(luò)連接狀態(tài)是否發(fā)生故障),如果連續(xù)數(shù)次都探測不到該節(jié)點的狀態(tài)(比如:對于Ping數(shù)據(jù)包,無響應(yīng)),則認為該節(jié)點已經(jīng)出現(xiàn)故障,并將該節(jié)點發(fā)生故障的通知發(fā)送給集群中的其他節(jié)點。仲裁節(jié)點若收到某一個節(jié)點組的所有節(jié)點均發(fā)生故障的通知,則會判定集群發(fā)生了腦裂。(2)基于心跳(HeartBeat)的檢測方法在該方法中,系統(tǒng)會按照某種拓撲結(jié)構(gòu)在各個節(jié)點中構(gòu)成一個心跳環(huán),通過這個心跳環(huán),會在各個節(jié)點之間發(fā)送心跳信息(發(fā)送心跳信息的周期通常都比租約期要短很多),當這些節(jié)點的心跳信息匯集到一起時,通常會在集群的仲裁節(jié)點上進行匯總,識別出是否丟失了來自某個節(jié)點的心跳信息。為了避免誤判,通常會重復(fù)幾次檢測,如果有連續(xù)數(shù)次都沒有收到來自某個節(jié)點的心跳信息,則判定該節(jié)點可能故障(此時也可以主動進行探測,進一步確認該節(jié)點是否故障),并將該節(jié)點發(fā)生故障的通知發(fā)送給集群中的其他節(jié)點。仲裁節(jié)點若收到某一個節(jié)點組的所有節(jié)點均發(fā)生故障的通知,則會判定集群發(fā)生了腦裂。205、仲裁存儲裝置在某一刷新報文檢測周期內(nèi),接收到集群中的仲裁節(jié)點發(fā)送的搶主請求,則根據(jù)預(yù)先記錄的主仲裁節(jié)點的標識,判斷在接收到搶主請求中,是否包含該標識對應(yīng)的主仲裁節(jié)點發(fā)送的搶主請求,若是,則執(zhí)行步驟207;若否,則執(zhí)行步驟209。具體實現(xiàn)中,仲裁存儲裝置所接收到的搶主請求,可能是集群中所有的仲裁節(jié)點發(fā)送的搶主請求,也可能是集群中部分的仲裁節(jié)點發(fā)送的搶主請求。在判斷搶主請求中是否包含記錄的主仲裁節(jié)點的搶主請求,是在這一刷新報文的檢測周期內(nèi)來判斷。搶主請求中會攜帶發(fā)出該搶主請求的仲裁節(jié)點的標識,仲裁存儲裝置利用預(yù)先記錄的主仲裁節(jié)點的標識分別和各個搶主請求中攜帶的標識進行比較,如果兩者相同,則說明這些搶主請求中包括主仲裁節(jié)點的搶主請求,此時,則執(zhí)行步驟207;如果比較后,發(fā)現(xiàn)各個搶主請求中攜帶的標識均與預(yù)先存儲的主仲裁節(jié)點的標識不同,則說明這些搶主請求中不包含主仲裁節(jié)點的搶主請求,此時,則執(zhí)行步驟209。207、當接收到的搶主請求中包括該主仲裁節(jié)點發(fā)送的搶主請求時,該仲裁存儲裝置則維持預(yù)先記錄的主仲裁節(jié)點的標識,執(zhí)行步驟213。具體實現(xiàn)中,在刷新報文檢測周期內(nèi),步驟207中采用的是原主仲裁節(jié)點優(yōu)先的處理策略,即設(shè)定在仲裁存儲裝置的刷新報文檢測周期內(nèi),如果原主仲裁節(jié)點的搶主請求到達仲裁存儲裝置后,則優(yōu)先以原主仲裁節(jié)點作為新的主仲裁節(jié)點。由于在實際應(yīng)用中,主仲裁節(jié)點一般作為集群中的管理節(jié)點,承擔了管理集群的功能,如果頻繁地切換管理節(jié)點會導致業(yè)務(wù)的中斷,并且管理節(jié)點的切換還會帶來業(yè)務(wù)數(shù)據(jù)和/或狀態(tài)數(shù)據(jù)的備份和拷貝,這樣會給集群的處理資源帶來較大的沖擊,因此,采用優(yōu)先以原主仲裁節(jié)點作為新的主仲裁節(jié)點,能夠有效地避免上述問題的發(fā)生。209、當接收到的搶主請求中不包括該主仲裁節(jié)點發(fā)送的搶主請求時,作為響應(yīng),仲裁存儲裝置向發(fā)送搶主請求的各個仲裁節(jié)點發(fā)送響應(yīng)消息,通知各仲裁節(jié)點繼續(xù)發(fā)送搶主請求,并執(zhí)行步驟211。需要說明的是,該步驟并非必選步驟。在具體實現(xiàn)中,仲裁存儲裝置可以不必發(fā)送響應(yīng)消息,而預(yù)先在仲裁節(jié)點設(shè)定搶主請求周期發(fā)送機制,在仲裁節(jié)點未接收到仲裁存儲裝置發(fā)送的通知消息之前,各仲裁節(jié)點會周期性地發(fā)送搶主請求。當然,為了提高腦裂仲裁的效率,增加了由仲裁存儲裝置向各仲裁節(jié)點發(fā)送響應(yīng)消息,使得各仲裁節(jié)點能夠及時獲知腦裂仲裁的進展,以便當搶主成功后,減少對無效搶主請求的處理。211、在該刷新報文檢測周期之后,集群中的各仲裁節(jié)點會繼續(xù)向仲裁存儲裝置發(fā)送搶主請求,仲裁存儲裝置將預(yù)先記錄的主仲裁節(jié)點的標識修改為最先接收到的搶主請求對應(yīng)的仲裁節(jié)點的標識,執(zhí)行步驟213。在具體實現(xiàn)中,當刷新報文檢測周期結(jié)束后,仲裁存儲裝置就采用先到先得的方式確定主仲裁節(jié)點,即仲裁存儲裝置將最先接收到搶主請求對應(yīng)的仲裁節(jié)點設(shè)置為新的主仲裁節(jié)點,這樣便于快速地確定主仲裁節(jié)點,進而快速地確定腦裂發(fā)生后的主節(jié)點組,以便延續(xù)集群的正常工作。其中,最先接收到搶主請求,指的是該刷新報文檢測周期之后,仲裁存儲裝置接收到的第一個到達該仲裁存儲裝置的搶主請求。這會存在兩種實現(xiàn)可能,第一種是,各仲裁節(jié)點在該刷新報文檢測周期結(jié)束之前就已經(jīng)發(fā)送了該搶主請求,搶主請求在檢測周期之后到達仲裁存儲裝置;第二種是,各仲裁節(jié)點在該刷新報文檢測周期結(jié)束后發(fā)送搶主請求,搶主請求在檢測周期之后到達仲裁存儲裝置。對于上面兩種可能,本發(fā)明的實施例均不加以限定。213、仲裁存儲裝置向記錄的標識對應(yīng)的仲裁節(jié)點發(fā)送搶主成功響應(yīng),該搶主成功響應(yīng)用于通知該仲裁節(jié)點搶主成功。具體實現(xiàn)中,接收到搶主成功響應(yīng)的仲裁節(jié)點被選擇作為主仲裁節(jié)點,該主仲裁節(jié)點所在的節(jié)點組作為主節(jié)點組,用來延續(xù)集群的工作。215、仲裁存儲裝置向除確定的主仲裁節(jié)點以外的其他仲裁節(jié)點發(fā)送通知消息。具體實現(xiàn)中,對于和主仲裁節(jié)點連通類型不同的仲裁節(jié)點,仲裁存儲裝置發(fā)送的通知消息的類型是不同的,對于和主仲裁節(jié)點位于不同節(jié)點組的仲裁節(jié)點(即和主仲裁節(jié)點不相連通的仲裁節(jié)點),仲裁存儲裝置會發(fā)送拒絕訪問通知消息,使得這些仲裁節(jié)點重啟,并執(zhí)行重新加入集群的操作;對于和主仲裁節(jié)點位于相同節(jié)點組的仲裁節(jié)點(即和主仲裁節(jié)點相連通的仲裁節(jié)點),仲裁存儲裝置會發(fā)送搶主失敗通知消息,使得這些仲裁節(jié)點停止發(fā)送搶主請求。如下存在兩種實現(xiàn)方式:方式一:采用分開發(fā)送的方式,參看圖2B,該方式包括如下步驟:2151、仲裁存儲裝置接收記錄的主仲裁節(jié)點發(fā)送的第一權(quán)限控制消息,該第一權(quán)限控制消息包括:在集群所包含的至少兩個仲裁節(jié)點中,與確定的主仲裁節(jié)點不相連通的第一類仲裁節(jié)點的標識;具體實現(xiàn)中,主仲裁節(jié)點,通過心跳檢測或者租約檢測出和集群中的其他仲裁節(jié)點的連通性,對于和該主仲裁節(jié)點不相連通的仲裁節(jié)點,生成第一權(quán)限控制消息,并將該第一權(quán)限控制消息發(fā)送給仲裁存儲裝置。第一類仲裁節(jié)點,指的是物理上或邏輯上無法和主仲裁節(jié)點進行通信的仲裁節(jié)點,也即第一類仲裁節(jié)點和主仲裁節(jié)點不相連通,在實際場景下,第一類仲裁節(jié)點和主仲裁節(jié)點位于不同的節(jié)點組。2152、仲裁存儲裝置向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息,該拒絕訪問通知消息用于指示第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。作為舉例,具體實現(xiàn)中,拒絕訪問通知消息可采用如下特定的報文格式(如表一),其中包括:節(jié)點標識,以及仲裁存儲裝置的訪問權(quán)限。其中節(jié)點的標識采用節(jié)點的IP地址作為舉例,實際中,還有其他的表示方式,本發(fā)明的所有實施例不加以限制。當仲裁節(jié)點收到該拒絕訪問通知消息之后,執(zhí)行節(jié)點重啟操作。節(jié)點標識仲裁存儲裝置訪問權(quán)限10.11.207.198拒絕表一由于第一類仲裁節(jié)點是和主仲裁節(jié)點不相連通的仲裁節(jié)點,如,物理上,兩者無物理連接通路,或者邏輯上,兩者之間的交換機發(fā)生故障等。在實現(xiàn)中,第一類仲裁節(jié)點是和主仲裁節(jié)點位于不同的節(jié)點組,由于主仲裁節(jié)點所位于的節(jié)點組是作為腦裂仲裁中的主節(jié)點組,因此,第一類仲裁節(jié)點就屬于其他節(jié)點組,這一類節(jié)點組中的主仲裁節(jié)點需要重啟,并執(zhí)行重新加入集群的操作。2153、仲裁存儲裝置接收主仲裁節(jié)點發(fā)送的第二權(quán)限控制消息,該第二權(quán)限控制消息包括:在集群的至少兩個仲裁節(jié)點中,與該主仲裁節(jié)點相連通的第二類仲裁節(jié)點的標識。具體實現(xiàn)中,主仲裁節(jié)點通過心跳檢測或者租約檢測出和其他仲裁節(jié)點的連通性,對于和該主仲裁節(jié)點相連通的仲裁節(jié)點,生成第二權(quán)限控制消息,并將該第二權(quán)限控制消息發(fā)送給仲裁存儲裝置。第二類仲裁節(jié)點則是能夠和主仲裁節(jié)點進行通信的仲裁節(jié)點,也即第二類仲裁節(jié)點和主仲裁節(jié)點相連通,在實際場景下,第二類仲裁節(jié)點和主仲裁節(jié)點位于同一個節(jié)點組。2154、仲裁存儲裝置向第二類仲裁節(jié)點發(fā)送搶主失敗通知消息,該搶主失敗通知消息用于指示第二類仲裁節(jié)點停止向仲裁存儲裝置發(fā)送搶主請求。作為舉例,具體實現(xiàn)中,搶主失敗通知消息采用如下特定的報文格式(見表二),該報文格式包括:節(jié)點的標識,以及搶主請求的發(fā)送權(quán)限。其中節(jié)點的標識采用節(jié)點的IP地址作為舉例,實際中,還有其他的表示方式,對此,本發(fā)明的實施例不加以限制。當仲裁節(jié)點收到該搶主失敗通知消息之后,停止向仲裁存儲裝置發(fā)送搶主請求。節(jié)點的標識搶主請求的發(fā)送權(quán)限10.11.207.196拒絕表二針對方式一,在具體的實現(xiàn)方式中,步驟2151-步驟2152,步驟2153-步驟2154的執(zhí)行順序并沒有明確的限制,可以按照2151-2154的順序執(zhí)行,也可以按照先執(zhí)行2153-2154,再執(zhí)行2151-2152的順序進行,對此,本發(fā)明的實施例均不加以限定。方式二:采用集中發(fā)送的方式和上述的方式一的區(qū)別在于,主仲裁節(jié)點生成權(quán)限控制消息,該消息中包括除主仲裁節(jié)點之外其他的仲裁節(jié)點的標識,以及這些仲裁節(jié)點對仲裁存儲裝置的訪問權(quán)限,其中,訪問權(quán)限包括:允許或拒絕,主仲裁節(jié)點將上述權(quán)限控制消息發(fā)送給仲裁存儲裝置,仲裁存儲裝置根據(jù)上述標識以及標識對應(yīng)的訪問權(quán)限,分別生成針對第一類仲裁節(jié)點的拒絕訪問通知消息,以及生成針對第二類仲裁節(jié)點的搶主失敗通知消息,其中,第一類仲裁節(jié)點是和主仲裁節(jié)點不相連通的仲裁節(jié)點,第二類仲裁節(jié)點是和主仲裁節(jié)點相連通的仲裁節(jié)點,是否相連通是通過心跳檢測或者租約檢測來判斷的。第一類仲裁節(jié)點接收到拒絕訪問通知消息之后,會執(zhí)行節(jié)點重啟以及重新加入集群的操作,第二類仲裁節(jié)點在接收到搶主失敗通知消息之后,會停止向仲裁存儲裝置發(fā)送搶主請求。具體可以包括如下步驟,參看圖2C,該方式包括如下步驟:2155、仲裁存儲裝置接收主仲裁節(jié)點發(fā)送的權(quán)限控制消息,該權(quán)限控制消息包括:集群中至少兩個仲裁節(jié)點中除主仲裁節(jié)點之外的其他仲裁節(jié)點的標識,以及集群中至少兩個仲裁節(jié)點中除主仲裁節(jié)點之外的其他仲裁節(jié)點對仲裁存儲裝置的訪問權(quán)限,該訪問權(quán)限包括:允許或者拒絕。作為舉例,主仲裁節(jié)點生成權(quán)限控制消息,該權(quán)限控制消息采用如表三所示的格式:節(jié)點的標識節(jié)點對仲裁存儲裝置的訪問權(quán)限10.11.207.196允許10.11.207.198拒絕表三主仲裁節(jié)點將上述權(quán)限控制消息發(fā)送給仲裁存儲裝置。2156、仲裁存儲裝置根據(jù)權(quán)限控制消息,向集群中至少兩個仲裁節(jié)點中除主仲裁節(jié)點之外的其他仲裁節(jié)點發(fā)送通知消息。21561、對于訪問權(quán)限為拒絕的第一類仲裁節(jié)點,仲裁存儲裝置向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息,該拒絕訪問通知消息用于指示第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。具體實現(xiàn)中,可采用如步驟2052中的表一所示的報文格式。其他類似,不再贅述。第一類仲裁節(jié)點,指的是物理上或邏輯上無法和主仲裁節(jié)點進行通信的仲裁節(jié)點,也即第一類仲裁節(jié)點和主仲裁節(jié)點不相連通,在實際場景下,第一類仲裁節(jié)點和主仲裁節(jié)點位于不同的節(jié)點組。21562、對于訪問權(quán)限為允許的第二類仲裁節(jié)點,仲裁存儲裝置向第二類仲裁節(jié)點發(fā)送搶主失敗通知消息,搶主失敗通知消息用于指示第二類仲裁節(jié)點停止向仲裁存儲裝置發(fā)送搶主請求。具體實現(xiàn)中,可采用如步驟2054中的表二所示的報文格式。其他類似,不再贅述。第二類仲裁節(jié)點則是能夠和主仲裁節(jié)點進行通信的仲裁節(jié)點,也即第二類仲裁節(jié)點和主仲裁節(jié)點相連通,在實際場景下,第二類仲裁節(jié)點和主仲裁節(jié)點位于同一個節(jié)點組。通過上述兩種實現(xiàn)方式,使得集群中除主仲裁節(jié)點之外的其他仲裁節(jié)點能夠根據(jù)仲裁存儲裝置發(fā)送的消息,進行相應(yīng)的處理,具體的,和主仲裁節(jié)點不相連通的仲裁節(jié)點(腦裂之后其他節(jié)點組的仲裁節(jié)點),會進行重啟操作;和主仲裁節(jié)點相連通的仲裁節(jié)點(腦裂之后主節(jié)點組的仲裁節(jié)點),則停止發(fā)送搶主請求。上述的處理,能夠使得在確定主仲裁節(jié)點之后,其他仲裁節(jié)點快速的從腦裂搶主的狀態(tài)中恢復(fù),以便有效地實現(xiàn)集群正常業(yè)務(wù)的快速恢復(fù)。2157、在仲裁存儲裝置向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息之后,還會向第一類仲裁節(jié)點發(fā)送修改防火墻策略的通知消息,該通知消息用于通知第一類仲裁節(jié)點修改自身所對應(yīng)防火墻的防火墻策略,以屏蔽第一類仲裁節(jié)點向仲裁存儲裝置所發(fā)送的搶主請求。具體實現(xiàn)中,對于和主仲裁節(jié)點處于不同節(jié)點組的仲裁節(jié)點,即第一類仲裁節(jié)點,為了避免這些仲裁節(jié)點繼續(xù)向仲裁存儲裝置發(fā)送搶主請求,仲裁存儲裝置向這些仲裁節(jié)點發(fā)送修改防火墻策略的通知消息,這些仲裁節(jié)點接收到該通知消息后,會修改自身對應(yīng)防火墻的防火墻策略,以屏蔽這些仲裁節(jié)點向仲裁存儲裝置所發(fā)送的搶主請求。需要說明的是,第一類仲裁節(jié)點在重啟之前,還會向仲裁存儲裝置發(fā)送搶主請求,設(shè)定該步驟,能夠有效地屏蔽這些仲裁節(jié)點所發(fā)送的搶主請求,避免仲裁存儲裝置將處理能力浪費在這些無效的搶主請求上。上述方案能夠有效解決現(xiàn)有技術(shù)中的存在的集群腦裂發(fā)生后,無法仲裁確定主節(jié)點組的問題。在集群腦裂后仲裁處理結(jié)束之后,集群中除上述仲裁節(jié)點之外的其他節(jié)點,會根據(jù)心跳檢測或者租約檢測的方式判斷與主仲裁節(jié)點的連通性,當判斷與主仲裁節(jié)點相連通時,表明該節(jié)點和主仲裁節(jié)點位于相同的節(jié)點組,該節(jié)點維持繼續(xù)工作的狀態(tài);當判斷與主仲裁節(jié)點不相連通時,表明該節(jié)點和主仲裁節(jié)點位于不同的節(jié)點組,該節(jié)點則觸發(fā)自身重啟,并執(zhí)行重新加入主仲裁節(jié)點所在的節(jié)點組的過程。與之相對應(yīng)的,本發(fā)明還提供一種集群腦裂仲裁的方法實施例二,對于獲得搶主成功的仲裁節(jié)點,其處理過程包括如下步驟:301、仲裁節(jié)點接收仲裁存儲裝置發(fā)送的搶主成功響應(yīng)消息,該搶主成功響應(yīng)消息用于通知該仲裁節(jié)點搶主成功;303、獲得搶主成功的仲裁節(jié)點確定集群中至少兩個仲裁節(jié)點中除該仲裁節(jié)點之外的其他仲裁節(jié)點的訪問權(quán)限,其中,訪問權(quán)限包括:允許或者拒絕;305、獲得搶主成功的仲裁節(jié)點向仲裁存儲裝置發(fā)送權(quán)限控制消息,該權(quán)限控制消息包括:集群中至少兩個仲裁節(jié)點中除該仲裁節(jié)點之外的其他仲裁節(jié)點的標識,以及該標識對應(yīng)的仲裁節(jié)點對所述仲裁存儲裝置的訪問權(quán)限。上述實施例的處理過程,可參考上一個實施例中步驟205中的描述,對此,本實施例不加贅述。本發(fā)明的設(shè)備實施例參看圖4,本發(fā)明還提供一種用于集群中仲裁處理的仲裁存儲裝置400,應(yīng)用于集群和仲裁存儲裝置400構(gòu)成的系統(tǒng),其中,該集群包括至少兩個仲裁節(jié)點,仲裁存儲裝置400預(yù)先記錄集群中主仲裁節(jié)點的標識,主仲裁節(jié)點為至少兩個仲裁節(jié)點中的一個,該仲裁存儲裝置400包括:接收單元401,用于在檢測周期內(nèi),接收集群中的仲裁節(jié)點發(fā)送的搶主請求,每個搶主請求中包括仲裁節(jié)點的標識;判斷單元402,用于根據(jù)主仲裁節(jié)點的標識,判斷接收單元401所接收的搶主請求中是否包括主仲裁節(jié)點發(fā)送的搶主請求;執(zhí)行單元403,用于當接收到的搶主請求中包括主仲裁節(jié)點發(fā)送的搶主請求時,維持記錄的節(jié)點的標識;或當接收到的搶主請求中不包括主仲裁節(jié)點發(fā)送的搶主請求時,在第一刷新報文檢測周期之后,將記錄記錄的標識修改為最先到達仲裁存儲裝置的搶主請求對應(yīng)仲裁節(jié)點的標識;發(fā)送單元404,用于向記錄的標識對應(yīng)的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息,該響應(yīng)消息用于通知所述記錄標識對應(yīng)的仲裁節(jié)點搶主成功。進一步的,在該仲裁存儲裝置400中,執(zhí)行單元403,還用于當接收到的搶主請求不包括主仲裁節(jié)點發(fā)送的搶主請求時,生成響應(yīng)消息,該響應(yīng)消息用于通知發(fā)送搶主請求的仲裁節(jié)點繼續(xù)發(fā)送搶主請求,并觸發(fā)發(fā)送單元404;發(fā)送單元404,還用于向發(fā)送搶主請求的仲裁節(jié)點發(fā)送響應(yīng)消息。進一步的,在該仲裁存儲裝置400中,接收單元401,還用于在發(fā)送單元404向記錄的標識對應(yīng)的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收記錄標識對應(yīng)的仲裁節(jié)點發(fā)送的第一權(quán)限控制消息,該第一權(quán)限控制消息包括:在集群所包含的至少兩個仲裁節(jié)點中,與記錄標識對應(yīng)的仲裁節(jié)點不相連通的第一類仲裁節(jié)點的標識;執(zhí)行單元403,還用于根據(jù)第一權(quán)限控制消息生成拒絕訪問通知消息,并觸發(fā)發(fā)送單元404,拒絕訪問通知消息用于指示第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作;發(fā)送單元404,還用于向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息。進一步的,在該仲裁存儲裝置400中,接收單元401,還用于在發(fā)送單元404向記錄的標識對應(yīng)的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收記錄標識對應(yīng)的仲裁節(jié)點發(fā)送的第二權(quán)限控制消息,第二權(quán)限控制消息包括:在集群的至少兩個仲裁節(jié)點中,與記錄標識對應(yīng)的仲裁節(jié)點相連通的第二類仲裁節(jié)點的標識;執(zhí)行單元403,還用于根據(jù)第二權(quán)限控制消息生成搶主失敗通知消息,并觸發(fā)發(fā)送單元404,搶主失敗通知消息用于指示第二類仲裁節(jié)點停止向仲裁存儲裝置400發(fā)送搶主請求;發(fā)送單元404,還用于向第二類仲裁節(jié)點發(fā)送搶主失敗通知消息。進一步的,在該仲裁存儲裝置400中,接收單元401,還用于在發(fā)送單元404向記錄的標識對應(yīng)的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收記錄標識對應(yīng)的仲裁節(jié)點發(fā)送的權(quán)限控制消息,權(quán)限控制消息包括:集群中至少兩個仲裁節(jié)點中除所述記錄標識對應(yīng)的仲裁節(jié)點之外的其他仲裁節(jié)點的標識,以及至少兩個仲裁節(jié)點中除所述記錄標識對應(yīng)的仲裁節(jié)點之外的其他仲裁節(jié)點對仲裁存儲裝置400的訪問權(quán)限,所述訪問權(quán)限包括:允許或者拒絕;執(zhí)行單元403,還用于根據(jù)權(quán)限控制消息生成通知消息,并觸發(fā)發(fā)送單元404;發(fā)送單元404,還用于向至少兩個仲裁節(jié)點中除記錄標識對應(yīng)的仲裁節(jié)點之外的其他仲裁節(jié)點發(fā)送通知消息。進一步的,在仲裁存儲裝置400中,執(zhí)行單元403,具體用于針對訪問權(quán)限為拒絕的第一類仲裁節(jié)點生成拒絕訪問通知消息,拒絕訪問通知消息用于指示第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作;發(fā)送單元404,具體用于向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息。進一步的,在仲裁存儲裝置400中,執(zhí)行單元403,具體用于針對所述訪問權(quán)限為允許的第二類仲裁節(jié)點生成搶主失敗通知消息,搶主失敗通知消息用于指示第二類仲裁節(jié)點停止向仲裁存儲裝置400發(fā)送搶主請求;發(fā)送單元404,具體用于向第二類仲裁節(jié)點發(fā)送搶主失敗通知消息。進一步的,在該仲裁存儲裝置400中,執(zhí)行單元403,還用于在發(fā)送單元404向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息之后,針對第一類仲裁節(jié)點生成修改防火墻策略的通知消息,修改防火墻策略的通知消息用于通知第一類仲裁節(jié)點修改第一類仲裁節(jié)點的防火墻對應(yīng)的防火墻策略,以屏蔽第一類仲裁節(jié)點向仲裁存儲裝置400發(fā)送的搶主請求;發(fā)送單元404,還用于向第一類仲裁節(jié)點發(fā)送修改防火墻策略的通知消息。參看圖5,本發(fā)明還提供一種仲裁存儲裝置的實施例二,該仲裁存儲裝置500包括:處理器501,存儲器502,通信接口503和總線504,其中,處理器501、存儲器502和通信接口503通過總線504通信;通信接口503用于與集群中至少兩個仲裁節(jié)點通信;存儲器502用于存放程序;當該仲裁存儲裝置500運行時,處理器501用于執(zhí)行存儲器502存儲的程序,以執(zhí)行腦裂仲裁的方法實施例一的方法流程。參看圖6,本發(fā)明還提供一種仲裁節(jié)點的實施例一,該仲裁節(jié)點600包括:接收單元601,用于接收仲裁存儲裝置發(fā)送的搶主成功響應(yīng)消息,響應(yīng)消息用于通知節(jié)點搶主成功;確定單元602,用于確定集群中至少兩個仲裁節(jié)點中除仲裁節(jié)點600之外的其他仲裁節(jié)點的訪問權(quán)限,訪問權(quán)限包括:允許或者拒絕;發(fā)送單元603,用于向仲裁存儲裝置發(fā)送權(quán)限控制消息,該權(quán)限控制消息包括:集群中至少兩個仲裁節(jié)點中除仲裁節(jié)點600之外的其他仲裁節(jié)點的標識,以及標識對應(yīng)的仲裁節(jié)點對仲裁存儲裝置的訪問權(quán)限。參看圖7,本發(fā)明還提供一種仲裁節(jié)點的實施例二,該節(jié)點700包括:處理器701,存儲器702,通信接口703和總線704,其中,處理器701、存儲器702和通信接口703通過總線704通信;通信接口703用于與集群中其他仲裁節(jié)點以及仲裁存儲裝置通信;存儲器702用于存放程序;當仲裁節(jié)點700運行時,處理器701用于執(zhí)行存儲器702存儲的所述程序,以執(zhí)行如集群腦裂仲裁的方法實施例二的方法流程。參看圖8,本發(fā)明還提供一種集群腦裂后仲裁處理系統(tǒng),該系統(tǒng)800包括:包括集群810和仲裁裝置實施例一或者實施例二任一所示的仲裁存儲裝置820,其中,該集群810包括至少兩個仲裁節(jié)點811,這至少兩個仲裁節(jié)點中包含一個主仲裁節(jié)點8111,仲裁存儲裝置820預(yù)先記錄集群中主仲裁節(jié)點8111的標識。本發(fā)明的方法實施例三圖9示出了在集群腦裂發(fā)生后,通過仲裁存儲裝置實現(xiàn)腦裂仲裁的方法實施例三,該方法實施例應(yīng)用于如圖1所示的集群和仲裁存儲裝置構(gòu)成的系統(tǒng)。其中,該集群包括至少兩個仲裁節(jié)點。參看圖9,該方法包括:901、預(yù)先記錄集群中至少兩個仲裁節(jié)點中的任意一個作為初始主仲裁節(jié)點。本步驟的具體實現(xiàn)過程和方法實施例一中步驟201的實現(xiàn)過程類似,在此不再贅述。903、當集群發(fā)生腦裂后,分裂后的各個節(jié)點組中的仲裁節(jié)點檢測到腦裂發(fā)生后,會分別產(chǎn)生搶主請求,并發(fā)送給仲裁存儲裝置。本步驟的具體實現(xiàn)和方法實施例一中步驟203類似,在此不再贅述。905、仲裁存儲裝置啟動搶主檢測周期,執(zhí)行步驟907。搶主檢測周期可以是由仲裁存儲裝置設(shè)定的一個時間段,也可以是由第三方設(shè)備設(shè)置。具體實現(xiàn)中,對于步驟903和步驟905的執(zhí)行的先后順序通過兩種實現(xiàn)方式加以說明:實現(xiàn)方式一:仲裁存儲裝置接收到第一個搶主請求后,立即就啟動搶主檢測周期,其中,第一個搶主請求為腦裂發(fā)生之后,仲裁存儲裝置接收到的第一個搶主請求。實現(xiàn)方式二:仲裁存儲裝置接收到指定數(shù)目個(一個或者多個)搶主請求后,確定指定數(shù)目個搶主請求的發(fā)送方仲裁節(jié)點是否包含初始主仲裁節(jié)點;若否,仲裁存儲裝置向指定數(shù)目個搶主請求的發(fā)送方仲裁節(jié)點發(fā)送搶主失敗響應(yīng)消息,并啟動搶主檢測周期;若是,則仲裁存儲裝置設(shè)置初始主仲裁節(jié)點作為搶主成功的仲裁節(jié)點。需要說明的是,作為實施方式一的進一步拓展,另一種較優(yōu)的實現(xiàn)方式中,在所述仲裁存儲裝置接收第一搶主請求后,在啟動搶主檢測周期之前,所述方法還包括:仲裁存儲裝置確定第一搶主請求的發(fā)送方仲裁節(jié)點是初始主仲裁節(jié)點,設(shè)置初始主仲裁節(jié)點作為搶主成功的仲裁節(jié)點,向搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。907、仲裁存儲裝置確定在搶主檢測周期內(nèi),所接收到的搶主請求中是否包含初始主仲裁節(jié)點發(fā)送的搶主請求;若是,則執(zhí)行步驟909;若否,則執(zhí)行步驟911。具體實現(xiàn)中,仲裁存儲裝置通過將預(yù)先存儲的初始主仲裁節(jié)點的標識和接收到搶主請求中的標識進行比較,來判斷所接收到的搶主請求中是否包含初始主仲裁節(jié)點發(fā)送的搶主請求。具體實現(xiàn)過程中,仲裁存儲裝置確定在搶主檢測周期內(nèi),所接收到的搶主請求中是否包含初始主仲裁節(jié)點發(fā)送的搶主請求存在兩種實現(xiàn)方式:方式1:仲裁存儲裝置緩存在搶主檢測周期內(nèi)接收到的全部搶主請求,仲裁存儲裝置確定緩存的全部搶主請求的發(fā)送方仲裁節(jié)點是否包含初始主仲裁節(jié)點。需要說明的是,仲裁存儲裝置存在存儲裝置,用來緩存發(fā)送搶主請求的發(fā)送方仲裁節(jié)點的標識,將初始主仲裁節(jié)點的標識和發(fā)送搶主請求的發(fā)送方仲裁節(jié)點的標識進行比較,確定是否包含初始主仲裁節(jié)點。方式2:仲裁存儲裝置依次確定在搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點是否是初始主仲裁節(jié)點。具體實現(xiàn)中,仲裁存儲裝置所接收到的搶主請求,可能是集群中所有的仲裁節(jié)點發(fā)送的搶主請求,也可能是集群中部分的仲裁節(jié)點發(fā)送的搶主請求。搶主請求中會攜帶發(fā)出該搶主請求的仲裁節(jié)點的標識,仲裁存儲裝置利用初始主仲裁節(jié)點的標識分別和各個搶主請求中攜帶的標識進行比較,如果兩者相同,則說明這些搶主請求中包括初始主仲裁節(jié)點的搶主請求,此時,則執(zhí)行步驟909;如果比較后,發(fā)現(xiàn)各個搶主請求中攜帶的標識均與初始主仲裁節(jié)點的標識不同,則說明這些搶主請求中不包含初始主仲裁節(jié)點的搶主請求,此時,則執(zhí)行步驟911。909、當接收到的搶主請求中包括初始主仲裁節(jié)點發(fā)送的搶主請求時,該仲裁存儲裝置則確定初始主仲裁節(jié)點為搶主成功的仲裁節(jié)點,執(zhí)行步驟915。具體實現(xiàn)中,確定初始主仲裁節(jié)點為搶主成功的仲裁節(jié)點,即維持預(yù)先記錄的初始主仲裁節(jié)點的標識不改變。在搶主檢測周期內(nèi),步驟909中采用的是初始主仲裁節(jié)點優(yōu)先的處理策略,即設(shè)定在仲裁存儲裝置的搶主檢測周期內(nèi),如果初始主仲裁節(jié)點的搶主請求到達仲裁存儲裝置后,則優(yōu)先以初始主仲裁節(jié)點作為搶主成功的仲裁節(jié)點,即新的主仲裁節(jié)點。由于在實際應(yīng)用中,主仲裁節(jié)點一般作為集群中的管理節(jié)點,承擔了管理集群的功能,如果頻繁地切換管理節(jié)點會導致業(yè)務(wù)的中斷,并且管理節(jié)點的切換還會帶來業(yè)務(wù)數(shù)據(jù)和/或狀態(tài)數(shù)據(jù)的備份和拷貝,這樣會給集群的處理資源帶來較大的沖擊,因此,采用優(yōu)先以初始主仲裁節(jié)點作為新的主仲裁節(jié)點,能夠有效地避免上述問題的發(fā)生。911、當接收到的搶主請求中不包括初始主仲裁節(jié)點發(fā)送的搶主請求時,作為響應(yīng),仲裁存儲裝置向發(fā)送搶主請求的各個仲裁節(jié)點發(fā)送搶主失敗響應(yīng)消息,通知發(fā)送搶主請求的各仲裁節(jié)點繼續(xù)發(fā)送搶主請求,并執(zhí)行步驟913。具體實現(xiàn)中,針對步驟907中“仲裁存儲裝置確定在搶主檢測周期內(nèi)是否接收到初始主仲裁節(jié)點發(fā)送的搶主請求”存在兩種實現(xiàn)方式,這里仲裁存儲裝置向發(fā)送搶主請求的各個仲裁節(jié)點發(fā)送搶主失敗響應(yīng)消息也包含兩種方式:方式1:仲裁存儲裝置向緩存的全部搶主請求的發(fā)送方仲裁節(jié)點分別發(fā)送搶主失敗響應(yīng)消息,以使得緩存的全部搶主請求的發(fā)送方仲裁節(jié)點再次向仲裁存儲裝置發(fā)送新的搶主請求。方式2:仲裁存儲裝置向在搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點發(fā)送搶主失敗響應(yīng)消息,以使得在搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點再次向仲裁存儲裝置發(fā)送新的搶主請求。需要說明的是,該步驟并非必選步驟。在具體實現(xiàn)中,仲裁存儲裝置可以不必發(fā)送響應(yīng)消息,而預(yù)先在仲裁節(jié)點設(shè)定搶主請求周期發(fā)送機制,在仲裁節(jié)點未接收到仲裁存儲裝置發(fā)送的通知消息之前,各仲裁節(jié)點會周期性地發(fā)送搶主請求。當然,為了提高腦裂仲裁的效率,增加了由仲裁存儲裝置向各仲裁節(jié)點發(fā)送響應(yīng)消息,使得各仲裁節(jié)點能夠及時獲知腦裂仲裁的進展,以便當搶主成功后,減少對無效搶主請求的處理。913、在搶主檢測周期之后,集群中的各仲裁節(jié)點會繼續(xù)向仲裁存儲裝置發(fā)送搶主請求,仲裁存儲裝置確定在搶主檢測周期之后接收到的第一個搶主請求對應(yīng)的發(fā)送方仲裁節(jié)點作為搶主成功的仲裁節(jié)點,并執(zhí)行步驟915。在具體實現(xiàn)中,仲裁存儲裝置將初始主仲裁節(jié)點的標識修改為在搶主檢測周期之后接收到的第一個搶主請求對應(yīng)的仲裁節(jié)點的標識。當搶主檢測周期結(jié)束后,仲裁存儲裝置就采用“先到先得”的方式確定主仲裁節(jié)點,即仲裁存儲裝置將搶主檢測周期結(jié)束后接收到第一個搶主請求對應(yīng)的仲裁節(jié)點設(shè)置為新的主仲裁節(jié)點,這樣便于快速地確定搶主成功的仲裁節(jié)點,進而快速地確定腦裂發(fā)生后的主節(jié)點組,以便延續(xù)集群的正常工作。其中,在搶主檢測周期結(jié)束后接收到第一個搶主請求,會存在兩種實現(xiàn)方式,第一種是,各仲裁節(jié)點在該搶主檢測周期結(jié)束之前就已經(jīng)發(fā)送了該搶主請求,搶主請求在檢測周期之后到達仲裁存儲裝置;第二種是,各仲裁節(jié)點在該搶主檢測周期結(jié)束后發(fā)送搶主請求,搶主請求在搶主檢測周期之后到達仲裁存儲裝置。對于上面兩種可能,本發(fā)明的實施例均不加以限定。915、仲裁存儲裝置向搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。具體實現(xiàn)中,接收到搶主成功響應(yīng)的仲裁節(jié)點被選擇作為主仲裁節(jié)點,該主仲裁節(jié)點所在的節(jié)點組作為主節(jié)點組,用來延續(xù)集群的工作。917、仲裁存儲裝置向除搶主成功的仲裁節(jié)點以外的其他仲裁節(jié)點發(fā)送通知消息。具體實現(xiàn)中,對于和搶主成功的仲裁節(jié)點連通類型不同的仲裁節(jié)點,仲裁存儲裝置發(fā)送的通知消息的類型是不同的,對于和搶主成功的仲裁節(jié)點位于不同節(jié)點組的仲裁節(jié)點(即和搶主成功的仲裁節(jié)點不相連通的仲裁節(jié)點),仲裁存儲裝置會發(fā)送拒絕訪問通知消息,使得這些仲裁節(jié)點重啟,并執(zhí)行重新加入集群的操作;對于和搶主成功的仲裁節(jié)點位于相同節(jié)點組的仲裁節(jié)點(即和搶主成功的仲裁節(jié)點相連通的仲裁節(jié)點),仲裁存儲裝置會發(fā)送搶主失敗通知消息,使得這些仲裁節(jié)點停止發(fā)送搶主請求。如下存在兩種實現(xiàn)方式,即方式一:采用分開發(fā)送的方式(和方法實施例一中的圖2B以及對應(yīng)文字所描述的實現(xiàn)方式相類似),方式二:采用集中發(fā)送的方式(和方法實施例一中的圖2C以及對應(yīng)文字所描述的實現(xiàn)方式相類似),在此不再贅述。具體實現(xiàn)中,對于和搶主成功的仲裁節(jié)點處于不同節(jié)點組的仲裁節(jié)點,即第一類仲裁節(jié)點,為了避免這些仲裁節(jié)點繼續(xù)向仲裁存儲裝置發(fā)送搶主請求,仲裁存儲裝置向這些仲裁節(jié)點發(fā)送修改防火墻策略的通知消息,這些仲裁節(jié)點接收到該通知消息后,會修改自身對應(yīng)防火墻的防火墻策略,以屏蔽這些仲裁節(jié)點向仲裁存儲裝置所發(fā)送的搶主請求。需要說明的是,在第一類仲裁節(jié)點執(zhí)行重啟操作并重新加入集群之后,該方法實施例還包括:仲裁存儲裝置向第一類仲裁節(jié)點發(fā)送修改防火墻策略為允許的通知消息,該修改防火墻策略為允許的通知消息用于指示第一類仲裁節(jié)點修改第一類仲裁節(jié)點的防火墻中的防火墻策略為允許,以允許第一類仲裁節(jié)點向仲裁存儲裝置發(fā)送搶主請求。需要說明的是,第一類仲裁節(jié)點在重啟之前,還會向仲裁存儲裝置發(fā)送搶主請求,設(shè)定該步驟,能夠有效地屏蔽這些仲裁節(jié)點所發(fā)送的搶主請求,避免仲裁存儲裝置將處理能力浪費在這些無效的搶主請求上。上述方案能夠有效解決現(xiàn)有技術(shù)中的存在的集群腦裂發(fā)生后,無法仲裁確定主節(jié)點組的問題。在集群腦裂后仲裁處理結(jié)束之后,集群中除上述仲裁節(jié)點之外的其他節(jié)點,會根據(jù)心跳檢測或者租約檢測的方式判斷與搶主成功的仲裁節(jié)點的連通性,當判斷與搶主成功的仲裁節(jié)點相連通時,表明該節(jié)點和搶主成功的仲裁節(jié)點位于相同的節(jié)點組,該節(jié)點維持繼續(xù)工作的狀態(tài);當判斷與搶主成功的仲裁節(jié)點不相連通時,表明該節(jié)點和搶主成功的仲裁節(jié)點位于不同的節(jié)點組,該節(jié)點則觸發(fā)自身重啟,并執(zhí)行重新加入搶主成功的仲裁節(jié)點所在的節(jié)點組的過程。本發(fā)明的設(shè)備實施例三參看圖10,本發(fā)明還提供一種用于集群中仲裁處理的仲裁存儲裝置的實施例三,應(yīng)用于集群和仲裁存儲裝置1000構(gòu)成的系統(tǒng),其中,該集群包括至少兩個仲裁節(jié)點,仲裁存儲裝置1000預(yù)先配置集群中至少兩個仲裁節(jié)點中的任意一個作為初始主仲裁節(jié)點,該仲裁存儲裝置1000包括:接收單元1001,用于在集群發(fā)生腦裂后,接收所述至少兩個仲裁節(jié)點的搶主請求;啟動單元1002,用于啟動搶主檢測周期;判斷單元1003,用于確定在搶主檢測周期內(nèi)是否接收到初始主仲裁節(jié)點發(fā)送的搶主請求;執(zhí)行單元1004,用于在搶主檢測周期內(nèi)接收到初始主仲裁節(jié)點發(fā)送的搶主請求,仲裁存儲裝置設(shè)置初始主仲裁節(jié)點為搶主成功的仲裁節(jié)點;發(fā)送單元1005,用于向搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。具體的,提供了兩種實現(xiàn)方式:(1)實現(xiàn)方式一:仲裁存儲裝置接收到第一個搶主請求后,立即就啟動搶主檢測周期,其中,第一個搶主請求為腦裂發(fā)生之后,仲裁存儲裝置接收到的第一個搶主請求。(2)實現(xiàn)方式二:仲裁存儲裝置接收到指定數(shù)目個(一個或者多個)搶主請求后,確定指定數(shù)目個搶主請求的發(fā)送方仲裁節(jié)點是否包含初始主仲裁節(jié)點;若否,仲裁存儲裝置向指定數(shù)目個搶主請求的發(fā)送方仲裁節(jié)點發(fā)送搶主失敗響應(yīng)消息,并啟動搶主檢測周期;若是,則仲裁存儲裝置設(shè)置初始主仲裁節(jié)點作為搶主成功的仲裁節(jié)點。進一步的,在該仲裁存儲裝置1000中,執(zhí)行單元1004,還用于當確定在所述搶主檢測周期內(nèi)未接收到所述初始主仲裁節(jié)點發(fā)送的搶主請求,將在所述搶主檢測周期結(jié)束后接收到的第一個搶主請求的發(fā)送方仲裁節(jié)點設(shè)置為搶主成功的仲裁節(jié)點;發(fā)送單元1005,還用于向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息。進一步的,判斷單元1003,具體用于緩存在搶主檢測周期內(nèi)接收到的全部搶主請求,確定緩存的全部搶主請求的發(fā)送方仲裁節(jié)點是否包含初始主仲裁節(jié)點;或者,在搶主檢測周期內(nèi),依次確定在搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點是否是初始主仲裁節(jié)點。進一步的,執(zhí)行單元1004,還用于當判斷單元1003確定緩存的全部搶主請求的發(fā)送方仲裁節(jié)點不包含初始主仲裁節(jié)點后,生成搶主失敗響應(yīng)消息;發(fā)送單元1005,還用于向緩存的全部搶主請求的發(fā)送方仲裁節(jié)點分別發(fā)送搶主失敗響應(yīng)消息,以使得緩存的全部搶主請求的發(fā)送方仲裁節(jié)點再次向仲裁存儲裝置發(fā)送新的搶主請求。進一步的,執(zhí)行單元1004,還用于當所述判斷單元1003確定緩存的全部搶主請求的發(fā)送方仲裁節(jié)點不包含初始主仲裁節(jié)點后,生成搶主失敗響應(yīng)消息;發(fā)送單元1005,還用于向緩存的全部搶主請求的發(fā)送方仲裁節(jié)點分別發(fā)送搶主失敗響應(yīng)消息,以使得緩存的全部搶主請求的發(fā)送方仲裁節(jié)點再次向仲裁存儲裝置發(fā)送新的搶主請求。進一步的,執(zhí)行單元1004,還用于當確定在搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點不包含初始主仲裁節(jié)點后,生成搶主失敗響應(yīng)消息;發(fā)送單元1005,還用于向在搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點發(fā)送搶主失敗響應(yīng)消息,以使得在搶主檢測周期內(nèi)接收到的每個搶主請求的發(fā)送方仲裁節(jié)點再次向仲裁存儲裝置發(fā)送新的搶主請求。進一步的,接收單元1001,還用于在發(fā)送單元向所述搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收搶主成功的仲裁節(jié)點發(fā)送的第一權(quán)限控制消息,第一權(quán)限控制消息包括:在集群的至少兩個仲裁節(jié)點中,與搶主成功的仲裁節(jié)點不相連通的第一類仲裁節(jié)點的標識;執(zhí)行單元1004,還用于根據(jù)搶主成功的仲裁節(jié)點發(fā)送的第一權(quán)限控制消息生成拒絕訪問通知消息;發(fā)送單元1005,還用于向第一類仲裁節(jié)點發(fā)送所述拒絕訪問通知消息,以指示第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。進一步的,接收單元1001,還用于在發(fā)送單元向搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收搶主成功的仲裁節(jié)點發(fā)送的第二權(quán)限控制消息,第二權(quán)限控制消息包括:在至少兩個仲裁節(jié)點中,與搶主成功的仲裁節(jié)點相連通的第二類仲裁節(jié)點的標識;執(zhí)行單元1004,還用于根據(jù)搶主成功的仲裁節(jié)點發(fā)送的第二權(quán)限控制消息生成搶主失敗通知消息;發(fā)送單元1005,還用于向第二類仲裁節(jié)點發(fā)送搶主失敗通知消息,以指示第二類仲裁節(jié)點停止向仲裁存儲裝置發(fā)送搶主請求。進一步的,接收單元1001,還用于在發(fā)送單元1005向搶主成功的仲裁節(jié)點發(fā)送搶主成功響應(yīng)消息之后,接收搶主成功的仲裁節(jié)點發(fā)送的權(quán)限控制消息,權(quán)限控制消息包括:至少兩個仲裁節(jié)點中除搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點的標識,以及至少兩個仲裁節(jié)點中除搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點對仲裁存儲裝置的訪問權(quán)限,訪問權(quán)限包括:允許或者拒絕;執(zhí)行單元1004,還用于根據(jù)權(quán)限控制消息生成通知消息;發(fā)送單元1005,還用于向至少兩個仲裁節(jié)點中除搶主成功的仲裁節(jié)點之外的其他仲裁節(jié)點發(fā)送通知消息。進一步的,執(zhí)行單元1004,具體用于針對訪問權(quán)限為拒絕的第一類仲裁節(jié)點生成拒絕訪問通知消息;發(fā)送單元1005,具體用于向訪問權(quán)限為拒絕的第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息,以指示第一類仲裁節(jié)點執(zhí)行節(jié)點重啟操作。進一步的,執(zhí)行單元1004,具體用于針對訪問權(quán)限為允許的第二類仲裁節(jié)點生成搶主失敗通知消息,以指示第二類仲裁節(jié)點停止向仲裁存儲裝置發(fā)送搶主請求;發(fā)送單元1005,具體用于向訪問權(quán)限為允許的第二類仲裁節(jié)點發(fā)送搶主失敗通知消息。進一步的,執(zhí)行單元1004,還用于在發(fā)送單元向第一類仲裁節(jié)點發(fā)送拒絕訪問通知消息之后,針對第一類仲裁節(jié)點生成修改防火墻策略為拒絕的通知消息,修改防火墻策略為拒絕的通知消息用于通知第一類仲裁節(jié)點修改第一類仲裁節(jié)點的防火墻中的防火墻策略為拒絕,以屏蔽第一類仲裁節(jié)點向仲裁存儲裝置發(fā)送的搶主請求;發(fā)送單元1005,還用于向第一類仲裁節(jié)點發(fā)送修改防火墻策略為拒絕的通知消息。進一步的,執(zhí)行單元1004,還用于在第一類仲裁節(jié)點執(zhí)行重啟操作并重新加入所述集群之后,針對第一類仲裁節(jié)點生成修改防火墻策略為允許的通知消息,修改防火墻策略為允許的通知消息用于指示第一類仲裁節(jié)點修改第一類仲裁節(jié)點的防火墻中的防火墻策略為允許,以允許第一類仲裁節(jié)點向仲裁存儲裝置發(fā)送搶主請求;發(fā)送單元1005,還用于向第一類仲裁節(jié)點發(fā)送修改防火墻策略為允許的通知消息。參看圖5,本發(fā)明還提供一種仲裁存儲裝置的實施例二,該仲裁存儲裝置500包括:處理器501,存儲器502,通信接口503和總線504,其中,處理器501、存儲器502和通信接口503通過總線504通信;通信接口503用于與集群中至少兩個仲裁節(jié)點通信;存儲器502用于存放程序;當該仲裁存儲裝置500運行時,處理器501用于執(zhí)行存儲器502存儲的程序,以執(zhí)行腦裂仲裁的方法實施例三或者方法實施例四的方法流程。參看圖8,本發(fā)明還提供一種集群腦裂后仲裁處理系統(tǒng),該系統(tǒng)800包括:集群810和仲裁存儲裝置實施例三所示的仲裁存儲裝置820,其中,該集群810包括至少兩個仲裁節(jié)點811,集群中包含的至少兩個仲裁節(jié)點811和仲裁存儲裝置820通信連接,仲裁存儲裝置820預(yù)先記錄所述集群中至少兩個仲裁節(jié)點811中的任意一個作為初始主仲裁節(jié)點8111。本發(fā)明的所有實施例,均是以存在一個仲裁存儲裝置為例進行說明,對于存在N(N≥3,N為奇數(shù))個仲裁存儲裝置,集群中的至少兩個仲裁節(jié)點會分別向N個仲裁存儲裝置中的每一個仲裁存儲裝置發(fā)送搶主請求,能夠獲得Round(N/2)+1個仲裁存儲裝置所發(fā)送搶主成功通知消息的仲裁節(jié)點,則會被認為搶主成功的仲裁節(jié)點,由該搶主成功的仲裁節(jié)點所在節(jié)點組為主節(jié)點組,其他的仲裁節(jié)點中能夠和該搶主成功的仲裁節(jié)點通信的仲裁節(jié)點,則會接收到搶主失敗通知消息,并停止向仲裁存儲裝置發(fā)送搶主請求;對于不能和搶主成功的仲裁節(jié)點通信的仲裁節(jié)點,則會接收到拒絕訪問通知消息,該拒絕訪問通知消息用于指示這些仲裁節(jié)點執(zhí)行節(jié)點重啟操作。由于具體的處理過程和存在單個仲裁存儲裝置的處理過程類似,本發(fā)明的實施例不再加以贅述。應(yīng)理解,本發(fā)明中的具體的例子只是為了幫助本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實施例,而非限制本發(fā)明實施例的范圍。還應(yīng)理解,在本發(fā)明的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。還應(yīng)理解,在本發(fā)明實施例中,術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系。例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的裝置和單元的具體工作過程,以及方法的具體流程,可以參考前述系統(tǒng)實施例中的相應(yīng)描述,在此不再贅述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本發(fā)明實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分,或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求的保護范圍為準。