本發(fā)明涉及通信領(lǐng)域,尤其涉及一種設(shè)備仲裁的方法和設(shè)備。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,數(shù)據(jù)的處理越來(lái)越集中,對(duì)數(shù)據(jù)安全的要求也越來(lái)越高,雙活系統(tǒng)是一種節(jié)約資源的計(jì)算機(jī)災(zāi)備(Disaster Recovery)方案,其實(shí)現(xiàn)模式是讓兩個(gè)數(shù)據(jù)中心同時(shí)承擔(dān)用戶的業(yè)務(wù),兩個(gè)數(shù)據(jù)中心互為備份,并且進(jìn)行實(shí)時(shí)備份。
當(dāng)雙活系統(tǒng)的兩個(gè)數(shù)據(jù)中心之間的通信斷開(kāi)后,兩個(gè)數(shù)據(jù)中心會(huì)各自向仲裁服務(wù)器發(fā)送仲裁請(qǐng)求消息,請(qǐng)求接管主機(jī)業(yè)務(wù),仲裁服務(wù)器保存有兩個(gè)數(shù)據(jù)中心的注冊(cè)信息,當(dāng)仲裁服務(wù)器確定其中一個(gè)數(shù)據(jù)中心可以接管主機(jī)業(yè)務(wù)后會(huì)刪除另外一個(gè)數(shù)據(jù)中心的注冊(cè)信息,從而避免兩個(gè)數(shù)據(jù)中心同時(shí)接管主機(jī)業(yè)務(wù)導(dǎo)致對(duì)外提供的主機(jī)業(yè)務(wù)不一致的情況。然而,根據(jù)現(xiàn)有技術(shù)的方案,如果注冊(cè)信息被刪除的數(shù)據(jù)中心再次發(fā)起注冊(cè)請(qǐng)求以及仲裁請(qǐng)求,仲裁服務(wù)器會(huì)保存該數(shù)據(jù)中心的注冊(cè)信息,并根據(jù)其保存的該數(shù)據(jù)中心的注冊(cè)信息判定該數(shù)據(jù)中心可以接管主機(jī)業(yè)務(wù),這樣,就會(huì)出現(xiàn)兩個(gè)數(shù)據(jù)中心同時(shí)接管主機(jī)業(yè)務(wù)的情況,從而會(huì)出現(xiàn)對(duì)外提供的主機(jī)業(yè)務(wù)不一致的情況。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種設(shè)備仲裁的方法和設(shè)備,可以防止仲裁失敗的設(shè)備再次進(jìn)行注冊(cè)和搶占操作,從而可以提高系統(tǒng)的容錯(cuò)能力、可靠性和安全性。
一方面,本發(fā)明實(shí)施例提供了一種設(shè)備仲裁的方法,所述方法應(yīng)用于存儲(chǔ)系統(tǒng)中,所述存儲(chǔ)系統(tǒng)包括第一存儲(chǔ)設(shè)備、第二存儲(chǔ)設(shè)備和仲裁服務(wù)器,該方法包括:當(dāng)?shù)谝淮鎯?chǔ)設(shè)備和第二存儲(chǔ)設(shè)備之間的通信鏈路發(fā)生故障時(shí),所述第一存儲(chǔ)設(shè)備向所述仲裁服務(wù)器發(fā)送仲裁請(qǐng)求消息,所述仲裁請(qǐng)求消息包括所述第一存儲(chǔ)設(shè)備的標(biāo)識(shí)信息以及業(yè)務(wù)接管信息,所述業(yè)務(wù)接管信息用于指示所述第一存儲(chǔ)設(shè)備要求接管主機(jī)業(yè)務(wù);所述仲裁服務(wù)器根據(jù)所述第一存儲(chǔ)設(shè)備的仲裁請(qǐng)求消息、所述第一存儲(chǔ)設(shè)備的注冊(cè)信息以及所述第二存儲(chǔ)設(shè)備未接管主機(jī)業(yè)務(wù),向所述第一存儲(chǔ)設(shè)備發(fā)送指示所述第一存儲(chǔ)設(shè)備接管主機(jī)業(yè)務(wù)的指示消息,并刪除所述仲裁服務(wù)器保存的所述第二存儲(chǔ)設(shè)備的注冊(cè)信息,其中,所述仲裁服務(wù)器預(yù)先保存有所述第一存儲(chǔ)設(shè)備的注冊(cè)信息和所述第二存儲(chǔ)設(shè)備的注冊(cè)信息;所述第一存儲(chǔ)設(shè)備根據(jù)所述指示消息接管主機(jī)業(yè)務(wù),并向所述仲裁服務(wù)器發(fā)送預(yù)留請(qǐng)求消息,所述預(yù)留請(qǐng)求消息包括所述第一存儲(chǔ)設(shè)備的標(biāo)識(shí)信息以及預(yù)留指示信息,所述預(yù)留指示信息用于指示所述仲裁服務(wù)器禁止所述第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè);所述仲裁服務(wù)器從所述第二存儲(chǔ)設(shè)備接收注冊(cè)請(qǐng)求消息,所述注冊(cè)請(qǐng)求消息包括所述第二存儲(chǔ)設(shè)備的注冊(cè)信息;所述仲裁服務(wù)器根據(jù)所述預(yù)留指示信息,拒絕所述第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè)。
根據(jù)本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法,仲裁服務(wù)器可以根據(jù)第一存儲(chǔ)設(shè)備的仲裁請(qǐng)求消息、第一存儲(chǔ)設(shè)備的注冊(cè)信息和當(dāng)前第二存儲(chǔ)設(shè)備沒(méi)有接管主機(jī)業(yè)務(wù)的情況,將第一存儲(chǔ)設(shè)備確定為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,從而可以確保第一陣列為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,避免可能出現(xiàn)的多個(gè)陣列同時(shí)接管主機(jī)業(yè)務(wù)導(dǎo)致的數(shù)據(jù)不同步的情況,提高了系統(tǒng)的容錯(cuò)能力、可靠性和安全性。
可選地,所述仲裁服務(wù)器從所述第一存儲(chǔ)設(shè)備接收所述預(yù)留請(qǐng)求消息之后,所述方法還包括:當(dāng)所述第一存儲(chǔ)設(shè)備和所述第二存儲(chǔ)設(shè)備之間的通信鏈路恢復(fù)正常后,所述第一存儲(chǔ)設(shè)備向所述仲裁服務(wù)器發(fā)送預(yù)留清除消息,所述預(yù)留清除消息用于請(qǐng)求所述仲裁服務(wù)器刪除所述預(yù)留指示信息,以便于所述第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè);所述仲裁服務(wù)器根據(jù)所述預(yù)留清除消息刪除所述預(yù)留指示信息。
根據(jù)本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法,仲裁服務(wù)器可以根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的預(yù)留清除消息刪除第一存儲(chǔ)設(shè)備的預(yù)留指示信息,以便于第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè),從而可以在不同存儲(chǔ)設(shè)備之間通信恢復(fù)正常后使用多個(gè)存儲(chǔ)設(shè)備處理主機(jī)業(yè)務(wù),提高系統(tǒng)的可靠性和安全性。
可選地,所述仲裁服務(wù)器從所述第一存儲(chǔ)設(shè)備接收所述預(yù)留請(qǐng)求消息之后,所述方法還包括:所述第二存儲(chǔ)設(shè)備向所述仲裁服務(wù)器發(fā)送預(yù)留清除消息,所述預(yù)留清除消息用于請(qǐng)求所述仲裁服務(wù)器刪除所述預(yù)留指示信息;所述仲裁服務(wù)器根據(jù)所述預(yù)留指示信息拒絕清除所述預(yù)留清除消息的請(qǐng)求,其中,所述預(yù)留指示信息用于指示所述仲裁服務(wù)器拒絕所述第二存儲(chǔ)設(shè)備的刪除請(qǐng)求。
根據(jù)本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法,仲裁服務(wù)器可以根據(jù)第一存儲(chǔ)設(shè)備的預(yù)留指示信息拒絕第二存儲(chǔ)設(shè)備發(fā)送的預(yù)留清除消息的請(qǐng)求,從而可以防止仲裁失敗的設(shè)備再次進(jìn)行注冊(cè)和搶占操作,從而可以提高系統(tǒng)的容錯(cuò)能力、可靠性和安全性。
另一方面,本發(fā)明實(shí)施例提供了一種設(shè)備仲裁的方法,所述方法應(yīng)用于存儲(chǔ)系統(tǒng)中,所述存儲(chǔ)系統(tǒng)包括第一存儲(chǔ)設(shè)備、第二存儲(chǔ)設(shè)備和仲裁服務(wù)器,該方法包括:當(dāng)?shù)谝淮鎯?chǔ)設(shè)備和第二存儲(chǔ)設(shè)備之間的通信鏈路發(fā)生故障時(shí),所述第一存儲(chǔ)設(shè)備向所述仲裁服務(wù)器發(fā)送仲裁請(qǐng)求消息,所述仲裁請(qǐng)求消息包括所述第一存儲(chǔ)設(shè)備的標(biāo)識(shí)信息、業(yè)務(wù)接管信息和預(yù)留指示信息,其中,所述業(yè)務(wù)接管信息用于指示所述第一存儲(chǔ)設(shè)備要求接管主機(jī)業(yè)務(wù),所述預(yù)留指示信息用于指示所述仲裁服務(wù)器禁止所述第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè);所述仲裁服務(wù)器根據(jù)所述第一存儲(chǔ)設(shè)備的仲裁請(qǐng)求消息、所述第一存儲(chǔ)設(shè)備的注冊(cè)信息以及所述第二存儲(chǔ)設(shè)備未接管主機(jī)業(yè)務(wù),向所述第一存儲(chǔ)設(shè)備發(fā)送指示所述第一存儲(chǔ)設(shè)備接管主機(jī)業(yè)務(wù)的指示消息,并刪除所述仲裁服務(wù)器保存的所述第二存儲(chǔ)設(shè)備的注冊(cè)信息,其中,所述仲裁服務(wù)器預(yù)先保存有所述第一存儲(chǔ)設(shè)備的注冊(cè)信息和所述第二存儲(chǔ)設(shè)備的注冊(cè)信息;所述仲裁服務(wù)器從所述第二存儲(chǔ)設(shè)備接收注冊(cè)請(qǐng)求消息,所述注冊(cè)請(qǐng)求消息包括所述第二存儲(chǔ)設(shè)備的注冊(cè)信息;所述仲裁服務(wù)器根據(jù)所述預(yù)留指示信息,拒絕所述第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè)。
根據(jù)本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法,仲裁服務(wù)器可以根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的攜帶預(yù)留指示信息的仲裁請(qǐng)求消息、第一存儲(chǔ)設(shè)備的注冊(cè)信息和當(dāng)前第二存儲(chǔ)設(shè)備沒(méi)有接管主機(jī)業(yè)務(wù)的情況,刪除第二存儲(chǔ)設(shè)備的注冊(cè)信息,從而可以確保第一存儲(chǔ)設(shè)備為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,避免可能出現(xiàn)的多個(gè)存儲(chǔ)設(shè)備同時(shí)接管主機(jī)業(yè)務(wù)導(dǎo)致的數(shù)據(jù)不同步的情況,提高了系統(tǒng)的容錯(cuò)能力、可靠性和安全性,同時(shí)還可以節(jié)省信令開(kāi)銷。
可選地,所述仲裁服務(wù)器從所述第一存儲(chǔ)設(shè)備接收所述仲裁請(qǐng)求消息之后,所述方法還包括:當(dāng)所述第一存儲(chǔ)設(shè)備和所述第二存儲(chǔ)設(shè)備之間的通信鏈路恢復(fù)正常后,所述第一存儲(chǔ)設(shè)備向所述仲裁服務(wù)器發(fā)送預(yù)留清除消息,所述預(yù)留清除消息用于請(qǐng)求所述仲裁服務(wù)器刪除所述預(yù)留指示信息,以便于所述第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè);所述仲裁服務(wù)器根據(jù)所述預(yù)留清除消息刪除所述預(yù)留指示信息。
根據(jù)本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法,仲裁服務(wù)器可以根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的預(yù)留清除消息刪除第一存儲(chǔ)設(shè)備的預(yù)留指示信息,以便于第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè),從而可以在不同存儲(chǔ)設(shè)備之間通信恢復(fù)正常后使用多個(gè)存儲(chǔ)設(shè)備處理主機(jī)業(yè)務(wù),提高系統(tǒng)的可靠性和安全性。
可選地,所述仲裁服務(wù)器從所述第一存儲(chǔ)設(shè)備接收所述仲裁請(qǐng)求消息之后,所述方法還包括:所述仲裁服務(wù)器從所述第二存儲(chǔ)設(shè)備接收預(yù)留清除消息,所述預(yù)留清除消息用于請(qǐng)求所述仲裁服務(wù)器刪除所述預(yù)留指示信息;所述仲裁服務(wù)器根據(jù)所述預(yù)留指示信息拒絕所述預(yù)留清除消息的請(qǐng)求,其中,所述預(yù)留指示信息用于指示所述仲裁服務(wù)器拒絕所述第二存儲(chǔ)設(shè)備的刪除請(qǐng)求。
根據(jù)本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法,仲裁服務(wù)器可以根據(jù)第一存儲(chǔ)設(shè)備的預(yù)留指示信息拒絕第二存儲(chǔ)設(shè)備發(fā)送的預(yù)留清除消息的請(qǐng)求,從而可以防止仲裁失敗的設(shè)備再次進(jìn)行注冊(cè)和搶占操作,從而可以提高系統(tǒng)的容錯(cuò)能力、可靠性和安全性。
再一方面,本發(fā)明實(shí)施例提供了一種設(shè)備仲裁的仲裁服務(wù)器,該仲裁服務(wù)器可以實(shí)現(xiàn)上述方面所涉及方法中仲裁服務(wù)器所執(zhí)行的功能,所述功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。所述硬件或軟件包括一個(gè)或多個(gè)上述功能相應(yīng)的單元或模塊。
在一種可能的設(shè)計(jì)中,該仲裁服務(wù)器的結(jié)構(gòu)中包括處理器和通信接口,該處理器被配置為支持該仲裁服務(wù)器執(zhí)行上述方法中相應(yīng)的功能。該通信接口用于支持該仲裁服務(wù)器與其它網(wǎng)元之間的通信。該仲裁服務(wù)器還可以包括存儲(chǔ)器,該存儲(chǔ)器用于與處理器耦合,其保存該仲裁服務(wù)器必要的程序指令和數(shù)據(jù)。
再一方面,本發(fā)明實(shí)施例提供了一種設(shè)備仲裁的第一存儲(chǔ)設(shè)備,該第一存儲(chǔ)設(shè)備可以實(shí)現(xiàn)上述方面所涉及方法中第一存儲(chǔ)設(shè)備所執(zhí)行的功能,所述功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。所述硬件或軟件包括一個(gè)或多個(gè)上述功能相應(yīng)的單元或模塊。
在一種可能的設(shè)計(jì)中,該第一存儲(chǔ)設(shè)備的結(jié)構(gòu)中包括處理器和通信接口,該處理器被配置為支持該仲裁服務(wù)器執(zhí)行上述方法中相應(yīng)的功能。該通信接口用于支持該第一存儲(chǔ)設(shè)備與其它網(wǎng)元之間的通信。該第一存儲(chǔ)設(shè)備還可以包括存儲(chǔ)器,該存儲(chǔ)器用于與處理器耦合,其保存該第一存儲(chǔ)設(shè)備必要的程序指令和數(shù)據(jù)。
再一方面,本發(fā)明實(shí)施例提供了一種通信系統(tǒng),該通信系統(tǒng)包括上述方面所述的仲裁服務(wù)器和第一存儲(chǔ)設(shè)備。
再一方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于存儲(chǔ)上述仲裁服務(wù)器所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面所設(shè)計(jì)的程序。
再一方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于存儲(chǔ)上述第一存儲(chǔ)設(shè)備所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面所設(shè)計(jì)的程序。
相比于現(xiàn)有技術(shù),根據(jù)本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法,仲裁服務(wù)器可以根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的請(qǐng)求消息、第一存儲(chǔ)設(shè)備的注冊(cè)信息以及當(dāng)前沒(méi)有其它存儲(chǔ)設(shè)備接管主機(jī)業(yè)務(wù)的情況,確定第一存儲(chǔ)設(shè)備為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,并且,仲裁服務(wù)器根據(jù)第一存儲(chǔ)設(shè)備唯一接管主機(jī)業(yè)務(wù)的狀態(tài)拒絕其它存儲(chǔ)設(shè)備的注冊(cè)請(qǐng)求或仲裁請(qǐng)求,從而可以確保第一存儲(chǔ)設(shè)備為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,避免可能出現(xiàn)的多個(gè)設(shè)備同時(shí)接管主機(jī)業(yè)務(wù)導(dǎo)致的數(shù)據(jù)不同步,提高了雙活仲裁系統(tǒng)的容錯(cuò)能力、可靠性和安全性,此外,第一存儲(chǔ)設(shè)備的唯一接管主機(jī)業(yè)務(wù)的狀態(tài)只能由第一存儲(chǔ)設(shè)備發(fā)送的消息清除,進(jìn)一步提高了雙活仲裁系統(tǒng)的安全性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是適用本發(fā)明實(shí)施例的一種可能的存儲(chǔ)系統(tǒng)的示意性架構(gòu)圖;
圖2是本發(fā)明實(shí)施例提供的一種設(shè)備仲裁的方法的通信示意圖;
圖3是本發(fā)明實(shí)施例提供的另一種設(shè)備仲裁的方法的通信示意圖;
圖4是本發(fā)明實(shí)施例提供的再一種設(shè)備仲裁的方法的通信示意圖;
圖5是本發(fā)明實(shí)施例提供的再一種設(shè)備仲裁的方法的通信示意圖;
圖6A是本發(fā)明實(shí)施例提供的一種可能的仲裁服務(wù)器的結(jié)構(gòu)示意圖;
圖6B是本發(fā)明實(shí)施例提供的另一種可能的仲裁服務(wù)器的結(jié)構(gòu)示意圖;
圖7A是本發(fā)明實(shí)施例提供的一種可能的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖;
圖7B是本發(fā)明實(shí)施例提供的另一種可能的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法和設(shè)備,可以對(duì)雙活系統(tǒng)的陣列或陣列上的邏輯存儲(chǔ)單元(Logic Unit Number,LUN)進(jìn)行仲裁,也可以對(duì)其它需要進(jìn)行仲裁的設(shè)備或單元進(jìn)行仲裁,下面,以陣列為例對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)說(shuō)明,本發(fā)明實(shí)施例不限于此,根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法還可以應(yīng)用于其它存儲(chǔ)設(shè)備。
為了便于理解本發(fā)明實(shí)施例,首先,對(duì)本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景進(jìn)行簡(jiǎn)要介紹。圖1示出了適用本發(fā)明實(shí)施例的一種可能的存儲(chǔ)系統(tǒng)的示意圖。
如圖1所示,存儲(chǔ)系統(tǒng)包括:主機(jī)或主機(jī)集群110、陣列120、陣列130和仲裁服務(wù)器140,主機(jī)集群110同時(shí)和陣列120、陣列130連接,陣列120、陣列130間相互連接,陣列120、陣列130同時(shí)和仲裁服務(wù)器140連接。當(dāng)雙活系統(tǒng)正常運(yùn)行時(shí),主機(jī)集群110可同時(shí)對(duì)陣列120和陣列130下發(fā)讀寫(xiě)業(yè)務(wù),其對(duì)陣列120下發(fā)寫(xiě)業(yè)務(wù)的流程如下:
1.主機(jī)集群110向陣列120下發(fā)寫(xiě)數(shù)據(jù)業(yè)務(wù);
2.陣列120將下發(fā)的數(shù)據(jù)同時(shí)寫(xiě)到陣列120和陣列130;
3.陣列120和陣列130的寫(xiě)數(shù)據(jù)均完成;
4.陣列120向主機(jī)集群110發(fā)送寫(xiě)數(shù)據(jù)完成的消息。
主機(jī)集群110對(duì)陣列130的寫(xiě)數(shù)據(jù)基本流程類似,如步驟1’、2’、3’和4’所示。當(dāng)陣列120與陣列130之間的通信鏈路發(fā)生故障(即,腦裂)時(shí),為了避免業(yè)務(wù)不同步,只能由陣列120與陣列130中的一個(gè)陣列接管主機(jī)業(yè)務(wù),由于此時(shí)陣列120與陣列130之間不能進(jìn)行通信,因此需要由仲裁服務(wù)器140來(lái)確定誰(shuí)來(lái)接管主機(jī)業(yè)務(wù)。陣列120與陣列130會(huì)分別向仲裁服務(wù)器140發(fā)起仲裁請(qǐng)求,如果仲裁服務(wù)器140先接收到陣列120發(fā)送的仲裁請(qǐng)求消息,則仲裁服務(wù)器可以根據(jù)陣列120的注冊(cè)信息以及陣列120的仲裁請(qǐng)求消息確定陣列120獲勝,將陣列120確定為接管主機(jī)業(yè)務(wù)的陣列,并將陣列130的注冊(cè)信息清除。
由于仲裁服務(wù)器140僅能被動(dòng)接受陣列120和陣列130的注冊(cè)信息,因此,當(dāng)陣列130出現(xiàn)邏輯錯(cuò)誤時(shí),陣列130可能再進(jìn)行一次注冊(cè),然后再發(fā)起仲裁,則陣列130也會(huì)獲勝,從而導(dǎo)致陣列120和陣列130同時(shí)單獨(dú)對(duì)外提供業(yè)務(wù),并且會(huì)出現(xiàn)數(shù)據(jù)不一致的情況。
根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法,陣列120在仲裁獲勝后向仲裁服務(wù)器發(fā)送預(yù)留請(qǐng)求消息,該預(yù)留請(qǐng)求消息包括陣列120的標(biāo)識(shí)以及預(yù)留指示信息,該預(yù)留請(qǐng)求消息用于請(qǐng)求仲裁服務(wù)器140禁止陣列130進(jìn)行注冊(cè),從而可以避免陣列130仲裁獲勝。或者陣列120也可以想仲裁服務(wù)器140發(fā)送包括預(yù)留指示信息的仲裁請(qǐng)求消息,請(qǐng)求接管主機(jī)業(yè)務(wù)并請(qǐng)求仲裁服務(wù)器140禁止陣列130進(jìn)行注冊(cè)。
圖2示出了本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法的示意性流程圖。如圖2所示,該方法200包括:
S201,第一存儲(chǔ)設(shè)備向仲裁服務(wù)器發(fā)送仲裁請(qǐng)求消息,該仲裁請(qǐng)求消息包括該第一存儲(chǔ)設(shè)備的標(biāo)識(shí)信息以及業(yè)務(wù)接管信息,該業(yè)務(wù)接管信息用于指示該第一存儲(chǔ)設(shè)備要求接管主機(jī)業(yè)務(wù)。
S202,仲裁服務(wù)器根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的仲裁請(qǐng)求消息、第一存儲(chǔ)設(shè)備的注冊(cè)信息以及第二存儲(chǔ)設(shè)備未接管主機(jī)業(yè)務(wù),刪除仲裁服務(wù)器保存的第二存儲(chǔ)設(shè)備的注冊(cè)信息,其中,仲裁服務(wù)器預(yù)先保存有第一存儲(chǔ)設(shè)備的注冊(cè)信息和第二存儲(chǔ)設(shè)備的注冊(cè)信息。
S203,仲裁服務(wù)器向第一存儲(chǔ)設(shè)備發(fā)送指示第一存儲(chǔ)設(shè)備接管主機(jī)業(yè)務(wù)的指示消息。
S204,第一存儲(chǔ)設(shè)備根據(jù)該指示消息接管主機(jī)業(yè)務(wù),并向仲裁服務(wù)器發(fā)送預(yù)留請(qǐng)求消息,該預(yù)留請(qǐng)求消息包括第一存儲(chǔ)設(shè)備的標(biāo)識(shí)信息以及預(yù)留指示信息,該預(yù)留指示信息用于指示仲裁服務(wù)器禁止第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè)。
S205,仲裁服務(wù)器從第二存儲(chǔ)設(shè)備接收注冊(cè)請(qǐng)求消息,該注冊(cè)請(qǐng)求消息包括第二存儲(chǔ)設(shè)備的注冊(cè)信息。
S206,仲裁服務(wù)器根據(jù)預(yù)留指示信息,拒絕第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè)。
第一存儲(chǔ)設(shè)備可以是第一陣列,第一陣列可以在發(fā)現(xiàn)其與第二陣列(即,第二存儲(chǔ)設(shè)備)的通信鏈路斷開(kāi)時(shí)生成仲裁請(qǐng)求信息,該仲裁請(qǐng)求信息用于請(qǐng)求接管主機(jī)業(yè)務(wù);仲裁服務(wù)器可以根據(jù)本地存儲(chǔ)的第一陣列的注冊(cè)信息,以及當(dāng)前沒(méi)有其它陣列接管主機(jī)業(yè)務(wù)的情況將第一陣列確定為接管主機(jī)業(yè)務(wù)的陣列,并向第一陣列發(fā)送指示消息,通知第一陣列仲裁獲勝;第一陣列可以根據(jù)其仲裁勝利生成預(yù)留請(qǐng)求信息,該預(yù)留請(qǐng)求消息用于指示仲裁服務(wù)器禁止第二陣列注冊(cè),例如,該預(yù)留請(qǐng)求消息可以請(qǐng)求仲裁服務(wù)器將第一陣列的注冊(cè)信息修改為預(yù)留信息,該預(yù)留信息表示第一陣列為唯一接管主機(jī)業(yè)務(wù)的設(shè)備;仲裁服務(wù)器接收到預(yù)留請(qǐng)求信息后根據(jù)該預(yù)留請(qǐng)求信息將第一陣列的注冊(cè)信息修改為預(yù)留信息,仲裁服務(wù)器可以根據(jù)該預(yù)留信息拒絕第二陣列的仲裁請(qǐng)求、注冊(cè)請(qǐng)求或者清除該預(yù)留信息的請(qǐng)求,從而可以確保第一陣列為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,避免可能出現(xiàn)的多個(gè)陣列同時(shí)接管主機(jī)業(yè)務(wù)導(dǎo)致的數(shù)據(jù)不同步。
上述實(shí)施例僅是舉例說(shuō)明,本發(fā)明實(shí)施例不限于此,例如,仲裁服務(wù)器可以根據(jù)第一陣列發(fā)送的預(yù)留請(qǐng)求信息在第一陣列的注冊(cè)信息中添加標(biāo)識(shí),該標(biāo)識(shí)用于禁止第二陣列注冊(cè)。
可選地,仲裁服務(wù)器從第一存儲(chǔ)設(shè)備接收預(yù)留請(qǐng)求消息后,方法200還包括:
S207,當(dāng)?shù)谝淮鎯?chǔ)設(shè)備和第二存儲(chǔ)設(shè)備之間的通信鏈路恢復(fù)正常后,第一存儲(chǔ)設(shè)備向仲裁服務(wù)器發(fā)送預(yù)留清除消息,該預(yù)留清除消息用于請(qǐng)求仲裁服務(wù)器刪除預(yù)留指示消息,以便于第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè)。
S208,仲裁服務(wù)器根據(jù)該預(yù)留清除消息刪除所述預(yù)留指示信息。
當(dāng)?shù)谝淮鎯?chǔ)設(shè)備與第二存儲(chǔ)設(shè)備之間的通信鏈路恢復(fù)正常后,第一存儲(chǔ)設(shè)備可以向仲裁服務(wù)器發(fā)送預(yù)留清除消息,請(qǐng)求清除預(yù)留指示信息,仲裁服務(wù)器清除掉預(yù)留指示信息后,第二存儲(chǔ)設(shè)備就可以向仲裁服務(wù)器發(fā)送注冊(cè)請(qǐng)求消息,請(qǐng)求進(jìn)行注冊(cè),此時(shí),仲裁服務(wù)器就可以保存第二存儲(chǔ)設(shè)備的注冊(cè)信息,第二存儲(chǔ)設(shè)備注冊(cè)成功后,就可以與第一存儲(chǔ)設(shè)備共同接管主機(jī)業(yè)務(wù)并且同步數(shù)據(jù),繼續(xù)執(zhí)行雙活系統(tǒng)的安全備份功能。
可選地,方法200還包括:
S209,第二存儲(chǔ)設(shè)備向仲裁服務(wù)器發(fā)送預(yù)留清除消息,所述預(yù)留清除消息用于請(qǐng)求仲裁服務(wù)器刪除第一存儲(chǔ)設(shè)備的預(yù)留指示信息。
S210,仲裁服務(wù)器根據(jù)該預(yù)留指示信息拒絕第二存儲(chǔ)設(shè)備的預(yù)留清除消息的請(qǐng)求,其中,該預(yù)留指示信息用于指示仲裁服務(wù)器拒絕第二存儲(chǔ)設(shè)備的刪除請(qǐng)求。
第一存儲(chǔ)設(shè)備的預(yù)留指示信息只能由第一存儲(chǔ)設(shè)備主動(dòng)清除,其它設(shè)備不能清除該狀態(tài),從而可以避免病毒入侵、軟件bug等問(wèn)題導(dǎo)致的第一陣列的預(yù)留指示信息被刪除,提高安全性。
圖2中僅舉例示出了兩個(gè)存儲(chǔ)設(shè)備,根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法還可應(yīng)用于包括大于兩個(gè)存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng),因此,根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法200,存儲(chǔ)設(shè)備在仲裁獲勝后向仲裁服務(wù)器發(fā)送預(yù)留請(qǐng)求信息,請(qǐng)求將該存儲(chǔ)設(shè)備確定為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,避免軟件bug、用戶誤操作、網(wǎng)絡(luò)傳輸故障、病毒入侵等問(wèn)題導(dǎo)致的不同存儲(chǔ)設(shè)備分別對(duì)外提供業(yè)務(wù),從而避免了對(duì)外提供數(shù)據(jù)不一致的情況,提高了雙活仲裁系統(tǒng)的容錯(cuò)能力、可靠性和安全性。
圖3示出了本發(fā)明實(shí)施例提供的設(shè)備仲裁的方法的示意性流程圖。如圖3所示,該方法300包括:
S301,當(dāng)?shù)谝淮鎯?chǔ)設(shè)備和第二存儲(chǔ)設(shè)備之間的通信鏈路發(fā)生故障時(shí),第一存儲(chǔ)設(shè)備向仲裁服務(wù)器發(fā)送仲裁請(qǐng)求消息,該仲裁請(qǐng)求消息包括第一存儲(chǔ)設(shè)備的標(biāo)識(shí)信息、業(yè)務(wù)接管信息和預(yù)留指示信息,其中,所述業(yè)務(wù)接管信息用于指示第一存儲(chǔ)設(shè)備要求接管主機(jī)業(yè)務(wù),所述預(yù)留指示信息用于指示所述仲裁服務(wù)器禁止第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè)。
S302,仲裁服務(wù)器根據(jù)第一存儲(chǔ)設(shè)備的仲裁請(qǐng)求消息、該第一存儲(chǔ)設(shè)備的注冊(cè)信息以及第二存儲(chǔ)設(shè)備未接管主機(jī)業(yè)務(wù),刪除仲裁服務(wù)器保存的第二存儲(chǔ)設(shè)備的注冊(cè)信息,其中,仲裁服務(wù)器預(yù)先保存有第一存儲(chǔ)設(shè)備和第二存儲(chǔ)設(shè)備的注冊(cè)信息。
S303,仲裁服務(wù)器向第一存儲(chǔ)設(shè)備發(fā)送指示消息,該指示消息用于指示第一存儲(chǔ)設(shè)備可以接管主機(jī)業(yè)務(wù)。
S304,仲裁服務(wù)器從第二存儲(chǔ)設(shè)備接收注冊(cè)請(qǐng)求消息,該注冊(cè)請(qǐng)求消息包括第二存儲(chǔ)設(shè)備的注冊(cè)信息。
S305,仲裁服務(wù)器根據(jù)第一存儲(chǔ)設(shè)備的預(yù)留指示信息,拒絕第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè)。
第一存儲(chǔ)設(shè)備可以是第一陣列,第一陣列可以在發(fā)現(xiàn)其與第二陣列(即,第二存儲(chǔ)設(shè)備)的通信鏈路斷開(kāi)時(shí)生成仲裁請(qǐng)求信息,該仲裁請(qǐng)求信息用于請(qǐng)求接管主機(jī)業(yè)務(wù),該仲裁請(qǐng)求消息還包括預(yù)留指示信息,該預(yù)留指示信息指示仲裁服務(wù)器禁止第二陣列進(jìn)行注冊(cè);仲裁服務(wù)器可以根據(jù)本地存儲(chǔ)的第一陣列的注冊(cè)信息,以及當(dāng)前沒(méi)有其它陣列接管主機(jī)業(yè)務(wù)的情況將第一陣列確定為接管主機(jī)業(yè)務(wù)的陣列,并向第一陣列發(fā)送指示消息,通知第一陣列仲裁獲勝,仲裁服務(wù)器還可以根據(jù)該預(yù)留指示信息將第一陣列預(yù)留在仲裁服務(wù)器中的注冊(cè)信息修改為預(yù)留信息,仲裁服務(wù)器可以根據(jù)該預(yù)留信息拒絕第二陣列的仲裁請(qǐng)求、注冊(cè)請(qǐng)求或者清除該預(yù)留信息的請(qǐng)求,從而可以確保第一陣列為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,避免可能出現(xiàn)的多個(gè)陣列同時(shí)接管主機(jī)業(yè)務(wù)導(dǎo)致的數(shù)據(jù)不同步,根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法還可以節(jié)省信令開(kāi)銷。
圖4示出了本發(fā)明另一實(shí)施例提供的設(shè)備仲裁的方法的示意性流程圖。如圖4所示,該方法400包括:
S401,陣列410發(fā)現(xiàn)陣列410與陣列420之間的通信鏈路斷開(kāi)(即,腦裂)。
S402,陣列410向仲裁設(shè)備(例如,仲裁服務(wù)器430)發(fā)起仲裁請(qǐng)求,請(qǐng)求接管主機(jī)業(yè)務(wù);
S403,仲裁服務(wù)器430確定本地是否存儲(chǔ)有陣列410的注冊(cè)信息A;
陣列410在自身具有處理主機(jī)業(yè)務(wù)能力時(shí)向仲裁服務(wù)器430進(jìn)行注冊(cè),以便于在腦裂發(fā)生后仲裁服務(wù)器430能夠確定陣列410具有接管主機(jī)業(yè)務(wù)的能力,當(dāng)陣列410發(fā)現(xiàn)自己失去處理業(yè)務(wù)的能力時(shí),向仲裁服務(wù)器430發(fā)送清除注冊(cè)信息A的信息。
S404,仲裁服務(wù)器430判定陣列410仲裁獲勝,并清除陣列420的注冊(cè)信息B,其中,仲裁服務(wù)器430只有在確定本地存儲(chǔ)有陣列410的注冊(cè)信息A時(shí),才會(huì)處理陣列410發(fā)送的仲裁請(qǐng)求,判定陣列仲裁勝利的方法可以是先到先得原則,即,仲裁服務(wù)器將接收到的第一個(gè)仲裁請(qǐng)求所指示的陣列確定為仲裁勝利的陣列,判定仲裁勝利的方法也可以是其它方法,本發(fā)明實(shí)施例對(duì)此不作限定。
S405,仲裁服務(wù)器430向陣列410發(fā)送仲裁勝利消息,通知陣列410仲裁獲勝。
S406,陣列410向仲裁服務(wù)器430發(fā)送預(yù)留請(qǐng)求信息,請(qǐng)求仲裁服務(wù)器430將注冊(cè)信息A修改為預(yù)留信息A,預(yù)留信息A用于表示陣列410對(duì)主機(jī)業(yè)務(wù)的接管具有獨(dú)占性,在陣列410接管主機(jī)業(yè)務(wù)期間,仲裁服務(wù)器430拒絕其它陣列的預(yù)留、注冊(cè)、仲裁請(qǐng)求等操作,將注冊(cè)信息A修改為預(yù)留信息A僅是舉例說(shuō)明,本發(fā)明實(shí)施例不限于此,可選地,陣列410可以向仲裁服務(wù)器430發(fā)送獨(dú)占請(qǐng)求信息,請(qǐng)求仲裁服務(wù)器430對(duì)注冊(cè)信息A添加標(biāo)識(shí),該標(biāo)識(shí)用于表示陣列410對(duì)主機(jī)業(yè)務(wù)的接管具有獨(dú)占性。
S407,仲裁服務(wù)器430根據(jù)陣列410發(fā)送的預(yù)留請(qǐng)求信息,將注冊(cè)信息A修改為預(yù)留信息A,仲裁服務(wù)器430可以根據(jù)預(yù)留信息A清除陣列420的注冊(cè)信息B。
S408,陣列420發(fā)現(xiàn)陣列420與陣列410之間的通信斷開(kāi)(即,腦裂)。
S409,陣列420向仲裁服務(wù)器430發(fā)送注冊(cè)請(qǐng)求信息。
S410,仲裁服務(wù)器430根據(jù)本地存儲(chǔ)的預(yù)留信息A,禁止陣列420進(jìn)行注冊(cè)。
S411,仲裁服務(wù)器430向陣列420發(fā)送拒絕注冊(cè)的消息。
S412,陣列420向仲裁服務(wù)器430發(fā)送仲裁請(qǐng)求消息,請(qǐng)求接管主機(jī)業(yè)務(wù)。
S413,仲裁服務(wù)器430根據(jù)本地沒(méi)有存儲(chǔ)陣列420的注冊(cè)信息B,判定陣列420仲裁失敗。
S414,仲裁服務(wù)器430向陣列420發(fā)送仲裁失敗消息。
S415,陣列410根據(jù)陣列410與陣列420之間的通信鏈路恢復(fù),向陣列420發(fā)起數(shù)據(jù)同步任務(wù)。
S416,陣列410根據(jù)陣列410與陣列420的數(shù)據(jù)同步完成,向仲裁服務(wù)器430發(fā)送清除消息,該清除消息用于請(qǐng)求仲裁服務(wù)器430清除陣列410的唯一接管主機(jī)業(yè)務(wù)的狀態(tài)。
S417,仲裁服務(wù)器430根據(jù)陣列410發(fā)送的清除消息,將預(yù)留信息A修改為注冊(cè)信息A。
S418,陣列420向仲裁服務(wù)器430發(fā)送注冊(cè)請(qǐng)求消息,請(qǐng)求處理主機(jī)業(yè)務(wù)。
S419,仲裁服務(wù)器430根據(jù)本地沒(méi)有存儲(chǔ)預(yù)留信息,確定陣列420可以處理主機(jī)業(yè)務(wù),并保存陣列420的注冊(cè)信息B。
S420,仲裁服務(wù)器430向陣列420發(fā)送注冊(cè)成功消息,通知陣列420可以處理主機(jī)業(yè)務(wù)。
根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法400,存儲(chǔ)設(shè)備在仲裁獲勝后向仲裁服務(wù)器發(fā)送預(yù)留請(qǐng)求信息,請(qǐng)求將該存儲(chǔ)設(shè)備確定為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,避免軟件bug、用戶誤操作、網(wǎng)絡(luò)傳輸故障、病毒入侵等問(wèn)題導(dǎo)致的不同存儲(chǔ)設(shè)備分別接管主機(jī)業(yè)務(wù),從而避免了對(duì)外提供數(shù)據(jù)不一致的情況,提高了雙活仲裁系統(tǒng)的容錯(cuò)能力、可靠性和安全性。
圖5示出了本發(fā)明另一實(shí)施例提供的設(shè)備仲裁的方法的示意性流程圖。如圖5所示,該方法500包括:
S501,陣列510發(fā)現(xiàn)陣列510與陣列520之間的通信鏈路斷開(kāi)(即,腦裂)。
S502,陣列510向仲裁設(shè)備(例如,仲裁服務(wù)器530)發(fā)起仲裁請(qǐng)求,請(qǐng)求接管主機(jī)業(yè)務(wù),并請(qǐng)求仲裁服務(wù)器330將注冊(cè)信息A修改為預(yù)留信息A,預(yù)留信息A用于表示陣列310對(duì)主機(jī)業(yè)務(wù)的接管具有獨(dú)占性,在陣列310接管主機(jī)業(yè)務(wù)期間,仲裁服務(wù)器330拒絕其它陣列的預(yù)留、注冊(cè)、仲裁請(qǐng)求等操作,將注冊(cè)信息A修改為預(yù)留信息A僅是舉例說(shuō)明,本發(fā)明實(shí)施例不限于此;
S503,仲裁服務(wù)器530確定本地是否存儲(chǔ)有陣列510的注冊(cè)信息A;
S504,仲裁服務(wù)器530判定陣列510仲裁獲勝,并清除陣列520的注冊(cè)信息B,其中,仲裁服務(wù)器530只有在確定本地存儲(chǔ)有陣列510的注冊(cè)信息A時(shí),才會(huì)處理陣列510發(fā)送的仲裁請(qǐng)求,判定陣列仲裁勝利的方法可以是先到先得原則,即,仲裁服務(wù)器將接收到的第一個(gè)仲裁請(qǐng)求所指示的陣列確定為仲裁勝利的陣列,判定仲裁勝利的方法也可以是其它方法,本發(fā)明實(shí)施例對(duì)此不作限定。
S505,仲裁服務(wù)器530根據(jù)仲裁請(qǐng)求消息將注冊(cè)信息A修改為預(yù)留信息A。
S506,仲裁服務(wù)器530向陣列510發(fā)送仲裁勝利消息,通知陣列510仲裁獲勝。
S507,陣列520發(fā)現(xiàn)陣列520與陣列510之間的通信斷開(kāi)(即,腦裂)。
S508,陣列520向仲裁服務(wù)器530發(fā)送注冊(cè)請(qǐng)求信息。
S509,仲裁服務(wù)器530根據(jù)本地存儲(chǔ)的預(yù)留信息A,禁止陣列520進(jìn)行注冊(cè)。
S510,仲裁服務(wù)器530向陣列520發(fā)送拒絕注冊(cè)的消息。
S511,陣列520向仲裁服務(wù)器530發(fā)送仲裁請(qǐng)求消息,請(qǐng)求接管主機(jī)業(yè)務(wù)。
S512,仲裁服務(wù)器530根據(jù)本地沒(méi)有存儲(chǔ)陣列520的注冊(cè)信息B,判定陣列520仲裁失敗。
S513,仲裁服務(wù)器530向陣列520發(fā)送仲裁失敗消息。
S514,陣列510根據(jù)陣列510與陣列520之間的通信鏈路恢復(fù),向陣列520發(fā)起數(shù)據(jù)同步任務(wù)。
S515,陣列510根據(jù)陣列510與陣列520的數(shù)據(jù)同步完成,向仲裁服務(wù)器530發(fā)送清除消息,該清除消息用于請(qǐng)求仲裁服務(wù)器530清除陣列510的唯一接管主機(jī)業(yè)務(wù)的狀態(tài)。
S516,仲裁服務(wù)器530根據(jù)陣列510發(fā)送的清除消息,將預(yù)留信息A修改為注冊(cè)信息A。
S517,陣列520向仲裁服務(wù)器530發(fā)送注冊(cè)請(qǐng)求消息,請(qǐng)求處理主機(jī)業(yè)務(wù)。
S518,仲裁服務(wù)器530根據(jù)本地沒(méi)有存儲(chǔ)預(yù)留信息,確定陣列520可以處理主機(jī)業(yè)務(wù),并保存陣列520的注冊(cè)信息B。
S519,仲裁服務(wù)器530向陣列520發(fā)送注冊(cè)成功消息,通知陣列520可以處理主機(jī)業(yè)務(wù)。
根據(jù)本發(fā)明實(shí)施例的設(shè)備仲裁的方法500,存儲(chǔ)設(shè)備通過(guò)向仲裁服務(wù)器發(fā)送包括預(yù)留請(qǐng)求信息的仲裁請(qǐng)求信息,請(qǐng)求將該存儲(chǔ)設(shè)備確定為唯一接管主機(jī)業(yè)務(wù)的設(shè)備,節(jié)省了信令開(kāi)銷,避免軟件bug、用戶誤操作、網(wǎng)絡(luò)傳輸故障、病毒入侵等問(wèn)題導(dǎo)致的不同存儲(chǔ)設(shè)備分別接管主機(jī)業(yè)務(wù),從而避免了對(duì)外提供數(shù)據(jù)不一致的情況,提高了雙活仲裁系統(tǒng)的容錯(cuò)能力、可靠性和安全性。
上述實(shí)施例主要從各個(gè)網(wǎng)元之間交互的角度對(duì)本發(fā)明實(shí)施例的方案進(jìn)行了介紹??梢岳斫獾氖牵鱾€(gè)網(wǎng)元,例如仲裁服務(wù)器、第一存儲(chǔ)設(shè)備為了實(shí)現(xiàn)上述功能,其包含了執(zhí)行各個(gè)功能相應(yīng)的硬件結(jié)構(gòu)和/或軟件模塊。本領(lǐng)域技術(shù)人員應(yīng)該很容易意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,本發(fā)明能夠以硬件或硬件和計(jì)算機(jī)軟件的結(jié)合形式來(lái)實(shí)現(xiàn)。某個(gè)功能究竟以硬件還是計(jì)算機(jī)軟件驅(qū)動(dòng)硬件的方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
本發(fā)明實(shí)施例可以根據(jù)上述方法示例對(duì)仲裁服務(wù)器、第一存儲(chǔ)設(shè)備進(jìn)行功能單元的劃分,例如,可以對(duì)應(yīng)各個(gè)功能劃分各個(gè)功能單元,也可以將兩個(gè)或兩個(gè)以上的功能集成在一個(gè)處理單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。需要說(shuō)明的是,本發(fā)明實(shí)施例中對(duì)單元的劃分是示意性的,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
在采用集成的單元的情況下,圖6A示出了上述實(shí)施例中所涉及的仲裁服務(wù)器的一種可能的結(jié)構(gòu)示意圖。仲裁服務(wù)器600包括:處理單元602和通信單元603。處理單元602用于對(duì)仲裁服務(wù)器600的動(dòng)作進(jìn)行控制管理,例如,處理單元602用于支持仲裁服務(wù)器600執(zhí)行圖2的S202和S206,處理單元602還可以用于支持仲裁服務(wù)器600執(zhí)行圖3的S302和S305,和/或用于本文所描述的技術(shù)的其它過(guò)程。通信單元603用于支持仲裁服務(wù)器600與其它網(wǎng)絡(luò)實(shí)體的通信,例如與圖2中示出的第一存儲(chǔ)設(shè)備之間的通信。仲裁服務(wù)器600還可以包括存儲(chǔ)單元601,用于存儲(chǔ)仲裁服務(wù)器600的程序代碼和數(shù)據(jù)。
其中,處理單元602可以是處理器或控制器,例如可以是中央處理器(Central Processing Unit,CPU),通用處理器,數(shù)字信號(hào)處理器(Digital Signal Processor,DSP),專用集成電路(Application-Specific Integrated Circuit,ASIC),現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、晶體管邏輯器件、硬件部件或者其任意組合。其可以實(shí)現(xiàn)或執(zhí)行結(jié)合本發(fā)明公開(kāi)內(nèi)容所描述的各種示例性的邏輯方框,模塊和電路。所述處理器也可以是實(shí)現(xiàn)計(jì)算功能的組合,例如包含一個(gè)或多個(gè)微處理器組合,DSP和微處理器的組合等等。通信單元603可以是通信接口、收發(fā)器、收發(fā)電路等,其中,通信接口是統(tǒng)稱,可以包括一個(gè)或多個(gè)接口。存儲(chǔ)單元601可以是存儲(chǔ)器。
當(dāng)處理單元602為處理器,通信單元603為通信接口,存儲(chǔ)單元601為存儲(chǔ)器時(shí),本發(fā)明實(shí)施例所涉及的仲裁服務(wù)器可以為圖6B所示的仲裁服務(wù)器。
參閱圖6B所示,該仲裁服務(wù)器610包括:處理器612、通信接口613、存儲(chǔ)器611??蛇x的,仲裁服務(wù)器610還可以包括總線614。其中,通信接口613、處理器612以及存儲(chǔ)器611可以通過(guò)總線614相互連接;總線614可以是外設(shè)部件互連標(biāo)準(zhǔn)(Peripheral Component Interconnect,簡(jiǎn)稱PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(Extended Industry Standard Architecture,簡(jiǎn)稱EISA)總線等。所述總線614可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖6B中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡(jiǎn)潔,上述描述的裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
因此,本發(fā)明實(shí)施例提供的仲裁服務(wù)器,根據(jù)第一存儲(chǔ)設(shè)備在仲裁獲勝后發(fā)送的預(yù)留請(qǐng)求信息,或者根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的包括預(yù)留指示信息的仲裁請(qǐng)求消息,可以將第一存儲(chǔ)設(shè)備的注冊(cè)信息修改為預(yù)留信息,從而可以避免第二存儲(chǔ)設(shè)備再次注冊(cè)成功并接管主機(jī)業(yè)務(wù),此外,該預(yù)留信息只能根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的預(yù)留清除消息刪除,提高了仲裁系統(tǒng)的安全性。
在采用集成的單元的情況下,圖7A示出了上述實(shí)施例中所涉及的第一存儲(chǔ)設(shè)備的一種可能的結(jié)構(gòu)示意圖。第一存儲(chǔ)設(shè)備700包括:處理單元702和通信單元703。處理單元702用于對(duì)第一存儲(chǔ)設(shè)備700的動(dòng)作進(jìn)行控制管理,例如,處理單元702用于通過(guò)通信單元703支持第一存儲(chǔ)設(shè)備700執(zhí)行圖2的S201和S204,處理單元702還可以用于支持第一存儲(chǔ)設(shè)備700執(zhí)行圖3的S301,和/或用于本文所描述的技術(shù)的其它過(guò)程。通信單元703用于支持第一存儲(chǔ)設(shè)備700與其它網(wǎng)絡(luò)實(shí)體的通信,例如與圖2或圖3中示出的仲裁服務(wù)器之間的通信。第一存儲(chǔ)設(shè)備700還可以包括存儲(chǔ)單元701,用于存儲(chǔ)第一存儲(chǔ)設(shè)備700的程序代碼和數(shù)據(jù)。
其中,處理單元702可以是處理器或控制器,例如可以是中央處理器(Central Processing Unit,CPU),通用處理器,數(shù)字信號(hào)處理器(Digital Signal Processor,DSP),專用集成電路(Application-Specific Integrated Circuit,ASIC),現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、晶體管邏輯器件、硬件部件或者其任意組合。其可以實(shí)現(xiàn)或執(zhí)行結(jié)合本發(fā)明公開(kāi)內(nèi)容所描述的各種示例性的邏輯方框,模塊和電路。所述處理器也可以是實(shí)現(xiàn)計(jì)算功能的組合,例如包含一個(gè)或多個(gè)微處理器組合,DSP和微處理器的組合等等。通信單元703可以是通信接口、收發(fā)器、收發(fā)電路等,其中,通信接口是統(tǒng)稱,可以包括一個(gè)或多個(gè)接口。存儲(chǔ)單元701可以是存儲(chǔ)器。
當(dāng)處理單元702為處理器,通信單元703為通信接口,存儲(chǔ)單元701為存儲(chǔ)器時(shí),本發(fā)明實(shí)施例所涉及的第一存儲(chǔ)設(shè)備可以為圖7B所示的第一存儲(chǔ)設(shè)備。
參閱圖7B所示,該第一存儲(chǔ)設(shè)備710包括:處理器712、通信接口713、存儲(chǔ)器711。可選的,第一存儲(chǔ)設(shè)備710還可以包括總線714。其中,通信接口713、處理器712以及存儲(chǔ)器711可以通過(guò)總線714相互連接;總線714可以是外設(shè)部件互連標(biāo)準(zhǔn)(Peripheral Component Interconnect,簡(jiǎn)稱PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(Extended Industry Standard Architecture,簡(jiǎn)稱EISA)總線等。所述總線714可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖7B中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡(jiǎn)潔,上述描述的裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
因此,本發(fā)明實(shí)施例提供的第一存儲(chǔ)設(shè)備,通過(guò)在仲裁獲勝后向仲裁服務(wù)器發(fā)送預(yù)留請(qǐng)求消息,該預(yù)留請(qǐng)求消息用于請(qǐng)求仲裁服務(wù)器拒絕第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè),或者直接向仲裁服務(wù)器發(fā)送包括預(yù)留指示信息的仲裁請(qǐng)求消息,請(qǐng)求接管主機(jī)業(yè)務(wù)并請(qǐng)求拒絕第二存儲(chǔ)設(shè)備進(jìn)行注冊(cè),從而可以避免第二存儲(chǔ)設(shè)備再次注冊(cè)成功并接管主機(jī)業(yè)務(wù),此外,該預(yù)留信息只能根據(jù)第一存儲(chǔ)設(shè)備發(fā)送的預(yù)留清除消息刪除,提高了仲裁系統(tǒng)的安全性。
在本發(fā)明實(shí)施例中,各過(guò)程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過(guò)程構(gòu)成任何限定。
另外,本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
結(jié)合本發(fā)明實(shí)施例公開(kāi)內(nèi)容所描述的方法或者算法的步驟可以硬件的方式來(lái)實(shí)現(xiàn),也可以是由處理器執(zhí)行軟件指令的方式來(lái)實(shí)現(xiàn)。軟件指令可以由相應(yīng)的軟件模塊組成,軟件模塊可以被存放于隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、閃存、只讀存儲(chǔ)器(Read Only Memory,ROM)、可擦除可編程只讀存儲(chǔ)器(Erasable Programmable ROM,EPROM)、電可擦可編程只讀存儲(chǔ)器(Electrically EPROM,EEPROM)、寄存器、硬盤(pán)、移動(dòng)硬盤(pán)、只讀光盤(pán)(CD-ROM)或者本領(lǐng)域熟知的任何其它形式的存儲(chǔ)介質(zhì)中。一種示例性的存儲(chǔ)介質(zhì)耦合至處理器,從而使處理器能夠從該存儲(chǔ)介質(zhì)讀取信息,且可向該存儲(chǔ)介質(zhì)寫(xiě)入信息。當(dāng)然,存儲(chǔ)介質(zhì)也可以是處理器的組成部分。處理器和存儲(chǔ)介質(zhì)可以位于ASIC中。另外,該ASIC可以位于仲裁服務(wù)器或第一存儲(chǔ)設(shè)備中。當(dāng)然,處理器和存儲(chǔ)介質(zhì)也可以作為分立組件存在于仲裁服務(wù)器或第一存儲(chǔ)設(shè)備中。
本領(lǐng)域技術(shù)人員應(yīng)該可以意識(shí)到,在上述一個(gè)或多個(gè)示例中,本發(fā)明所描述的功能可以用硬件、軟件、固件或它們的任意組合來(lái)實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將這些功能存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中或者作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是通用或?qū)S糜?jì)算機(jī)能夠存取的任何可用介質(zhì)。
以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的技術(shù)方案的基礎(chǔ)之上,所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包括在本發(fā)明的保護(hù)范圍之內(nèi)。