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