一種服務(wù)器集群的組建方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于服務(wù)器集群領(lǐng)域,尤其涉及一種服務(wù)器集群的組建方法和裝置。
【背景技術(shù)】
[0002]服務(wù)器集群,是指將多個服務(wù)器節(jié)點(diǎn)集中起來一起,提供同一種服務(wù)。服務(wù)器集群可利用多個服務(wù)器節(jié)點(diǎn)進(jìn)行并行計算,獲得很高的計算速度;也可用其中的一個或多個服務(wù)器節(jié)點(diǎn)做備份,保證服務(wù)器集群不掉線、安全、穩(wěn)定、可靠地提供服務(wù)。
[0003]現(xiàn)有技術(shù)搭建服務(wù)器集群,通?;赥CP/IP協(xié)議的用戶數(shù)據(jù)報協(xié)議(UserDatagram Protocol,UDP)或傳輸控制協(xié)議(Transmiss1n Control Protocol,TCP)實(shí)現(xiàn)。以TCP協(xié)議實(shí)現(xiàn)為例,當(dāng)新服務(wù)器節(jié)點(diǎn)請求加入某個服務(wù)器集群時,采用TCP協(xié)議以單播方式向同個集群的其它服務(wù)器節(jié)點(diǎn)發(fā)送加入該服務(wù)器集群的請求,數(shù)據(jù)包能準(zhǔn)確到達(dá)對方,但耗費(fèi)流量多些。而UDP協(xié)議實(shí)現(xiàn),采用IP多播技術(shù)(IP Multicast)向同個集群的其它服務(wù)器節(jié)點(diǎn)廣播加入該服務(wù)器集群的請求,可以節(jié)省流量,適合于局域網(wǎng)內(nèi)組建服務(wù)器集群。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種服務(wù)器集群的組建方法和裝置,以提供一種加入服務(wù)器集群的方式。
[0005]第一方面,本發(fā)明提供一種服務(wù)器集群的組建方法,所述服務(wù)器集群的組建方法包括:
[0006]在通道層建立一個通道,通過所述通道發(fā)出加入指定集群的加入事件;
[0007]在監(jiān)聽到所述加入事件時,生成查找所述指定集群的組員的查找事件;
[0008]向多個服務(wù)器節(jié)點(diǎn)廣播所述查找事件;
[0009]在每監(jiān)聽到一個反饋事件時解析所述反饋事件,并解析出所述反饋事件指定的物理地址和組員標(biāo)簽,所述反饋事件由所述服務(wù)器節(jié)點(diǎn)向本服務(wù)器節(jié)點(diǎn)反饋;
[0010]檢測所述組員標(biāo)簽,如果從所述組員標(biāo)簽中檢測到組長標(biāo)識,則根據(jù)物理地址向具有所述組長標(biāo)識的服務(wù)器節(jié)點(diǎn)申請加入所述指定集群。
[0011]第二方面,本發(fā)明提供一種服務(wù)器集群的組建裝置,所述服務(wù)器集群的組建裝置包括:
[0012]通道單元,設(shè)于通道層,用于建立一個通道,通過所述通道發(fā)出加入指定集群的加入事件;
[0013]生成單元,用于在監(jiān)聽到所述加入事件時,生成查找所述指定集群的組員的查找事件;
[0014]廣播單元,用于向多個服務(wù)器節(jié)點(diǎn)廣播所述查找事件;
[0015]解析單元,用于在每監(jiān)聽到一個反饋事件時解析所述反饋事件,并解析出所述反饋事件指定的物理地址和組員標(biāo)簽,所述反饋事件由所述服務(wù)器節(jié)點(diǎn)向本服務(wù)器節(jié)點(diǎn)反饋;
[0016]檢測單元,設(shè)于群組服務(wù)層,用于檢測所述組員標(biāo)簽;
[0017]申請單元,用于如果所述檢測單元從所述組員標(biāo)簽中檢測到組長標(biāo)識,則根據(jù)物理地址向具有所述組長標(biāo)識的服務(wù)器節(jié)點(diǎn)申請加入所述指定集群。
[0018]本發(fā)明的有益效果:當(dāng)希望加入指定集群時建立一個通道,通過該通道發(fā)出加入所述指定集群的加入事件,進(jìn)而群組服務(wù)層在監(jiān)聽到所述加入事件時生成查找事件,廣播所述查找事件;繼而根據(jù)接收的反饋事件分析其中的組員標(biāo)簽,查找是否存在組長標(biāo)識,如存在,向具有所述組長標(biāo)識的服務(wù)器節(jié)點(diǎn)申請加入所述指定集群。
【附圖說明】
[0019]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0020]圖1是本發(fā)明實(shí)施例提供的服務(wù)器集群的組建方法的工作流程圖;
[0021]圖2是本發(fā)明實(shí)施例提供的服務(wù)器集群的組建方法的一種優(yōu)化工作流程圖;
[0022]圖3是本發(fā)明實(shí)施例提供的服務(wù)器集群的組建方法的又一種優(yōu)化工作流程圖;
[0023]圖4是本發(fā)明實(shí)施例提供的服務(wù)器集群的組建裝置的組成結(jié)構(gòu);
[0024]圖5是本發(fā)明實(shí)施例提供的服務(wù)器集群的組建裝置的一種優(yōu)化組成結(jié)構(gòu);
[0025]圖6是本發(fā)明實(shí)施例提供的服務(wù)器集群的組建裝置的又一種優(yōu)化組成結(jié)構(gòu);
[0026]圖7是本發(fā)明實(shí)施例提供的服務(wù)器集群的組建裝置的又一種優(yōu)化組成結(jié)構(gòu)。
【具體實(shí)施方式】
[0027]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。
[0028]在本發(fā)明實(shí)施例中,每個服務(wù)器節(jié)點(diǎn)都可以分別多個服務(wù)器集群的組員。需說明的是,對于每個服務(wù)器集群,會從該服務(wù)器集群中的所有組員中確定一個組長。對于服務(wù)器集群中的某個服務(wù)器節(jié)點(diǎn),如果該服務(wù)器節(jié)點(diǎn)為組長,則在該服務(wù)器節(jié)點(diǎn)的組員標(biāo)簽中設(shè)置組長標(biāo)識,如果該服務(wù)器節(jié)點(diǎn)不為組長,則在該服務(wù)器節(jié)點(diǎn)的組員標(biāo)簽中設(shè)置普通成員標(biāo)識。
[0029]圖1示出了本發(fā)明實(shí)施例提供的服務(wù)器集群的組建方法的工作流程,為了便于描述,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分。
[0030]本發(fā)明實(shí)施例提供的所述服務(wù)器集群的組建方法,如圖1所示,所述服務(wù)器集群的組建方法包括步驟Al、步驟A2、步驟A3、步驟A4和步驟A5。
[0031]步驟Al,在通道層建立一個通道,通過所述通道發(fā)出加入指定集群的加入事件。
[0032]需說明的是,對于本服務(wù)器節(jié)點(diǎn)可接入的服務(wù)器集群,本發(fā)明實(shí)施例預(yù)先從可接入的服務(wù)器集群選擇的一個或多個服務(wù)器集群,將選擇的服務(wù)器集群作為所述指定集群。
[0033]在本發(fā)明實(shí)施例中,預(yù)先在本服務(wù)器節(jié)點(diǎn)中設(shè)定了一個或多個指定集群的名稱;如果需要將本服務(wù)器節(jié)點(diǎn)加入某個指定集群,則需要對應(yīng)建立一個通道。如果希望將本服務(wù)器節(jié)點(diǎn)加入多個指定集群,則需要針對每個指定集群分別建立一個通道。
[0034]進(jìn)而通過一個通道,可發(fā)出加入一個指定集群的加入事件。
[0035]在本發(fā)明實(shí)施例中,每個通道都是建立在通道層(即channel層)。待針對加入一個指定集群的任務(wù)建立起一個通道之后,通過該通道觸發(fā)一個加入事件,并將該加入事件下發(fā)至群組服務(wù)層(即GMS層);通過該加入事件觸發(fā)加入指定集群的請求。
[0036]在本發(fā)明實(shí)施例中,本服務(wù)器節(jié)點(diǎn)的群組服務(wù)層會對本服務(wù)器節(jié)點(diǎn)可接入的每個服務(wù)器集群(包括已接入的服務(wù)器集群,和暫未接入的服務(wù)器集群)進(jìn)行統(tǒng)計,統(tǒng)計每個服務(wù)器集群的名稱。
[0037]另外,群組服務(wù)層還會對本服務(wù)器節(jié)點(diǎn)已接入的每個服務(wù)器集群進(jìn)行成員信息統(tǒng)計,包括:該個服務(wù)器群集中每個服務(wù)器節(jié)點(diǎn)的名稱(如服務(wù)器節(jié)點(diǎn)的HOST名稱),該個服務(wù)器群集中每個服務(wù)器節(jié)點(diǎn)的物理地址,以及該個服務(wù)器群集中每個服務(wù)器節(jié)點(diǎn)的組員標(biāo)簽;其中,所述組員標(biāo)簽包括:該服務(wù)器節(jié)點(diǎn)是否加入該個服務(wù)器群集的信息。