一種主備服務(wù)單元的選擇方法及裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種主備服務(wù)單元的選擇方法及裝置,涉及電子通信領(lǐng)域,可以在N+M冗余模式中合理分配主備關(guān)系,從而便于N+M冗余模式的實(shí)現(xiàn),降低HA成本。本發(fā)明的方法主要包括:獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色;根據(jù)所述HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,得到臨時(shí)鏈表;按照所述臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元;按照所述臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元。本發(fā)明的實(shí)施例主要用于為服務(wù)實(shí)例分配主服務(wù)單元和備服務(wù)單元的過(guò)程中。
【專利說(shuō)明】一種主備服務(wù)單元的選擇方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子通信領(lǐng)域,尤其涉及一種主備服務(wù)單元(Service Unit, SU)的選擇方法及裝置。
【背景技術(shù)】
[0002]在數(shù)據(jù)通信領(lǐng)域中,為了提高數(shù)據(jù)通信基礎(chǔ)設(shè)施的高可用性(HighAvailability, HA),通常在高端設(shè)備中都會(huì)采用對(duì)提供主要服務(wù)的部件或功能進(jìn)行冗余設(shè)計(jì)。在這種冗余的HA方案中,將當(dāng)前正在對(duì)外提供服務(wù)的部件或功能定義為主角色,對(duì)隨時(shí)準(zhǔn)備好接替主角色提供服務(wù)的冗余部件或功能定義為備角色。當(dāng)主角色由于某種原因無(wú)法再對(duì)外提供服務(wù)時(shí),備角色就會(huì)接替主角色繼續(xù)對(duì)外提供服務(wù),從而提高設(shè)備的正常服務(wù)時(shí)間,減少停機(jī)時(shí)間,達(dá)到設(shè)備高可用性的目的。
[0003]在單臺(tái)設(shè)備的HA設(shè)計(jì)方案中,通常采用的是2N冗余模式,即在一臺(tái)設(shè)備中提供兩張主控卡,主控卡中運(yùn)行有設(shè)備主要的控制服務(wù)。一張主控卡以主角色的狀態(tài)工作,另一張主控卡以備角色的狀態(tài)工作。主控卡中的控制服務(wù)具有與卡角色相同的HA角色。這種方式對(duì)單臺(tái)設(shè)備無(wú)疑是很合適的。但是在由多臺(tái)設(shè)備組合成的集群環(huán)境中,由于有不止一臺(tái)設(shè)備,就可能會(huì)有多于兩張的主控卡。而為了達(dá)到負(fù)載分擔(dān)的目的,也會(huì)在不同的主控卡中開(kāi)啟不同的控制服務(wù),因此2N冗余模式就無(wú)法再對(duì)整個(gè)集群環(huán)境進(jìn)行很好的支持。并且,每一個(gè)正在提供控制服務(wù)的主控卡都要具備一個(gè)備角色,采用一對(duì)一的2N冗余模式需要耗費(fèi)大量的硬件資源,HA的實(shí)現(xiàn)成本較高。
[0004]為了適應(yīng)集群模式的HA方案,在集群模式下需要將HA冗余模式擴(kuò)展為N+M的方式,即在該模式下會(huì)有N個(gè)主控卡處于主角色狀態(tài),有M個(gè)主控卡處于備角色狀態(tài),其中,M和N是正整數(shù),M和N可以不相等。
[0005]綜上,由于N+M冗余模式下的主備選擇方式與2N模式不同,并不是一對(duì)一的主備關(guān)系,因此,亟需一種可用于N+M模式的主備選擇方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實(shí)施例提供一種主備服務(wù)單元的選擇方法及裝置,可以在N+M冗余模式中為合理分配主備關(guān)系,從而便于N+M冗余模式的實(shí)現(xiàn),降低HA成本。
[0007]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0008]本發(fā)明的一方面,提供一種主備服務(wù)單元的選擇方法,包括:
[0009]獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色;
[0010]根據(jù)所述HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,得到臨時(shí)鏈表;
[0011]按照所述臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元;
[0012]按照所述臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元。
[0013]本發(fā)明的另一方面,提供一種主備服務(wù)單元的選擇裝置,包括:
[0014]獲取單元,用于獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色;
[0015]排序單元,用于根據(jù)所述獲取單元獲取的HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,得到臨時(shí)鏈表;
[0016]主角色選擇單元,用于按照所述排序單元得到的臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元;
[0017]備角色選擇單元,用于按照所述排序單元得到的臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元。
[0018]本發(fā)明實(shí)施例提供的主備服務(wù)單元的選擇方法及裝置,定義出了服務(wù)單元的三種HA狀態(tài),通過(guò)獲取一個(gè)服務(wù)組中每個(gè)服務(wù)單元的HA狀態(tài),對(duì)服務(wù)單元按照HA狀態(tài)進(jìn)行排序,從而依據(jù)排列結(jié)果按順序?yàn)榉?wù)實(shí)例選擇主角色和備角色,從而可以實(shí)現(xiàn)在N+M冗余模式中為合理分配主備關(guān)系,便于N+M冗余模式的實(shí)現(xiàn),降低HA成本。
【專利附圖】
【附圖說(shuō)明】
[0019]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0020]圖1為本發(fā)明實(shí)施例1中的一種主備服務(wù)單元的選擇方法流程圖;
[0021]圖2為一種N+M冗余模式的實(shí)現(xiàn)方式示意圖;
[0022]圖3為本發(fā)明實(shí)施例2中的一種主備服務(wù)單元的選擇方法流程圖;
[0023]圖4為本發(fā)明實(shí)施例3中的一種主備服務(wù)單元的選擇裝置組成示意圖。
【具體實(shí)施方式】
[0024]下面將結(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ù)的范圍。
[0025]在本發(fā)明的實(shí)施例中,服務(wù)單元與服務(wù)組的配置如下:將系統(tǒng)中可以獨(dú)立管理的控制服務(wù)劃分為一個(gè)個(gè)的服務(wù)單元,并為其進(jìn)行命名,如:如服務(wù)單元SU1、服務(wù)單元SU2等。這些服務(wù)單元會(huì)同時(shí)運(yùn)行在N+M臺(tái)設(shè)備中,由這些設(shè)備組合成一個(gè)集群環(huán)境。不同設(shè)備中的相同服務(wù)單元可以進(jìn)行冗余備份,將這些運(yùn)行在各設(shè)備中的同一種服務(wù)單元在邏輯上進(jìn)行組合,就形成了該種服務(wù)單元的服務(wù)組。服務(wù)單元的主備角色選擇就只能在同一服務(wù)組中進(jìn)行。如服務(wù)單元I服務(wù)單元所在的服務(wù)組為服務(wù)組1,服務(wù)單元2服務(wù)單元所在的服務(wù)組為服務(wù)組2等。
[0026]在實(shí)際應(yīng)用中,在集群環(huán)境系統(tǒng)啟動(dòng)之后,首先各個(gè)服務(wù)單元要在HA的主控單元上進(jìn)行注冊(cè)。首先,預(yù)先配置或選舉出一個(gè)HA的主控,然后各設(shè)備中配置好的服務(wù)單元在啟動(dòng)后第一時(shí)間向HA主控進(jìn)行注冊(cè)。在全部服務(wù)單元都注冊(cè)完成之后,HA主控中就形成了一個(gè)個(gè)的服務(wù)組,每個(gè)服務(wù)組中則包含有可以進(jìn)行冗余的服務(wù)單元。并且,將服務(wù)單元實(shí)例化,根據(jù)所配置的N+M模型,HA主控會(huì)為每個(gè)服務(wù)組創(chuàng)建出N個(gè)服務(wù)實(shí)例,對(duì)應(yīng)會(huì)有N個(gè)服務(wù)單元對(duì)外提供服務(wù)。
[0027]下面結(jié)合具體實(shí)施例對(duì)本發(fā)明的主備服務(wù)單元選擇方法進(jìn)行說(shuō)明。
[0028]實(shí)施例1
[0029]本發(fā)明實(shí)施例提供一種主備服務(wù)單元的選擇方法,如圖1所示,包括:
[0030]101、獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色。
[0031]在本發(fā)明中,根據(jù)產(chǎn)品中各模塊所提供功能的不同,我們將業(yè)務(wù)邏輯相近,組合在一起可以獨(dú)立管理的各模塊劃分成一個(gè)個(gè)的服務(wù)單元(SU),每個(gè)服務(wù)單元對(duì)外提供一種類型的控制服務(wù)。整個(gè)產(chǎn)品就可以認(rèn)為是由許多個(gè)這樣的服務(wù)單元組成。為了提高服務(wù)的可靠性,我們對(duì)這些服務(wù)單元進(jìn)行冗余設(shè)計(jì),根據(jù)HA狀態(tài)將其分為主備兩種角色的服務(wù)單元,服務(wù)單元作為HA管理的最小單元,可以獨(dú)立進(jìn)行HA狀態(tài)的切換。每一組這樣的服務(wù)單元對(duì)外提供一種類型的服務(wù),我們稱其為該服務(wù)單元對(duì)應(yīng)的服務(wù)實(shí)例。對(duì)某個(gè)服務(wù)單元來(lái)說(shuō),有多少個(gè)主角色,就會(huì)有多少個(gè)服務(wù)實(shí)例。HA主備角色的選擇就是為服務(wù)實(shí)例選擇哪些服務(wù)單元為主角色,哪些服務(wù)單元為備角色。每一組這樣的服務(wù)單元稱為一個(gè)服務(wù)組(Service Group, SG),每個(gè)服務(wù)組作為一個(gè)冗余設(shè)計(jì)的單元。例如,如圖2所示,即為一個(gè)3+2冗余模型的示例。
[0032]在實(shí)際應(yīng)用中,可以不僅規(guī)定三種HA狀態(tài),也還可以定義其他狀態(tài)進(jìn)行排序。例如,HA狀態(tài)可以包括:active (主角色)、standby (備角色)、unknown (未知角色)、quiescing(停頓中),quiesced (靜默)等。
[0033]102、根據(jù)所述HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,得到臨時(shí)鏈表。
[0034]其中,HA狀態(tài)的排序標(biāo)準(zhǔn)可以為主角色〉備角色〉未知角色。進(jìn)一步的,對(duì)于HA狀態(tài)相同的服務(wù)單元,還可以增加其他排序依據(jù),例如服務(wù)單元的可切換狀態(tài),服務(wù)單元的優(yōu)先級(jí)等。
[0035]103、按照所述臨時(shí)鏈表中的順序,為服務(wù)實(shí)例(Service Instance, SI)選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元。
[0036]其中,基于102中合理的排序得到的臨時(shí)鏈表,為服務(wù)實(shí)例選擇主角色時(shí)便可以從鏈表的開(kāi)頭開(kāi)始選取了。
[0037]104、按照所述臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元。
[0038]其中,與主角色的選擇類似,基于臨時(shí)鏈表中的順序,可以從HA狀態(tài)不為主角色的服務(wù)單元中從鏈表中靠前的服務(wù)單元開(kāi)始選取。
[0039]本發(fā)明實(shí)施例提供的主備服務(wù)單元的選擇方法,定義出了服務(wù)單元的三種HA狀態(tài),通過(guò)獲取一個(gè)服務(wù)組中每個(gè)服務(wù)單元的HA狀態(tài),對(duì)服務(wù)單元按照HA狀態(tài)進(jìn)行排序,從而依據(jù)排列結(jié)果按順序?yàn)榉?wù)實(shí)例選擇主角色和備角色,從而可以實(shí)現(xiàn)在N+M冗余模式中為合理分配主備關(guān)系,便于N+M冗余模式的實(shí)現(xiàn),降低HA成本。
[0040]實(shí)施例2[0041]本發(fā)明實(shí)施例提供了一種主備服務(wù)單元的選擇方法,如圖3所示,該方法包括:
[0042]201、獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色。
[0043]在本實(shí)施例中,我們?yōu)槊總€(gè)服務(wù)單元定義了三個(gè)與HA相關(guān)的狀態(tài):一個(gè)是HA狀態(tài),一個(gè)是可切換狀態(tài),還有一個(gè)優(yōu)先級(jí)。
[0044]其中,HA狀態(tài)表示該服務(wù)單元當(dāng)前所具有的角色,其取值有:unknown, active,standby, quiescing, quiesced五種。其中主要的狀態(tài)是active和standby,即前述的主角色和備角色。其它的三個(gè)狀態(tài)屬于臨時(shí)過(guò)程狀態(tài)。
[0045]202、獲取所述服務(wù)組中各個(gè)服務(wù)單元的可切換狀態(tài),其中,所述可切換狀態(tài)包括切換準(zhǔn)備準(zhǔn)備完成、切換準(zhǔn)備部分完成和切換準(zhǔn)備未完成。
[0046]其中,可切換狀態(tài)主要用于備角色的選擇中,表示該服務(wù)單元與對(duì)應(yīng)的主角色數(shù)據(jù)同步完成的情況,看其是否為主備切換作好了準(zhǔn)備。其取值有:切換準(zhǔn)備未完成(not_ready_for_switchover),切換準(zhǔn)備部分完成(ready_degrade_for_switchover),切換準(zhǔn)備完成(ready_for_switchover)0
[0047]203、獲取所述服務(wù)組中各個(gè)服務(wù)單元的優(yōu)先級(jí)。
[0048]其中,優(yōu)先級(jí)值指明了服務(wù)單元的優(yōu)先選擇權(quán),指在具有相同的HA狀態(tài)和可切換狀態(tài)的情況下,哪個(gè)服務(wù)單元會(huì)被首先選取。其取值為:1-100。取值越小,優(yōu)先級(jí)越高。
[0049]204、根據(jù)所述HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序。
[0050]其中,在N+M臺(tái)設(shè)備組成的集群環(huán)境中,可以有N臺(tái)設(shè)備中的服務(wù)單元被設(shè)置為HA的主角色,對(duì)外提供服務(wù),有M臺(tái)設(shè)備中的服務(wù)單元設(shè)置為備角色,為對(duì)應(yīng)的主角色提供冗余保障。在進(jìn)行角色選擇之前我們對(duì)N+M臺(tái)設(shè)備的服務(wù)單元按照HA狀態(tài)、可切換狀態(tài)、優(yōu)先級(jí)進(jìn)行排序,排序的規(guī)則如下:首先按照HA狀態(tài)進(jìn)行排序:active>standby>unknown。其中,quiescing和quiesced狀態(tài)屬于中間狀態(tài),不能切換為active狀態(tài),當(dāng)其終止以后,狀態(tài)會(huì)轉(zhuǎn)換到unknown狀態(tài)。對(duì)于HA狀態(tài)相同的服務(wù)單元排序詳見(jiàn)步驟205。
[0051]205、對(duì)于HA狀態(tài)相同的服務(wù)單元按照可切換狀態(tài)進(jìn)行排序。
[0052]其中,對(duì)HA狀態(tài)同為standby的服務(wù)單元,再按照可切換狀態(tài)進(jìn)行排序,ready-for-active>ready-degrade-for-active>not-ready-for-active0
[0053]206、對(duì)HA狀態(tài)相同并且可切換狀態(tài)也相同的服務(wù)單元,按照優(yōu)先級(jí)進(jìn)行排序,得到臨時(shí)鏈表。
[0054]其中,對(duì)HA狀態(tài)為Active的服務(wù)單元并且它們的可切換狀態(tài)也相同時(shí),或者,對(duì)HA狀態(tài)為standby的服務(wù)單元并且它們的可切換狀態(tài)也相同時(shí),再按照優(yōu)先級(jí)從小到大進(jìn)行排序。
[0055]207、判斷是否存在未分配主服務(wù)單元的服務(wù)實(shí)例;若存在未分配主服務(wù)單元的服務(wù)實(shí)例,則執(zhí)行步驟208 ;若不存在未分配主服務(wù)單元的服務(wù)實(shí)例,則執(zhí)行步驟211。
[0056]208、判斷所述臨時(shí)鏈表中是否存在HA狀態(tài)為主角色的服務(wù)單元;若存在HA狀態(tài)為主角色的服務(wù)單元,則執(zhí)行步驟209 ;若不存在HA狀態(tài)為主角色的服務(wù)單元,則執(zhí)行步驟210。
[0057]209、選擇所述臨時(shí)鏈表中第一個(gè)HA狀態(tài)為主角色的服務(wù)單元作為所述服務(wù)實(shí)例的主服務(wù)單元,并繼續(xù)執(zhí)行步驟207。[0058]210、進(jìn)行服務(wù)單元數(shù)量不足告警。
[0059]211、將HA狀態(tài)為主角色的服務(wù)單元全部從所述臨時(shí)鏈表中刪除。
[0060]在主角色服務(wù)單元選擇完成之后,臨時(shí)鏈表中僅保留下HA狀態(tài)不是主角色的服務(wù)單元,下面進(jìn)行備角色的選擇:
[0061]212、判斷是否存在未分配備服務(wù)單元的服務(wù)實(shí)例;若存在未分配備服務(wù)單元的服務(wù)實(shí)例,則執(zhí)行步驟213 ;若不存在未分配備服務(wù)單元的服務(wù)實(shí)例,則主備角色選擇完成。
[0062]213、判斷臨時(shí)鏈表是否為空;若臨時(shí)鏈表不為空,則執(zhí)行步驟214 ;若臨時(shí)鏈表為空,則執(zhí)行步驟215。
[0063]214、選擇所述臨時(shí)鏈表中第一個(gè)服務(wù)單元作為所述服務(wù)實(shí)例的備服務(wù)單元。
[0064]特殊的,對(duì)于集群環(huán)境系統(tǒng)啟動(dòng)時(shí),初始狀態(tài)下各服務(wù)單元主備角色的確定方式為:在初始狀態(tài)下,根據(jù)204-206所描述的排序方法對(duì)同一服務(wù)組中的所有服務(wù)單元進(jìn)行排序,此時(shí),各服務(wù)單元的HA狀態(tài)都為unknown,因此排序主要體現(xiàn)的就是各服務(wù)單元的優(yōu)先級(jí)了。然后根據(jù)207-209所描述的主角色選擇方式確定出N個(gè)主角色的服務(wù)單元,再根據(jù)210-214所描述的備角色選擇方式確定出相應(yīng)的M個(gè)備角色的服務(wù)單元。
[0065]在本實(shí)施例中,對(duì)于運(yùn)行過(guò)程中各服務(wù)單元主備角色確定,則可以在系統(tǒng)運(yùn)行過(guò)程中有主備切換事件發(fā)生,或有備機(jī)重啟等事件發(fā)生時(shí),觸發(fā)本實(shí)施例201-215所描述的由HA主控重新進(jìn)行主備角色的選擇。
[0066]215、重新獲取HA狀態(tài)不為主角色的服務(wù)單元的HA狀態(tài)、可切換狀態(tài)和優(yōu)先級(jí),并進(jìn)行排序,更新所述臨時(shí)鏈表。然后,繼續(xù)執(zhí)行備角色的選擇流程。
[0067]其中,本實(shí)施例提供的主備服務(wù)單元的選擇方法在HA的多種冗余模式下都可適用,可以快速高效地確定需要冗余的業(yè)務(wù)模塊的主備狀態(tài),可以從普通的1+1冗余模式到多機(jī)集群模式進(jìn)行平滑擴(kuò)展。該方案既可應(yīng)用于單機(jī)環(huán)境中,也可以應(yīng)用于交換機(jī)的堆疊和路由器集群環(huán)境中,簡(jiǎn)化堆疊集群方案,統(tǒng)一單機(jī)與集群形態(tài)下的HA管理,減小不同形態(tài)下的管理復(fù)雜度,提高系統(tǒng)的可維護(hù)性。
[0068]需要說(shuō)明的是,本實(shí)施例中部分步驟的具體描述可以參考實(shí)施例1中的對(duì)應(yīng)內(nèi)容,本實(shí)施例這里不再重復(fù)贅述。
[0069]本發(fā)明實(shí)施例提供的主備服務(wù)單元的選擇方法,定義出了服務(wù)單元的三種HA狀態(tài),通過(guò)獲取一個(gè)服務(wù)組中每個(gè)服務(wù)單元的HA狀態(tài),對(duì)服務(wù)單元按照HA狀態(tài)進(jìn)行排序,從而依據(jù)排列結(jié)果按順序?yàn)榉?wù)實(shí)例選擇主角色和備角色,從而可以實(shí)現(xiàn)在N+M冗余模式中為合理分配主備關(guān)系,便于N+M冗余模式的實(shí)現(xiàn),降低HA成本。
[0070]實(shí)施例3
[0071]本發(fā)明實(shí)施例提供了一種主備服務(wù)單元的選擇裝置30,如圖4所示,包括:
[0072]獲取單元31,用于獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色;
[0073]排序單元32,用于根據(jù)所述獲取單元31獲取的HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,得到臨時(shí)鏈表;
[0074]主角色選擇單元33,用于按照所述排序單元32得到的臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元;
[0075]備角色選擇單元34,用于按照所述排序單元32得到的臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元。
[0076]進(jìn)一步可選的,所述獲取單元31還用于:獲取所述服務(wù)組中各個(gè)服務(wù)單元的可切換狀態(tài),其中,所述可切換狀態(tài)包括切換準(zhǔn)備完成、切換準(zhǔn)備部分完成和切換準(zhǔn)備未完成;
[0077]所述排序單元32還用于:根據(jù)所述HA狀態(tài)對(duì)各個(gè)服務(wù)單元進(jìn)行排序,對(duì)于HA狀態(tài)相同的服務(wù)單元按照可切換狀態(tài)進(jìn)行排序。
[0078]進(jìn)一步可選的,所述獲取單元31還用于:獲取所述服務(wù)組中各個(gè)服務(wù)單元的優(yōu)先級(jí);
[0079]所述排序單元32還用于:對(duì)HA狀態(tài)相同并且可切換狀態(tài)也相同的服務(wù)單元,按照優(yōu)先級(jí)進(jìn)行排序。
[0080]進(jìn)一步可選的,所述主角色選擇單元33具體用于:
[0081]當(dāng)存在未分配主服務(wù)單元的服務(wù)實(shí)例時(shí),判斷所述臨時(shí)鏈表中是否存在HA狀態(tài)為主角色的服務(wù)單元;
[0082]若存在HA狀態(tài)為主角色的服務(wù)單元,則選擇所述臨時(shí)鏈表中第一個(gè)HA狀態(tài)為主角色的服務(wù)單元作為所述服務(wù)實(shí)例的主服務(wù)單元;
[0083]若不存在HA狀態(tài)為主角色的服務(wù)單元,則進(jìn)行服務(wù)單元數(shù)量不足告警。
[0084]進(jìn)一步可選的,所述主角色選擇單元33具體還用于:
[0085]當(dāng)所述服務(wù)組中沒(méi)有未分配主服務(wù)單元的服務(wù)實(shí)例時(shí),將HA狀態(tài)為主角色的服務(wù)單元全部從所述臨時(shí)鏈表中刪除。
[0086]進(jìn)一步可選的,所述臨時(shí)鏈表中僅保留HA狀態(tài)不是主角色的服務(wù)單元;所述備角色選擇單元34具體還用于:
[0087]當(dāng)存在未分配備服務(wù)單元的服務(wù)實(shí)例時(shí),判斷所述臨時(shí)鏈表是否為空;
[0088]若所述臨時(shí)鏈表不為空,則選擇所述臨時(shí)鏈表中第一個(gè)服務(wù)單元作為所述服務(wù)實(shí)例的備服務(wù)單元;
[0089]若所述臨時(shí)鏈表為空,則返回觸發(fā)所述獲取單元31。
[0090]需要說(shuō)明的是,本實(shí)施例提供的主備服務(wù)單元的選擇裝置30可以用于實(shí)現(xiàn)上述實(shí)施例1和2中的方法,本實(shí)施例中部分功能單元的具體模式可以參考方法實(shí)施例中對(duì)應(yīng)內(nèi)容,本實(shí)施例這里不再詳細(xì)贅述。
[0091]本發(fā)明實(shí)施例提供的主備服務(wù)單元的選擇裝置30,定義出了服務(wù)單元的三種HA狀態(tài),通過(guò)獲取一個(gè)服務(wù)組中每個(gè)服務(wù)單元的HA狀態(tài),對(duì)服務(wù)單元按照HA狀態(tài)進(jìn)行排序,從而依據(jù)排列結(jié)果按順序?yàn)榉?wù)實(shí)例選擇主角色和備角色,從而可以實(shí)現(xiàn)在N+M冗余模式中為合理分配主備關(guān)系,便于N+M冗余模式的實(shí)現(xiàn),降低HA成本。
[0092]通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,如計(jì)算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0093]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種主備服務(wù)單元的選擇方法,其特征在于,包括: 獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色; 根據(jù)所述HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,得到臨時(shí)鏈表; 按照所述臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元; 按照所述臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元。
2.根據(jù)權(quán)利要求1所述的主備服務(wù)單元的選擇方法,其特征在于,所述方法還包括: 獲取所述服務(wù)組中各個(gè)服務(wù)單元的可切換狀態(tài),其中,所述可切換狀態(tài)包括切換準(zhǔn)備完成、切換準(zhǔn)備部分完成和切換準(zhǔn)備未完成; 所述根據(jù)所述HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,包括: 根據(jù)所述HA狀態(tài)對(duì)各個(gè)服務(wù)單元進(jìn)行排序,對(duì)于HA狀態(tài)相同的服務(wù)單元按照可切換狀態(tài)進(jìn)行排序。
3.根據(jù)權(quán)利要求2所述的主備服務(wù)單元的選擇方法,其特征在于,所述方法還包括: 獲取所述服務(wù)組中各個(gè)服務(wù)單元的優(yōu)先級(jí); 所述根據(jù)所述HA狀態(tài)對(duì)所述`服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,還包括: 對(duì)HA狀態(tài)相同并且可切換狀態(tài)也相同的服務(wù)單元,按照優(yōu)先級(jí)進(jìn)行排序。
4.根據(jù)權(quán)利要求1所述的主備服務(wù)單元的選擇方法,其特征在于,所述按照所述臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元,包括: 當(dāng)存在未分配主服務(wù)單元的服務(wù)實(shí)例時(shí),判斷所述臨時(shí)鏈表中是否存在HA狀態(tài)為主角色的服務(wù)單元; 若存在HA狀態(tài)為主角色的服務(wù)單元,則選擇所述臨時(shí)鏈表中第一個(gè)HA狀態(tài)為主角色的服務(wù)單元作為所述服務(wù)實(shí)例的主服務(wù)單元; 若不存在HA狀態(tài)為主角色的服務(wù)單元,則進(jìn)行服務(wù)單元數(shù)量不足告警。
5.根據(jù)權(quán)利要求4所述的主備服務(wù)單元的選擇方法,其特征在于,所述按照所述臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元,還包括: 當(dāng)所述服務(wù)組中沒(méi)有未分配主服務(wù)單元的服務(wù)實(shí)例時(shí),將HA狀態(tài)為主角色的服務(wù)單元全部從所述臨時(shí)鏈表中刪除。
6.根據(jù)權(quán)利要求5所述的主備服務(wù)單元的選擇方法,其特征在于,所述臨時(shí)鏈表中僅保留HA狀態(tài)不是主角色的服務(wù)單元;所述按照所述臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元,包括: 當(dāng)存在未分配備服務(wù)單元的服務(wù)實(shí)例時(shí),判斷所述臨時(shí)鏈表是否為空; 若所述臨時(shí)鏈表不為空,則選擇所述臨時(shí)鏈表中第一個(gè)服務(wù)單元作為所述服務(wù)實(shí)例的備服務(wù)單元; 若所述臨時(shí)鏈表為空,則返回執(zhí)行所述獲取服務(wù)組中各個(gè)服務(wù)單元的HA狀態(tài)以及備角色的選擇步驟。
7.—種主備服務(wù)單元的選擇裝置,其特征在于,包括: 獲取單元,用于獲取服務(wù)組中各個(gè)服務(wù)單元的高可用性HA狀態(tài),其中所述HA狀態(tài)包括主角色、備角色和未知角色; 排序單元,用于根據(jù)所述獲取單元獲取的HA狀態(tài)對(duì)所述服務(wù)組中的各個(gè)服務(wù)單元進(jìn)行排序,得到臨時(shí)鏈表; 主角色選擇單元,用于按照所述排序單元得到的臨時(shí)鏈表中的順序,為服務(wù)實(shí)例選擇HA狀態(tài)為主角色的服務(wù)單元作為主服務(wù)單元; 備角色選擇單元,用于按照所述排序單元得到的臨時(shí)鏈表中的順序,為所述服務(wù)實(shí)例選擇HA狀態(tài)為備角色的服務(wù)單元作為備服務(wù)單元。
8.根據(jù)權(quán)利要求7所述的主備服務(wù)單元的選擇裝置,其特征在于, 所述獲取單元還用于:獲取所述服務(wù)組中各個(gè)服務(wù)單元的可切換狀態(tài),其中,所述可切換狀態(tài)包括切換準(zhǔn)備完成、切換準(zhǔn)備部分完成和切換準(zhǔn)備未完成; 所述排序單元還用于:根據(jù)所述HA狀態(tài)對(duì)各個(gè)服務(wù)單元進(jìn)行排序,對(duì)于HA狀態(tài)相同的服務(wù)單元按照可切換狀態(tài)進(jìn)行排序。
9.根據(jù)權(quán)利要求8所述的主備服務(wù)單元的選擇裝置,其特征在于, 所述獲取單元還用于:獲取所述服務(wù)組中各個(gè)服務(wù)單元的優(yōu)先級(jí); 所述排序單元還用于:對(duì)HA狀態(tài)相同并且可切換狀態(tài)也相同的服務(wù)單元,按照優(yōu)先級(jí)進(jìn)行排序。
10.根據(jù)權(quán)利要求7所述的主備服務(wù)單元的選擇裝置,其特征在于,所述主角色選擇單元具體用于: 當(dāng)存在未分配主服務(wù)單元的服務(wù)實(shí)例時(shí),判斷所述臨時(shí)鏈表中是否存在HA狀態(tài)為主角色的服務(wù)單元; 若存在HA狀態(tài)為主角色的服務(wù)單元,則選擇所述臨時(shí)鏈表中第一個(gè)HA狀態(tài)為主角色的服務(wù)單元作為所述服務(wù)實(shí)例的主服務(wù)單元; 若不存在HA狀態(tài)為主角色的服務(wù)單元,則進(jìn)行服務(wù)單元數(shù)量不足告警。
11.根據(jù)權(quán)利要求10所述的主備服務(wù)單元的選擇裝置,其特征在于,所述主角色選擇單元具體還用于: 當(dāng)所述服務(wù)組中沒(méi)有未分配主服務(wù)單元的服務(wù)實(shí)例時(shí),將HA狀態(tài)為主角色的服務(wù)單元全部從所述臨時(shí)鏈表中刪除。
12.根據(jù)權(quán)利要求11所述的主備服務(wù)單元的選擇裝置,其特征在于,所述臨時(shí)鏈表中僅保留HA狀態(tài)不是主角色的服務(wù)單元;所述備角色選擇單元具體還用于: 當(dāng)存在未分配備服務(wù)單元的服務(wù)實(shí)例時(shí),判斷所述臨時(shí)鏈表是否為空; 若所述臨時(shí)鏈表不為空,則選擇所述臨時(shí)鏈表中第一個(gè)服務(wù)單元作為所述服務(wù)實(shí)例的備服務(wù)單元; 若所述臨時(shí)鏈表為空,則返回觸發(fā)所述獲取單元。
【文檔編號(hào)】H04L12/725GK103684720SQ201410004851
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2014年1月6日 優(yōu)先權(quán)日:2014年1月6日
【發(fā)明者】孟春雷, 梁暉 申請(qǐng)人:邁普通信技術(shù)股份有限公司