欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種服務器故障切換方法

文檔序號:7984255閱讀:229來源:國知局
一種服務器故障切換方法
【專利摘要】本發(fā)明提供一種服務器故障切換方法,其包括:客戶端通過池名訪問服務器池,首先在池化器處進行池名解析,池化器收到客戶端發(fā)來的池名解析請求后,會在自身保存的服務器列表中進行查找,并根據(jù)預先確定的策略選擇一個有效的正常運行的服務器,然后將該服務器的IP地址發(fā)送給發(fā)出解析請求的客戶端;客戶端完成池名解析后,然后根據(jù)解析得到的服務器IP地址,直接訪問服務器,并進行數(shù)據(jù)交互;如果在數(shù)據(jù)交換中該服務器發(fā)生故障,客戶端從傳輸層得到一個錯誤信息,客戶端由此可以獲知服務器端發(fā)生故障,這時,客戶端進入故障切換模式,客戶端重新在池化器處做一次池名解析,獲得下一臺正常運行的服務器IP地址,然后直接和新的服務器建立連接,實現(xiàn)服務器切換。
【專利說明】一種服務器故障切換方法
【【技術(shù)領域】】
[0001]本發(fā)明是關于計算機網(wǎng)絡服務器領域,特別是關于網(wǎng)絡服務器故障切換的【技術(shù)領域】。
【【背景技術(shù)】】
[0002]在典型的服務器-客戶機模式下,服務器是由DNS域名確定其位置的,客戶端應用系統(tǒng)在訪問服務器之前必須通過使用DNS服務對其域名進行解析,從而得到該服務器的IP地址。在客戶機和服務器建立連接后,就可以進行信息交換;假如這一服務器發(fā)生故障,客戶機應用系統(tǒng)有兩種可能的選擇:1.中斷通信;2.選擇另一個服務器繼續(xù)。
[0003]在這種模式下, 客戶端應用系統(tǒng)必須通過以下方式檢測出服務器是否中斷:
[0004](I)服務器沒有響應(time out);
[0005](2)服務器回應錯誤信息;
[0006]( 3 )收到傳輸層錯誤信息;
[0007]為了讓客戶應用程序能夠在檢測出服務器發(fā)生故障后,有選擇其它服務器的可能,必須在其應用程序中明確提供一個服務器列表,指明:第一服務器、第二服務器、第
三......等。當?shù)谝粋€服務器中斷,則嘗試和第二個服務器建立連接,再則第三,依此類推。
[0008]也就是說,這一故障切換過程是由用戶程序的干涉而實現(xiàn)的,有較大局限性:
[0009]其一、服務器列表是靜態(tài)的,必須有用戶特別指明;
[0010]其二、替代服務器的選擇有著較大的盲目性,無法保證所選服務器是否正常及有效,也不能因服務器的負載情況而靈活選擇;
[0011]其三、接管是通過應用程序而實現(xiàn),缺乏透明性;
[0012]其四、被動的中斷識別方式;
[0013]其五、為滿足可靠性的保證,應用程序開發(fā)量較大。
[0014]因為確有必要對現(xiàn)有技術(shù)進行改進。

【發(fā)明內(nèi)容】

[0015]本發(fā)明的目的在于針對傳統(tǒng)的故障切換模式的不足,提出在服務器池框架下實現(xiàn)全透明的故障切換模式,用戶無需任何干預,只需要在服務器故障發(fā)生后進行一個池名解析就可以獲得新的正常服務器,并重新進行連接,而從方便快捷完成故障切換的過程。
[0016]為達成前述目的,本發(fā)明一種服務器故障切換方法,其包括:
[0017]客戶端通過池名訪問服務器池,首先在池化器處進行池名解析,池化器收到客戶端發(fā)來的池名解析請求后,會在自身保存的服務器列表中進行查找,并根據(jù)預先確定的策略選擇一個有效的正常運行的服務器,然后將該服務器的IP地址發(fā)送給發(fā)出解析請求的客戶端;
[0018]客戶端完成池名解析后,然后根據(jù)解析得到的服務器IP地址,直接訪問服務器,并進行數(shù)據(jù)交互;
[0019]如果在數(shù)據(jù)交換中該服務器發(fā)生故障,客戶端從傳輸層得到一個錯誤信息,客戶端由此可以獲知服務器端發(fā)生故障,這時,客戶端進入故障切換模式,客戶端重新在池化器處做一次池名解析,獲得下一臺正常運行的服務器IP地址,然后直接和新的服務器建立連接,完成故障切換過程。
[0020]根據(jù)本發(fā)明的一個實施例,本發(fā)明的服務器池系統(tǒng)由以下三個部分組成:
[0021]服務器池:服務器池是由一組具有相同功能的,并被統(tǒng)一管理起來的服務器組成,每個服務器池均使用唯一的池名作為標識;
[0022]池化器:是服務器池的管理設備,負責將多臺服務器組成一個虛擬的服務器池,并對各臺服務器的運行狀態(tài)進行 實時監(jiān)控和采集;同時提供池名解析功能,以便能讓用戶方便地訪問服務器;
[0023]客戶端:訪問服務器池的客戶機。
[0024]根據(jù)本發(fā)明的一個實施例,所述服務器池采用登記機制,要求服務器在啟動時需主動在池化器處進行登記,池化器中任意服務器啟動后首先通過向池化器發(fā)送登記消息進行登記,其中該登記消息中包含有服務自身的相關信息,包括:池名、唯一的服務識別號、月艮務器IP地址、服務端口、服務協(xié)議、服務檢測。
[0025]根據(jù)本發(fā)明的一個實施例,所述服務器池采用故障檢測機制:在服務器池系統(tǒng)內(nèi),池化器服務器的登記信息負責對服務器進行周期性的健康狀況檢查,一旦發(fā)現(xiàn)服務器故障,池化器立刻將該服務器從服務器池中刪除掉。
[0026]根據(jù)本發(fā)明的一個實施例,所述服務器池采用池化器信息同步機制:池化器發(fā)現(xiàn)某服務器發(fā)生故障,會立刻在自己所保存的服務器列表中將該服務器刪除,同時通過服務器更新消息通知其他所有池化器該服務器發(fā)生故障,其他池化器收到通知后,也立刻將該服務器從其保存的服務器列表中刪除掉,這樣保證了服務器列表中都是運行正常的服務器,并且所有池化器信息的一致性。
[0027]根據(jù)本發(fā)明的一個實施例,:所述服務器池采用池化器的池名解析機制:客戶端訪問服務器池,先在池化器處做池名解析,池化器根據(jù)客戶端提交的解析請求,在自己的服務器列表中進行查詢,通常每個池名都對應著多個服務器,池化器按照事先確定好的選擇策略,為該用戶選擇一個最佳的服務器IP,并將該結(jié)果以解析回應消息的形式反饋給客戶端。
[0028]本發(fā)明的這種故障切換方法的優(yōu)點在于簡單透明,無需在客戶端維護一個服務器列表,只需隨時簡單地在池化器做池名解析即可。同時服務器增加減少或變更都無需通知客戶端做任何改動。對用戶實現(xiàn)了完全的透明化。
【【專利附圖】

【附圖說明】】
[0029]圖1是本發(fā)明的服務器池系統(tǒng)的結(jié)構(gòu)示意圖。
[0030]圖2為本發(fā)明的登記消息格式示意圖。
[0031]圖3為本發(fā)明的登記消息格式中池名參數(shù)格式示意圖。
[0032]圖4為本發(fā)明的登記消息格式中服務器參數(shù)格式示意圖。
[0033]圖5為本發(fā)明的登記回應消息格式示意圖。
[0034]圖6為本發(fā)明的持續(xù)活動消息格式示意圖。[0035]圖7為本發(fā)明的持續(xù)活動消息格式中系統(tǒng)參數(shù)的格式示意圖。
[0036]圖8為本發(fā)明的持續(xù)活動確認消息格式示意圖。
[0037]圖9為本發(fā)明的服務器更新消息格式示意圖。
[0038]圖10為本發(fā)明的服務器切換方法流程圖。
【【具體實施方式】】
[0039]此處所稱的“一個實施例”或“實施例”是指可包含于本發(fā)明至少一個實現(xiàn)方式中的特定特征、結(jié)構(gòu)或特性。在本說明書中不同地方出現(xiàn)的“在一個實施例中”并非均指同一個實施例,也不是單獨的或選擇性的與其他實施例互相排斥的實施例。
[0040]現(xiàn)有的服務器-客 戶機模式下,服務器是由DNS域名確定其位置的,客戶端應用系統(tǒng)在訪問服務器之前必須通過使用DNS服務對其域名進行解析,從而得到該服務器的IP地址。在客戶機和服務器建立連接后,就可以進行信息交換。本發(fā)明所述的故障切換的方法須建立在服務器池框架下方能發(fā)揮其功能,服務器池的核心思想是讓某項服務由多個冗余服務器同時來提供,所有這些服務器的集合被稱為一個服務器池。也就是說:一項服務是由一個服務器池的整體來提供的,服務器是分布式的,均擁有各自的IP地址。當其中一個服務器因故障而不能繼續(xù)提供服務的時候,可以由存在于服務器池中另一個正常運行的服務器繼續(xù)提供。其系統(tǒng)示意圖圖1所示,本發(fā)明的服務器池系統(tǒng)由以下三個部分組成:
[0041]服務器池:服務器池是由一組具有相同功能的,并被統(tǒng)一管理起來的服務器組成,每個服務器池均使用唯一的池名作為標識;
[0042]池化器:是服務器池的管理設備,負責將多臺服務器組成一個虛擬的服務器池,并對各臺服務器的運行狀態(tài)進行實時監(jiān)控和采集;同時提供池名解析功能,以便能讓用戶方便地訪問服務器;
[0043]客戶端:訪問服務器池的客戶機。
[0044]其中本發(fā)明的服務器池系統(tǒng)采用下面的幾種工作機制:
[0045]服務器池的登記機制:要求服務器在啟動時需主動在池化器處進行登記,請參閱圖2、圖3和圖4所示,其分別顯示本發(fā)明一個實施例中登記(registration)消息格式,池名參數(shù)格式、服務器參數(shù)格式。池化器中任意服務器啟動后首先通過向池化器發(fā)送登記消息registration進行登記,其中該登記消息中包含有服務自身的相關信息,包括:池名、唯一的服務識別號、服務器IP地址(可多個,視服務器的網(wǎng)卡數(shù)量而定)、服務端口、服務協(xié)議(tcp、udp、ftp、http 等.)。
[0046]池化器收到登記消息后,立刻以登記回應消息registration_response回復,并將其中的信息進行歸類保存在服務器列表中,同時將該信息內(nèi)容通過服務器更新消息Server_Update發(fā)送給其他池化器,這樣可以保證所有池化器擁有相同的一份服務器列表。請參閱圖5所示,其顯示本發(fā)明的一個實施例中登記回應(registration_response)消息格式。
[0047]服務器在完成首次登記后,之后仍將以固定的時間間隔向池化器重復發(fā)送此登記消息。池化器每次收到登記消息,都將更新自己保存的服務器列表(Server List),并同時通過服務器更新消息Server_Update向其他池化器發(fā)生更新信息。
[0048]池化器的故障檢測機制:在服務器池系統(tǒng)內(nèi),池化器服務器的登記信息負責對服務器進行周期性的健康狀況檢查,一旦發(fā)現(xiàn)服務器故障,池化器立刻將該服務器從服務器池中刪除掉,池化器的這種機制可以保證服務器池中所有服務器都是有效的、可用的。
[0049]具體的過程為:池化器每隔一個固定的時間間隔向該服務器發(fā)送持續(xù)活動消息Keep_Alive。請參閱圖6和圖7所示,其分別顯示本發(fā)明的一個實施例中保持活動消息的格式和保持活動消息中系統(tǒng)參數(shù)描述的格式。
[0050]服務器接到持續(xù)活動消息Keep_Alive后,立刻以持續(xù)活動確認消息Keep_Alive_Ack回復給池化器。請參閱圖8所示,其顯示本發(fā)明的持續(xù)活動確認消息的格式。在持續(xù)活動確認消息Keep_Alive_Ack中服務器附帶了自身的相關狀態(tài)信息(比如:CPU使用率、網(wǎng)絡使用率、內(nèi)存使用率、硬盤使用率等)。這樣池化器可以知曉服務器的實時系統(tǒng)狀況,并可以參照作為依據(jù)判斷服務器的狀況。在一些情況下,雖然服務器運行都正常,但由于資源近乎消耗殆盡,例如CPU使用率、網(wǎng)絡使用率、內(nèi)存使用率、硬盤使用率等超過預定值,繼續(xù)運行可能導致更大的問題,這種情況,池化器可提前預知,可將該服務器設置為故障服務器。
[0051]如果池化器發(fā)出的持續(xù)活動消息Keep_Alive,在設定時間(timeout)內(nèi)沒有收到持續(xù)活動確認消息Keep_Alive_Ack,則迅速連續(xù)發(fā)送幾個持續(xù)活動消息Keep_Alive,如果仍然沒有收到持續(xù)活動確認消息Keep_Alive_Ack,則可以判定服務器發(fā)生故障,這種故障可能有多種可能:服務器宕機、軟件故障、網(wǎng)絡故障等,總之在這種情況下,用戶肯定是無法使用該服務器的服務。
[0052]池化器信息同步:池化器發(fā)現(xiàn)某服務器發(fā)生故障,會立刻在自己所保存的服務器列表中將該服務器刪除,同時通過服務器更新消息(Server_Update)通知其他所有池化器該服務器發(fā)生故障,其他池化器收到通知后,也立刻將該服務器從其保存的服務器列表中刪除掉。這樣保證了服務器列表中都是運行正常的服務器,并且所有池化器信息的一致性。請參閱圖9所示,其顯示本發(fā)明的一個實施例中服務器更新消息的格式,其中在該服務器更新消息中其中更新動作(Update Action)定義如下:
[0053]Update Action=Oxl 增加服務;
[0054]Update Action=0x2 刪除服務。
[0055]池化器的池名解析機制:客戶端訪問服務器池,先在池化器處做池名解析,池化器根據(jù)客戶端提交的解析請求,在自己的服務器列表中進行查詢,通常每個池名都對應著多個服務器,池化器按照事先確定好的選擇策略,為該用戶選擇一個最佳的服務器IP,并將該結(jié)果以解析回應消息的形式反饋給客戶端。
[0056]基于這種服務器池的特性,可以實現(xiàn)一種完全透明有效的服務器故障切換的方法,請參閱圖10所示,其具體步驟如下:
[0057]步驟S1:某用戶通過池名訪問服務器池,需首先在池化器處進行池名解析,池化器收到用戶(客戶端)發(fā)來的池名解析請求后,會在自身保存的服務器列表中進行查找,并根據(jù)預先確定的策略選擇一個有效的正常運行的服務器,然后將該服務器的IP地址發(fā)送給發(fā)出解析請求的用戶。由于所有池化器之間的信息是實時同步的,所以用戶無論在哪臺池化器上做解析,都可以得到同樣的解析結(jié)果。
[0058]步驟S2:客戶端完成池名解析后,然后根據(jù)解析得到的服務器IP地址,直接訪問服務器,并進行數(shù)據(jù)交互。
[0059]步驟S3:如果在數(shù)據(jù)交換中該服務器發(fā)生故障,客戶端從傳輸層(TransportLayer)得到一個錯誤信息,客戶端由此可以獲知服務器端發(fā)生故障,這時,客戶端進入故障切換模式,客戶端只需重新在池化器處做一次池名解析,就可以獲得下一臺正常運行的服務器IP地址,然后直接和新的服務器建立連接,這樣一個簡單快速的故障切換過程就完成了。
[0060]這種故障切換方法的優(yōu)點在于簡單透明,無需在客戶端維護一個服務器列表,只需隨時簡單地在池化器做池名解析即可。
[0061 ] 同時服務器增加減少或變更都無需通知客戶端做任何改動。對用戶實現(xiàn)了完全的透明化。
[0062]上述說明已經(jīng)充分揭露了本發(fā)明的【具體實施方式】。需要指出的是,熟悉該領域的技術(shù)人員對本發(fā)明的【具體實施方式】所做的任何改動均不脫離本發(fā)明的權(quán)利要求書的范圍。相應地,本發(fā)明的權(quán)利要求的范圍也并不僅僅局限于前述【具體實施方式】。
【權(quán)利要求】
1.一種服務器故障切換方法,其包括: 客戶端通過池名訪問服務器池,首先在池化器處進行池名解析,池化器收到客戶端發(fā)來的池名解析請求后,會在自身保存的服務器列表中進行查找,并根據(jù)預先確定的策略選擇一個有效的正常運行的服務器,然后將該服務器的IP地址發(fā)送給發(fā)出解析請求的客戶端; 客戶端完成池名解析后,然后根據(jù)解析得到的服務器IP地址,直接訪問服務器,并進行數(shù)據(jù)交互; 如果在數(shù)據(jù)交換中該服務器發(fā)生故障,客戶端從傳輸層得到一個錯誤信息,客戶端由此可以獲知服務器端發(fā)生故障,這時,客戶端進入故障切換模式,客戶端重新在池化器處做一次池名解析,獲得下一臺正常運行的服務器IP地址,然后直接和新的服務器建立連接,完成故障切換過程。
2.如權(quán)利要求1所述的方法,其特征在于:本發(fā)明的服務器池系統(tǒng)由以下三個部分組成: 服務器池:服務器池是由一組具有相同功能的,并被統(tǒng)一管理起來的服務器組成,每個服務器池均使用唯一的池名作為標識; 池化器:是服務器池的管理設備,負責將多臺服務器組成一個虛擬的服務器池,并對各臺服務器的運行狀態(tài)進行實時監(jiān)控和采集;同時提供池名解析功能,以便能讓用戶方便地訪問服務器; 客戶端:訪問服務器池的客戶機。
3.如權(quán)利要求1所述的方法,其特征在于:所述服務器池采用登記機制,要求服務器在啟動時需主動在池化器處進行登記,池化器中任意服務器啟動后首先通過向池化器發(fā)送登記消息進行登記,其中該登記消息中包含有服務自身的相關信息,包括:池名、唯一的服務識別號、服務器IP地址、服務端口、服務協(xié)議、服務檢測。
4.如權(quán)利要求1所述的方法,其特征在于:所述服務器池采用故障檢測機制:在服務器池系統(tǒng)內(nèi),池化器服務器的登記信息負責對服務器進行周期性的健康狀況檢查,一旦發(fā)現(xiàn)服務器故障,池化器立刻將該服務器從服務器池中刪除掉。
5.如權(quán)利要求1所述的方法,其特征在于:所述服務器池采用池化器信息同步機制:池化器發(fā)現(xiàn)某服務器發(fā)生故障,會立刻在自己所保存的服務器列表中將該服務器刪除,同時通過服務器更新消息通知其他所有池化器該服務器發(fā)生故障,其他池化器收到通知后,也立刻將該服務器從其保存的服務器列表中刪除掉,這樣保證了服務器列表中都是運行正常的服務器,并且所有池化器信息的一致性。
6.如權(quán)利要求1所述的方法,其特征在于:所述服務器池采用池化器的池名解析機制:客戶端訪問服務器池,先在池化器處做池名解析,池化器根據(jù)客戶端提交的解析請求,在自己的服務器列表中進行查詢,通常每個池名都對應著多個服務器,池化器按照事先確定好的選擇策略,為該用戶選擇一個最佳的服務器IP,并將該結(jié)果以解析回應消息的形式反饋給客戶端。
【文檔編號】H04L12/24GK103731290SQ201210393053
【公開日】2014年4月16日 申請日期:2012年10月16日 優(yōu)先權(quán)日:2012年10月16日
【發(fā)明者】張焰 申請人:無錫云捷科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
米林县| 锦屏县| 榆社县| 磐安县| 万年县| 开远市| 滁州市| 团风县| 民和| 连城县| 泸水县| 正镶白旗| 弥渡县| 泽普县| 邮箱| 留坝县| 巴彦县| 清流县| 武清区| 台中县| 奈曼旗| 桦甸市| 宁城县| 五台县| 彰化县| 中阳县| 响水县| 祥云县| 德令哈市| 保靖县| 丁青县| 古蔺县| 集贤县| 昆明市| 延安市| 承德市| 理塘县| 漳浦县| 炎陵县| 天峻县| 哈密市|