亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法與流程

文檔序號(hào):12694411閱讀:318來(lái)源:國(guó)知局
一種基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法與流程
本發(fā)明涉及一種基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法,屬于通信
技術(shù)領(lǐng)域
。
背景技術(shù)
:群組系統(tǒng)是由若干臺(tái)主機(jī)組成的系統(tǒng)。群組系統(tǒng)對(duì)外提供文件存儲(chǔ)、計(jì)算等能力,例如由多臺(tái)主機(jī)組成的HSS等。在由多臺(tái)主機(jī)聯(lián)合組成的群組系統(tǒng)中,需要選擇出管理節(jié)點(diǎn)和主用節(jié)點(diǎn)。例如在一個(gè)典型的存在多臺(tái)冗余主機(jī)的系統(tǒng)中,需要能選擇出主用的主機(jī)節(jié)點(diǎn)。當(dāng)設(shè)置群組向外部提供服務(wù)時(shí),由于群組中各主機(jī)所能提供的服務(wù)有區(qū)別,比如吞吐量有大小之分。這時(shí)需要在群組中區(qū)分出主控主機(jī),以便對(duì)整個(gè)群組進(jìn)行管理:也存在這樣的場(chǎng)景:一個(gè)群組中只有主控主機(jī)對(duì)外提供服務(wù),而其余主機(jī)都是作為備份。典型場(chǎng)景是雙機(jī)主備,這種場(chǎng)景下,僅有主用主機(jī)對(duì)外提供服務(wù),而備用主機(jī)只作為備份。當(dāng)主用主機(jī)故障時(shí),備用主機(jī)才作為主用機(jī)對(duì)外提供服務(wù)。選擇出的主用主機(jī),也可稱為群組leader。其余的為備用主機(jī),也可稱為群組Slave。對(duì)這種場(chǎng)景,現(xiàn)有技術(shù)通常是根據(jù)IP地址做選舉方法,群組中IP地址最小的主機(jī)自舉為主控主機(jī);當(dāng)群組中有主控主機(jī)時(shí),其余主機(jī)則自舉為普通主機(jī)。但目前所用的主機(jī)節(jié)點(diǎn)選擇方法中沒(méi)有考慮主機(jī)的故障態(tài)和主機(jī)服務(wù)能力優(yōu)先級(jí)。所以本設(shè)計(jì)要解決的問(wèn)題是選擇主用節(jié)點(diǎn)的時(shí)候,能根據(jù)主機(jī)的狀態(tài)及主機(jī)優(yōu)先級(jí)動(dòng)態(tài)進(jìn)行選擇?,F(xiàn)有技術(shù)能選舉出群組的主控主機(jī),但無(wú)法區(qū)分出群組中各主機(jī)的狀態(tài),也無(wú)法根據(jù)主機(jī)能提供服務(wù)的能力進(jìn)行動(dòng)態(tài)選舉。這樣就會(huì)出現(xiàn)能提供更好服務(wù) 的主機(jī)長(zhǎng)時(shí)間不能作為主控主機(jī)對(duì),影響整個(gè)群組的對(duì)外提供服務(wù)能力和服務(wù)質(zhì)量。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問(wèn)題是:如何根據(jù)主機(jī)的狀態(tài)實(shí)時(shí)選擇主用主機(jī)。為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明提供了一種基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法,應(yīng)用于包括多個(gè)主機(jī)的群組系統(tǒng)中,所述方法包括:主機(jī)向群組系統(tǒng)內(nèi)的其他主機(jī)發(fā)送競(jìng)爭(zhēng)消息進(jìn)入競(jìng)爭(zhēng)狀態(tài);主機(jī)根據(jù)競(jìng)爭(zhēng)消息實(shí)時(shí)判斷并確定當(dāng)前的競(jìng)爭(zhēng)狀態(tài)并發(fā)送相應(yīng)的競(jìng)爭(zhēng)消息??蛇x地,所述確定當(dāng)前的競(jìng)爭(zhēng)狀態(tài)并發(fā)送相應(yīng)的競(jìng)爭(zhēng)消息包括:如果競(jìng)爭(zhēng)勝利主機(jī)進(jìn)入主用態(tài),則發(fā)送主用態(tài)競(jìng)爭(zhēng)消息;如果競(jìng)爭(zhēng)失敗主機(jī)進(jìn)入備用態(tài),則發(fā)送備用態(tài)競(jìng)爭(zhēng)消息;如果競(jìng)爭(zhēng)主機(jī)進(jìn)入故障態(tài),則發(fā)送故障競(jìng)爭(zhēng)消息。可選地,還包括:備用態(tài)主機(jī)收到主用態(tài)主機(jī)的故障信息或預(yù)定時(shí)間未收到主用態(tài)主機(jī)的主用態(tài)信息,則進(jìn)入競(jìng)爭(zhēng)狀態(tài)??蛇x地,還包括:實(shí)時(shí)判斷接收到的競(jìng)爭(zhēng)消息優(yōu)先級(jí)的步驟;主用態(tài)主機(jī)收到優(yōu)先級(jí)比自身優(yōu)先級(jí)高的競(jìng)爭(zhēng)消息,則將自己置為備用態(tài)主機(jī),并則發(fā)送備用態(tài)競(jìng)爭(zhēng)消息。可選地,所述競(jìng)爭(zhēng)消息包括主機(jī)優(yōu)先級(jí)、主機(jī)地址、主機(jī)狀態(tài)、心跳計(jì)數(shù)器、消息類(lèi)別中的任意一種或多種??蛇x地,所述主機(jī)狀態(tài)包括無(wú)效態(tài)、競(jìng)爭(zhēng)階段、升主階段、主用態(tài)、備用態(tài)、故障態(tài)之一。可選地,所述消息類(lèi)別包括競(jìng)爭(zhēng)消息、升主通告、主用態(tài)消息、 備用態(tài)消息、故障態(tài)消息之一??蛇x地,所述主機(jī)中存儲(chǔ)有鄰主機(jī)列表;所述鄰主機(jī)列表的每個(gè)表項(xiàng)保存鄰主機(jī)的優(yōu)先級(jí),主機(jī)地址,主機(jī)所處狀態(tài),以及距最近一次收到該鄰主機(jī)的消息的周期數(shù)??蛇x地,所述鄰主機(jī)列表的每個(gè)表項(xiàng)是按以下方式更新的:當(dāng)主機(jī)收到其它主機(jī)發(fā)來(lái)的消息,則根據(jù)其它主機(jī)的消息中攜帶的優(yōu)先級(jí)尋找到其它主機(jī)列表中相應(yīng)的表項(xiàng)本發(fā)明提供的基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法,根據(jù)優(yōu)先級(jí)動(dòng)態(tài)地選擇出群組內(nèi)的主控或主用主機(jī),以提高群組對(duì)外提供的服務(wù)的質(zhì)量,以及提高群組內(nèi)主機(jī)的管理能力。附圖說(shuō)明圖1是本發(fā)明實(shí)圖狀態(tài)切換示意圖;圖2是本發(fā)明主機(jī)動(dòng)態(tài)選擇方法流程示意圖;圖3是本發(fā)明主機(jī)主用態(tài)與備用態(tài)競(jìng)爭(zhēng)流程示意圖;圖4是本發(fā)明主機(jī)主用態(tài)向備用態(tài)切換流程示意圖;圖5是本發(fā)明主機(jī)備用態(tài)向主用態(tài)切換流程示意圖。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不限制本發(fā)明的范圍。如圖1所示,本發(fā)明提供一種基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法,應(yīng)用于包括兩個(gè)以上主機(jī)的群組系統(tǒng)中,所述方法包括:主機(jī)向群組系統(tǒng)內(nèi)的其他主機(jī)發(fā)送競(jìng)爭(zhēng)消息進(jìn)入競(jìng)爭(zhēng)狀態(tài);主機(jī)根據(jù)競(jìng)爭(zhēng)消息實(shí)時(shí)判斷并確定當(dāng)前的競(jìng)爭(zhēng)狀態(tài)并發(fā)送相應(yīng)的競(jìng)爭(zhēng)消息。下面對(duì)本發(fā)明和提供的基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法展開(kāi)詳細(xì)的說(shuō)明。如圖1所示,在群組系統(tǒng)的主機(jī)啟動(dòng)后,所有主機(jī)都進(jìn)入初始態(tài),所有主機(jī)在初始態(tài)進(jìn)行主備競(jìng)爭(zhēng)。所有主機(jī)競(jìng)爭(zhēng)時(shí)向群組系統(tǒng)內(nèi)的其 它主機(jī)發(fā)送競(jìng)爭(zhēng)消息。在本發(fā)明中,如表1所示所述競(jìng)爭(zhēng)消息包括主機(jī)優(yōu)先級(jí)、主機(jī)地址、主機(jī)狀態(tài)、心跳計(jì)數(shù)器、消息類(lèi)別中的一種或多種。其中,主機(jī)優(yōu)先級(jí)表示當(dāng)前主機(jī)的在群組中的優(yōu)先級(jí),表示主機(jī)提供服務(wù)的能力優(yōu)先性。優(yōu)先級(jí)以正整數(shù)表示,數(shù)值越小,則優(yōu)先級(jí)越高。主機(jī)地址表示主機(jī)的地址,一般為Ip地址。如表2所示,主機(jī)狀態(tài)表示區(qū)分主機(jī)所處狀態(tài)(例如:無(wú)效態(tài)、競(jìng)爭(zhēng)階段、升主階段、主用狀態(tài)、備用狀態(tài)、故障態(tài))。心跳計(jì)數(shù)器用來(lái)統(tǒng)計(jì)沒(méi)有收到某鄰主機(jī)消息的周期數(shù)。若在一個(gè)通信周期內(nèi)未收到該主機(jī)的消息,則將心跳計(jì)數(shù)器增1。如果心跳計(jì)數(shù)器的值大于常數(shù)N,則認(rèn)為與該主機(jī)失去聯(lián)系。通常情況下,常數(shù)N為3。如表3所示,消息類(lèi)別包括競(jìng)爭(zhēng)消息、升主通告、主用態(tài)消息、備用態(tài)消息、故障態(tài)消息之一。表1表示競(jìng)爭(zhēng)消息內(nèi)容主機(jī)優(yōu)先級(jí)主機(jī)地址主機(jī)狀態(tài)消息類(lèi)別心跳計(jì)數(shù)器表2表示主機(jī)狀態(tài)主機(jī)狀態(tài)0無(wú)效態(tài)主機(jī)狀態(tài)1競(jìng)爭(zhēng)階段主機(jī)狀態(tài)2升主階段主機(jī)狀態(tài)3主用態(tài)主機(jī)狀態(tài)4備用態(tài)主機(jī)狀態(tài)5故障態(tài)表3表示消息類(lèi)別消息類(lèi)別1競(jìng)爭(zhēng)消息消息類(lèi)別2升主通告消息類(lèi)別3主用態(tài)消息消息類(lèi)別4備用態(tài)消息消息類(lèi)別5故障態(tài)消息在本發(fā)明中,所有主機(jī)都對(duì)對(duì)群組中其他主機(jī)維護(hù)一個(gè)鄰主機(jī)列 表。該鄰主機(jī)列表以優(yōu)先級(jí)為主索引,每個(gè)表項(xiàng)保存鄰主機(jī)的優(yōu)先級(jí),主機(jī)地址,主機(jī)所處狀態(tài),以及距最近一次收到該鄰主機(jī)的消息的周期數(shù)。主機(jī)初始化時(shí),該鄰主機(jī)列表內(nèi)容都為空,并啟動(dòng)定時(shí)器,設(shè)置定時(shí)器超時(shí)時(shí)間為1個(gè)通信周期。當(dāng)主機(jī)收到其它主機(jī)發(fā)來(lái)的消息,則根據(jù)其它主機(jī)的消息中攜帶的優(yōu)先級(jí)尋找到其它主機(jī)列表中相應(yīng)的表項(xiàng),如果該表項(xiàng)主機(jī)地址不為空,則認(rèn)為該消息是主機(jī)狀態(tài)更新消息,那么就更新該其它主機(jī)的主機(jī)狀態(tài),并更新該其它主機(jī)的心跳計(jì)數(shù)器為0;如果該表項(xiàng)主機(jī)地址為空,則認(rèn)為是第一次收到該主機(jī)的消息,則增加該表項(xiàng)的主機(jī)地址,主機(jī)狀態(tài),并記錄該鄰主機(jī)的心跳計(jì)數(shù)器為0。定時(shí)器到期,將會(huì)給鄰主機(jī)列表中所有表項(xiàng)的心跳計(jì)數(shù)器加1。如圖2、圖3所示,下面對(duì)主機(jī)競(jìng)爭(zhēng)的步驟詳細(xì)說(shuō)明。S1:主機(jī)開(kāi)機(jī)或者故障恢復(fù),進(jìn)入初始競(jìng)爭(zhēng)態(tài)。S2:主機(jī)發(fā)送消息類(lèi)別為競(jìng)爭(zhēng)消息的競(jìng)爭(zhēng)消息,該競(jìng)爭(zhēng)消息中攜帶了本機(jī)優(yōu)先級(jí),處于競(jìng)爭(zhēng)狀態(tài)的主機(jī)狀態(tài)。并監(jiān)聽(tīng)群組內(nèi)其他主機(jī)的所發(fā)送的消息。該步驟循環(huán)3次,持續(xù)3個(gè)通信周期進(jìn)入S3。本發(fā)明通過(guò)等待3個(gè)周期,確保收到其他各個(gè)主機(jī)的真實(shí)狀態(tài),以判斷本機(jī)下一步應(yīng)該進(jìn)入的狀態(tài)。是在競(jìng)爭(zhēng)時(shí)間的前提下,保證了主機(jī)競(jìng)爭(zhēng)真實(shí)狀態(tài)的準(zhǔn)確性。S3:3個(gè)通信周期結(jié)束后,掃描接收到其他主機(jī)發(fā)送的消息中列表所有表項(xiàng),判斷是否存在主機(jī)狀態(tài)為主用態(tài)的主機(jī)。如有則轉(zhuǎn)S4,否則轉(zhuǎn)S6;S4:判斷主機(jī)狀態(tài)為主用態(tài)主機(jī)的優(yōu)先級(jí)是否比本機(jī)優(yōu)先級(jí)更高,如果是,則轉(zhuǎn)S2,否則轉(zhuǎn)S5;S5:將本機(jī)狀態(tài)置為備用態(tài),并開(kāi)始周期性廣播備用態(tài)消息,消息類(lèi)別為備用態(tài)消息,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為備用態(tài)的主機(jī)狀態(tài),并退出。S6:對(duì)鄰主機(jī)列表中狀態(tài)為非無(wú)效態(tài)且非故障態(tài)的主機(jī)進(jìn)行掃描,判斷主機(jī)自身優(yōu)先級(jí)是否比所有有效且非故障態(tài)的主機(jī)的優(yōu)先級(jí)都高,如果不是,則轉(zhuǎn)第S7,否則轉(zhuǎn)第S8;S7:將本機(jī)狀態(tài)置為備用態(tài),并開(kāi)始周期性廣播備用態(tài)消息,消息類(lèi)別為備用態(tài)消息,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為備用態(tài)的主機(jī)狀態(tài),并退出。S8:主機(jī)開(kāi)始準(zhǔn)備將本機(jī)置為主用態(tài),發(fā)送消息類(lèi)別為2的升主通告消息,消息類(lèi)別為升主通告,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為升主階段的主機(jī)狀態(tài)。并監(jiān)聽(tīng)其他主機(jī)發(fā)送的消息。該步循環(huán)3次。S9:在第S8步中未監(jiān)聽(tīng)到主機(jī)優(yōu)先級(jí)比自身更高的主機(jī)發(fā)出的競(jìng)爭(zhēng)消息或升主通告,則轉(zhuǎn)S10步,否則轉(zhuǎn)S11步。S10:將本機(jī)狀態(tài)置為主用態(tài),并開(kāi)始周期性廣播主用態(tài)消息,消息類(lèi)別為主用態(tài)消息,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為主用態(tài)的主機(jī)狀態(tài),并退出。S11:將本機(jī)狀態(tài)置為備用態(tài),并開(kāi)始周期性廣播備用態(tài)消息,消息類(lèi)別為備用態(tài)消息,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為備用態(tài)的主機(jī)狀態(tài),并退出。主機(jī)競(jìng)爭(zhēng)結(jié)束后,如果當(dāng)前主機(jī)為主用主機(jī)則廣播主用主用態(tài)消息,聲明自己是主用主機(jī);如果初始態(tài)競(jìng)爭(zhēng)失敗,則當(dāng)前主機(jī)為備用主機(jī),廣播備用態(tài)消息,聲明自己是備用主機(jī);如果當(dāng)前主機(jī)為故障態(tài),則廣播故障態(tài)消息,聲明自己為故障主機(jī)。如果當(dāng)前主機(jī)為關(guān)機(jī),則主機(jī)下電關(guān)機(jī),停發(fā)任何消息。備用態(tài)主機(jī)收到主用態(tài)主機(jī)的故障信息或預(yù)定時(shí)間未收到主用態(tài)主機(jī)的主用態(tài)信息,則進(jìn)入競(jìng)爭(zhēng)狀態(tài)。備用態(tài)收到主用主機(jī)的故障通告或長(zhǎng)時(shí)間未收到主用主機(jī)的主用態(tài)消息后進(jìn)入初始態(tài),進(jìn)行主備競(jìng)爭(zhēng);故障態(tài)主機(jī)故障恢復(fù)后,停止廣播故障消息,進(jìn)入初始態(tài),進(jìn) 行主備競(jìng)爭(zhēng);備用態(tài)主機(jī)故障,進(jìn)入故障態(tài),廣播故障消息;初始態(tài)主機(jī)發(fā)生故障,進(jìn)入故障態(tài),廣播故障消息。主用主用態(tài)主機(jī)收到優(yōu)先級(jí)比自身優(yōu)先級(jí)高的競(jìng)爭(zhēng)消息,則將自己置為備用態(tài),并廣播備用態(tài)消息。在本發(fā)明中,主用態(tài)主機(jī)和備用態(tài)主機(jī)實(shí)時(shí)判斷接收到的競(jìng)爭(zhēng)消息優(yōu)先級(jí),并根據(jù)收到的競(jìng)爭(zhēng)消息進(jìn)行主機(jī)狀態(tài)的維護(hù)。主機(jī)狀態(tài)維護(hù)方法分四個(gè)分方法,分別描述由主用主用態(tài)轉(zhuǎn)備用態(tài)的方法、由備用態(tài)轉(zhuǎn)主用態(tài)的方法和由非故障態(tài)轉(zhuǎn)故障態(tài)的方法、以及故障態(tài)恢復(fù)的方法。下面對(duì)各種不同主機(jī)狀態(tài)維護(hù)方法展開(kāi)詳細(xì)說(shuō)明。如圖2、圖4所示,主機(jī)自身為主用態(tài)時(shí),收到競(jìng)爭(zhēng)消息或升主通告,則進(jìn)入主機(jī)主用態(tài)轉(zhuǎn)備用態(tài),具體方法如下:a)判斷競(jìng)爭(zhēng)消息或升主通告所攜帶的優(yōu)先級(jí)是否比主機(jī)自身優(yōu)先級(jí)高,若是,轉(zhuǎn)b),否則轉(zhuǎn)c)。b)將本機(jī)狀態(tài)置為備用態(tài),并開(kāi)始周期性廣播備用態(tài)消息,消息類(lèi)別為4,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為備用態(tài)的主機(jī)狀態(tài),并退出方法。c)維持主機(jī)主用態(tài),繼續(xù)廣播主機(jī)主用態(tài)消息。如圖5所示,主機(jī)備用態(tài)轉(zhuǎn)主用態(tài)的方法如下:當(dāng)主機(jī)處于備用態(tài),且收到消息類(lèi)別為5的故障態(tài)消息時(shí)啟動(dòng)。d)判斷發(fā)出該消息的主機(jī)在本機(jī)的鄰主機(jī)列表中是否為標(biāo)記為主機(jī)主用態(tài),若不是,則轉(zhuǎn)e),否則轉(zhuǎn)f)。e)維持主機(jī)備用態(tài),繼續(xù)廣播備用態(tài)消息。f)判斷在鄰主機(jī)列表中是否存在優(yōu)先級(jí)比本機(jī)自身優(yōu)先級(jí)高,且不是處于故障態(tài)的主機(jī),如果存在,則轉(zhuǎn)g),否則轉(zhuǎn)h)。g)維持主機(jī)備用態(tài),繼續(xù)廣播備用態(tài)消息。h)主機(jī)開(kāi)始準(zhǔn)備將本機(jī)進(jìn)入升主狀態(tài),發(fā)送消息類(lèi)別為2的升主通告消息,消息類(lèi)別為2,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè) 置為升主階段的主機(jī)狀態(tài)。并監(jiān)聽(tīng)其他主機(jī)發(fā)送的消息。該步循環(huán)3次。i)在第h)步中未監(jiān)聽(tīng)到主機(jī)優(yōu)先級(jí)比自身更高的主機(jī)發(fā)出的競(jìng)爭(zhēng)消息或升主通告,則轉(zhuǎn)第j)步,否則轉(zhuǎn)第k)步。j)將本機(jī)狀態(tài)置為主機(jī)主用態(tài),并開(kāi)始周期性廣播主用主用態(tài)消息,消息類(lèi)別為3,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為主用態(tài)的主機(jī)狀態(tài),退出競(jìng)爭(zhēng)方法,同時(shí)啟動(dòng)數(shù)據(jù)庫(kù)鏈接進(jìn)程,嘗試對(duì)業(yè)務(wù)數(shù)據(jù)文件所在公共磁盤(pán)陣列進(jìn)行掛載,掛載成功后,開(kāi)始對(duì)數(shù)據(jù)、文件進(jìn)行計(jì)算和存儲(chǔ)。k)將本機(jī)狀態(tài)置為備用態(tài),并開(kāi)始周期性廣播備用態(tài)消息,消息類(lèi)別為4,攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為備用態(tài)的主機(jī)狀態(tài),并退出競(jìng)爭(zhēng)方法。當(dāng)主機(jī)處于備用態(tài),如果心跳計(jì)數(shù)器超過(guò)規(guī)定值,即在指定通信周期數(shù)后,僅未收到主用主機(jī)的消息,則認(rèn)為主用主機(jī)異常,該主機(jī)進(jìn)入主備競(jìng)爭(zhēng)狀態(tài),轉(zhuǎn)步驟f)。當(dāng)主機(jī)處于備用態(tài),如果心跳計(jì)數(shù)器超過(guò)規(guī)定值,即在指定通信周期數(shù)后,沒(méi)有收到所有鄰主機(jī)的消息,且群組只有二臺(tái)主機(jī)互為主備,則認(rèn)為主用主機(jī)異常,該主機(jī)進(jìn)入主備競(jìng)爭(zhēng)狀態(tài),轉(zhuǎn)步驟h)。當(dāng)主機(jī)處于備用態(tài),如果心跳計(jì)數(shù)器超過(guò)規(guī)定值,即在指定通信周期數(shù)后,沒(méi)有收到所有鄰主機(jī)的消息,群組中有多臺(tái)主機(jī),則認(rèn)為自身處于與群組失去聯(lián)系,自身進(jìn)行后續(xù)恢復(fù)流程。如圖2所示,非故障態(tài)轉(zhuǎn)故障態(tài)的方法如下:當(dāng)主機(jī)檢測(cè)到自身已經(jīng)處于故障態(tài)時(shí),則將本機(jī)狀態(tài)置為故障態(tài),并廣播消息類(lèi)別為5的故障態(tài)消息;當(dāng)主機(jī)檢測(cè)到自身即將處于故障態(tài)時(shí),例如通過(guò)操作維護(hù)對(duì)主機(jī)發(fā)起關(guān)機(jī)操作,關(guān)機(jī)前發(fā)送廣播消息類(lèi)型為5的故障態(tài)消息。故障態(tài)消息攜帶主機(jī)地址,主機(jī)優(yōu)先級(jí),以及設(shè)置為故障態(tài)的主機(jī)狀態(tài)。若主機(jī)出現(xiàn)故障,則主機(jī)應(yīng)該停掉數(shù)據(jù)庫(kù)鏈接進(jìn)程,卸載業(yè) 務(wù)數(shù)據(jù)和文件所在磁盤(pán)陣列,清除主機(jī)內(nèi)緩沖區(qū)數(shù)據(jù),例如,將已處理的數(shù)據(jù)存在文件保存至磁盤(pán)陣列,正在處理的數(shù)據(jù)在數(shù)據(jù)庫(kù)中置未處理標(biāo)記,由接管的下一個(gè)主用態(tài)主機(jī)進(jìn)行處理。如圖2所示,故障態(tài)恢復(fù)的方法如下:當(dāng)主機(jī)處于故障態(tài)時(shí),檢測(cè)到故障已經(jīng)恢復(fù),則停止廣播故障態(tài)消息,并進(jìn)入主備競(jìng)爭(zhēng)方法。綜上所述,本發(fā)明提供的基于主機(jī)狀態(tài)和優(yōu)先級(jí)的主用主機(jī)動(dòng)態(tài)選擇方法,根據(jù)優(yōu)先級(jí)動(dòng)態(tài)地選擇出群組內(nèi)的主控或主用主機(jī),以提高群組對(duì)外提供的服務(wù)的質(zhì)量,以及提高群組內(nèi)主機(jī)的管理能力。本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù) 據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。以上實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)
技術(shù)領(lǐng)域
的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1