一種業(yè)務(wù)服務(wù)器的管理方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊領(lǐng)域,特別是涉及一種業(yè)務(wù)服務(wù)器的管理方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]分布式系統(tǒng)(distributed system)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng)。故名思義,分布式系統(tǒng)是將系統(tǒng)的應(yīng)用層、數(shù)據(jù)層或其它部分構(gòu)架成分布(物理和邏輯上的都可以)狀(通常是網(wǎng)狀)。分布式系統(tǒng)通常是為了增強(qiáng)系統(tǒng)的可擴(kuò)展性、穩(wěn)定性和執(zhí)行效率。
[0003]正是因?yàn)檐浖奶匦?,所以分布式系統(tǒng)具有高度的內(nèi)聚性和透明性。因此,網(wǎng)絡(luò)和分布式系統(tǒng)之間的區(qū)別更多的在于高層軟件(特別是操作系統(tǒng)),而不是硬件。內(nèi)聚性,又稱塊內(nèi)聯(lián)系,指模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量。透明性是指每一個(gè)數(shù)據(jù)分布節(jié)點(diǎn)對用戶的應(yīng)用來說都是透明的,看不出是本地還是遠(yuǎn)程。在分布式系統(tǒng)中,用戶感覺不到數(shù)據(jù)是分布的,即用戶不須知道關(guān)系是否分割、有無復(fù)本、數(shù)據(jù)存于哪個(gè)站點(diǎn)以及事務(wù)在哪個(gè)站點(diǎn)上執(zhí)行等。
[0004]隨著云平臺(tái)業(yè)務(wù)系統(tǒng)的增加,系統(tǒng)之間調(diào)用日益頻繁,管理、維護(hù)的難度也漸漸加大,服務(wù)器間的依賴逐漸加強(qiáng)。這就要求結(jié)點(diǎn)必須可靠,或當(dāng)結(jié)點(diǎn)出現(xiàn)問題后,也有相應(yīng)的解決方案,能使業(yè)務(wù)快速切換。
[0005]然而,現(xiàn)有的分布式系統(tǒng)中,各業(yè)務(wù)服務(wù)器結(jié)點(diǎn)通過讀取配置文件中的IP或域名來和其它業(yè)務(wù)結(jié)點(diǎn)建立連接,進(jìn)行通信,但當(dāng)它所依賴的結(jié)點(diǎn)出現(xiàn)故障,如宕機(jī)、網(wǎng)絡(luò)異常、阻塞等情況時(shí),本結(jié)點(diǎn)在處理相關(guān)業(yè)務(wù)時(shí),仍會(huì)繼續(xù)下發(fā)業(yè)務(wù)請求至故障業(yè)務(wù)服務(wù)器,導(dǎo)致出現(xiàn)報(bào)錯(cuò)問題;
[0006]進(jìn)一步,隨著業(yè)務(wù)的增加,處理相同業(yè)務(wù)的結(jié)點(diǎn)也會(huì)越來越多,業(yè)務(wù)服務(wù)器維護(hù)的難度也會(huì)越來越大。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供了一種業(yè)務(wù)服務(wù)器的管理方法、裝置及系統(tǒng),用以解決現(xiàn)有技術(shù)中,當(dāng)某一業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,其對應(yīng)的處理能力則會(huì)喪失,然而業(yè)務(wù)請求會(huì)繼續(xù)請求該故障業(yè)務(wù)服務(wù)器處理業(yè)務(wù),該故障業(yè)務(wù)服務(wù)器無法處理業(yè)務(wù)請求,導(dǎo)致出現(xiàn)報(bào)錯(cuò)的問題。
[0008]為解決上述技術(shù)問題,一方面,本發(fā)明提供一種業(yè)務(wù)服務(wù)器的管理方法,包括:接收來自所述業(yè)務(wù)服務(wù)器的心跳信息,并通過心跳信息確定所述業(yè)務(wù)服務(wù)器是否出現(xiàn)故障;在確定所述業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,將接收到的業(yè)務(wù)請求發(fā)送至其他業(yè)務(wù)服務(wù)器進(jìn)行處理。
[0009]進(jìn)一步,將接收到的業(yè)務(wù)請求發(fā)送至其他業(yè)務(wù)服務(wù)器進(jìn)行處理包括:判斷是否存在具有處理所述業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器;在存在具有處理所述業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器的情況下,將所述業(yè)務(wù)請求發(fā)送至對應(yīng)的業(yè)務(wù)服務(wù)器進(jìn)行處理;在不存在具有處理所述業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器的情況下,向預(yù)定業(yè)務(wù)服務(wù)器發(fā)送所述業(yè)務(wù)請求對應(yīng)業(yè)務(wù)的配置文件或配置消息,以為所述預(yù)定業(yè)務(wù)服務(wù)器配置處理所述業(yè)務(wù)請求的能力;并在配置完成后,將所述業(yè)務(wù)請求發(fā)送至所述預(yù)定業(yè)務(wù)服務(wù)器進(jìn)行處理;其中,所述配置消息攜帶有所述配置文件的存儲(chǔ)地址。
[0010]進(jìn)一步,向預(yù)定業(yè)務(wù)服務(wù)器發(fā)送所述業(yè)務(wù)請求對應(yīng)業(yè)務(wù)的配置文件或配置消息包括:通過推送方式向所述預(yù)定業(yè)務(wù)服務(wù)器發(fā)送所述配置文件;或者,向所述預(yù)定業(yè)務(wù)服務(wù)器發(fā)送所述配置消息,以使所述預(yù)定業(yè)務(wù)服務(wù)器根據(jù)所述配置消息獲取所述配置文件。
[0011]進(jìn)一步,接收來自所述業(yè)務(wù)服務(wù)器的心跳信息之前,還包括:接收來自各個(gè)業(yè)務(wù)服務(wù)器的注冊信息,并記錄各個(gè)注冊信息指示的業(yè)務(wù)服務(wù)器能夠處理的業(yè)務(wù)類型,以根據(jù)所述業(yè)務(wù)類型分配業(yè)務(wù)請求,其中,一種業(yè)務(wù)類型對應(yīng)多種形式的業(yè)務(wù)請求。
[0012]進(jìn)一步,所述方法還包括:在業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,發(fā)出告警。
[0013]另一方面,本發(fā)明還提供一種業(yè)務(wù)服務(wù)器的管理裝置,包括:接收模塊,用于接收來自所述業(yè)務(wù)服務(wù)器的心跳信息;確定模塊,用于通過心跳信息確定所述業(yè)務(wù)服務(wù)器是否出現(xiàn)故障;分配模塊,用于在確定所述業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,將接收到的業(yè)務(wù)請求發(fā)送至其他業(yè)務(wù)服務(wù)器進(jìn)行處理。
[0014]進(jìn)一步,所述分配模塊包括:判斷單元,用于判斷是否存在具有處理所述業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器;第一分配單元,用于在存在具有處理所述業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器的情況下,將所述業(yè)務(wù)請求發(fā)送至對應(yīng)的業(yè)務(wù)服務(wù)器進(jìn)行處理;第二分配單元,用于在不存在具有處理所述業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器的情況下,向預(yù)定業(yè)務(wù)服務(wù)器發(fā)送所述業(yè)務(wù)請求對應(yīng)業(yè)務(wù)的配置文件或配置消息,以為所述預(yù)定業(yè)務(wù)服務(wù)器配置處理所述業(yè)務(wù)請求的能力;并在配置完成后,將所述業(yè)務(wù)請求發(fā)送至所述預(yù)定業(yè)務(wù)服務(wù)器進(jìn)行處理;其中,所述配置消息攜帶有所述配置文件的存儲(chǔ)地址。
[0015]進(jìn)一步,所述接收模塊,還用于接收來自各個(gè)業(yè)務(wù)服務(wù)器的注冊信息,并記錄各個(gè)注冊信息指示的業(yè)務(wù)服務(wù)器能夠處理的業(yè)務(wù)類型,以根據(jù)所述業(yè)務(wù)類型分配業(yè)務(wù)請求,其中,一種業(yè)務(wù)類型對應(yīng)多種形式的業(yè)務(wù)請求。
[0016]進(jìn)一步,所述裝置還包括:告警模塊,用于在業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,發(fā)出生敬口目。
[0017]再一方面,本發(fā)明還提供一種業(yè)務(wù)服務(wù)器的管理系統(tǒng),包括:管理服務(wù)器和多個(gè)業(yè)務(wù)服務(wù)器,其中,所述管理服務(wù)器包括上述任一項(xiàng)的業(yè)務(wù)服務(wù)器的管理裝置。
[0018]本發(fā)明能夠通過心跳信息判斷業(yè)務(wù)服務(wù)器是否出現(xiàn)故障,在其出現(xiàn)故障的情況下,將其本來能夠處理的業(yè)務(wù)請求發(fā)送至其他業(yè)務(wù)服務(wù)器進(jìn)行處理,降低了各業(yè)務(wù)節(jié)點(diǎn)之間的高耦合性,同時(shí)也能夠及時(shí)的處理業(yè)務(wù)請求,防止多次報(bào)錯(cuò),提升了系統(tǒng)性能,解決了當(dāng)某一業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,其對應(yīng)的處理能力則會(huì)喪失,然而業(yè)務(wù)請求會(huì)繼續(xù)請求該故障業(yè)務(wù)服務(wù)器處理業(yè)務(wù),該故障業(yè)務(wù)服務(wù)器無法處理業(yè)務(wù)請求,導(dǎo)致出現(xiàn)報(bào)錯(cuò)的冋題。
【附圖說明】
[0019]圖1是本發(fā)明實(shí)施例中業(yè)務(wù)服務(wù)器的管理方法的流程圖;
[0020]圖2是本發(fā)明實(shí)施例中業(yè)務(wù)服務(wù)器的管理裝置的結(jié)構(gòu)示意圖;
[0021]圖3是本發(fā)明實(shí)施例中業(yè)務(wù)服務(wù)器的管理裝置分配模塊的結(jié)構(gòu)示意圖;
[0022]圖4是本發(fā)明實(shí)施例中業(yè)務(wù)服務(wù)器的管理裝置的優(yōu)選結(jié)構(gòu)示意圖;
[0023]圖5是本發(fā)明實(shí)施例中業(yè)務(wù)服務(wù)器的管理系統(tǒng)的架構(gòu)示意圖。
【具體實(shí)施方式】
[0024]為了解決現(xiàn)有技術(shù)中,當(dāng)某一業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,其對應(yīng)的處理能力則會(huì)喪失,然而業(yè)務(wù)請求會(huì)繼續(xù)請求該故障業(yè)務(wù)服務(wù)器處理業(yè)務(wù),該故障業(yè)務(wù)服務(wù)器無法處理業(yè)務(wù)請求,導(dǎo)致出現(xiàn)報(bào)錯(cuò)的問題,本發(fā)明提供了一種業(yè)務(wù)服務(wù)器的管理方法、裝置及系統(tǒng),以下結(jié)合附圖以及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0025]本發(fā)明實(shí)施例提供了一種業(yè)務(wù)服務(wù)器的管理方法,該方法實(shí)施在一個(gè)服務(wù)器上,本實(shí)施例中是具有管理功能的管理服務(wù)器,該方法的流程如圖1所示,包括步驟S102至S104:
[0026]S102,接收來自業(yè)務(wù)服務(wù)器的心跳信息,并通過心跳信息確定該業(yè)務(wù)服務(wù)器是否出現(xiàn)故障。
[0027]業(yè)務(wù)服務(wù)器都是通過心跳信息來表示自己在線,當(dāng)心跳信息不再發(fā)送的時(shí)候,在多數(shù)情況下,該業(yè)務(wù)服務(wù)器是因?yàn)楣收蠈?dǎo)致的掉線,例如出現(xiàn)宕機(jī)。因此,本發(fā)明實(shí)施例通過心跳信息來判斷業(yè)務(wù)服務(wù)器是否出現(xiàn)故障,如果其不再發(fā)送心跳信息,則確定其發(fā)生了故障,如果其正常發(fā)送心跳信息,證明其沒有問題,能夠正常處理業(yè)務(wù)請求。
[0028]該實(shí)施例中的步驟S102是從接收一個(gè)業(yè)務(wù)服務(wù)器發(fā)送心跳信息的角度來說明的,正常情況下,管理服務(wù)器是需要接收所有注冊的業(yè)務(wù)服務(wù)器的心跳信息,判斷是否都存在心跳信息,如果有哪一個(gè)出現(xiàn)了問題,則接收不到該業(yè)務(wù)服務(wù)器的心跳信息。
[0029]S104,在確定該業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,將接收到的業(yè)務(wù)請求發(fā)送至其他業(yè)務(wù)服務(wù)器進(jìn)行處理。
[0030]本發(fā)明實(shí)施例能夠通過心跳信息判斷業(yè)務(wù)服務(wù)器是否出現(xiàn)故障,在其出現(xiàn)故障的情況下,將其本來能夠處理的業(yè)務(wù)請求發(fā)送至其他業(yè)務(wù)服務(wù)器進(jìn)行處理,降低了各業(yè)務(wù)節(jié)點(diǎn)之間的高耦合性,同時(shí)也能夠及時(shí)的處理業(yè)務(wù)請求,防止多次報(bào)錯(cuò),提升了系統(tǒng)性能,解決了當(dāng)某一業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,其對應(yīng)的處理能力則會(huì)喪失,然而業(yè)務(wù)請求會(huì)繼續(xù)請求該故障業(yè)務(wù)服務(wù)器處理業(yè)務(wù),該故障業(yè)務(wù)服務(wù)器無法處理業(yè)務(wù)請求,導(dǎo)致出現(xiàn)報(bào)錯(cuò)的問題。
[0031]接收來自各業(yè)務(wù)服務(wù)器的心跳信息之前,各業(yè)務(wù)服務(wù)器需要進(jìn)行注冊,在接收到來自各業(yè)務(wù)服務(wù)器的注冊信息后,記錄各注冊信息指示的業(yè)務(wù)服務(wù)器能夠處理的業(yè)務(wù)類型,以根據(jù)業(yè)務(wù)類型分配業(yè)務(wù)請求,其中,一種業(yè)務(wù)類型對應(yīng)多種形式的業(yè)務(wù)請求,因此,如果某一業(yè)務(wù)服務(wù)器能夠處理某一類型的業(yè)務(wù),則在分配業(yè)務(wù)請求時(shí),可以直接將此類業(yè)務(wù)的業(yè)務(wù)請求直接分配至上述的某一業(yè)務(wù)服務(wù)器。進(jìn)一步,上述的能夠處理的業(yè)務(wù)類型可以是其具有的處理功能,也可以是業(yè)務(wù)服務(wù)器當(dāng)前具有的處理能力。
[0032]在將接收到的業(yè)務(wù)請求發(fā)送至其他業(yè)務(wù)服務(wù)器進(jìn)行處理的過程中,存在兩種情況,一種是其他業(yè)務(wù)服務(wù)器直接就具有處理該業(yè)務(wù)請求的能力,另一種是其他業(yè)務(wù)服務(wù)器不具備處理該業(yè)務(wù)請求的能力,對于不具備處理能力的業(yè)務(wù)服務(wù)器,可能是本身就是不具備處理這一類業(yè)務(wù)請求的功能,但也可能是可以處理這一類業(yè)務(wù)請求,但由于一些需求,之前沒有進(jìn)行配置。
[0033]基于上述情況,本發(fā)明實(shí)施例提供了一種解決上述問題的方法,即先判斷是否存在具有處理業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器;在存在具有處理業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器的情況下,將業(yè)務(wù)請求發(fā)送至對應(yīng)的業(yè)務(wù)服務(wù)器進(jìn)行處理;在不存在具有處理業(yè)務(wù)請求能力的業(yè)務(wù)服務(wù)器的情況下,向預(yù)定業(yè)務(wù)服務(wù)器發(fā)送業(yè)務(wù)請求對應(yīng)業(yè)務(wù)的配置文件或配置消息(配置消息攜帶有配置文件的存儲(chǔ)地址),以為預(yù)定業(yè)務(wù)服務(wù)器配置處理業(yè)