專利名稱:服務器訪問方法、裝置和系統的制作方法
技術領域:
本發明涉及計算機領域,尤其涉及一種服務器訪問方法、裝置和系統。
背景技術:
Internet的飛速發展給網絡帶寬和服務器帶來巨大的挑戰。從網絡技術的發展來 看,網絡帶寬的增長遠高于處理器速度和內存訪問速度的增長,針對高可伸縮、高可用網絡 服務的需求,目前已經給出了基于IP層和基于內容請求分發的負載平衡調度解決方法,并 在Linux內核中實現了這些方法,將一組服務器構成一個實現可伸縮的、高可用網絡服務 的虛擬服務器。虛擬服務器中的各服務器通過高速的局域網或者地理分布的廣域網相互連 接,在它們的前端有一個負載均衡調度器(Load Balancer)。負載均衡調度器能無縫地將發 送至虛擬服務器的客戶請求調度到各服務器上,從而使得服務器集群的結構對客戶是透明 的,客戶訪問集群系統提供的網絡服務就像訪問一臺高性能、高可用的服務器一樣。目前, 較為普遍的負載均衡方法是在傳輸層完成對服務器的調度。在實現客戶通過虛擬服務器訪問服務器資源的過程中,存在如下問題由于在傳輸層僅依據IP地址和端口進行轉發,這種轉發是盲目的,且必須把后臺 服務器內容設置成完全一致,浪費了服務器資源,系統工作效率低。
發明內容
本發明提供了一種服務器訪問方法、裝置和系統,解決了客戶端通過四層負載均 衡訪問服務器時資源浪費、效率低的問題。一種服務器訪問方法,包括負載均衡調度器根據客戶端發送的客戶請求中的應用層用戶信息,為所述客戶端 選擇目標服務器;所述負載均衡調度器指示所述客戶端直接訪問所述目標服務器。進一步的,所述負載均衡調度器指示所述客戶端直接訪問所述目標服務器包括所述負載均衡調度器根據所述客戶請求中的應用層用戶信息,生成HTTP重定向 指令,在所述HTTP重定向指令中攜帶所述目標服務器的地址;所述負載均衡調度器向所述客戶端發送所述HTTP重定向指令,指示所述客戶端 直接訪問所述目標服務器。進一步的,所述負載均衡調度器根據客戶端發送的客戶請求中的應用層用戶信 息,為所述客戶端選擇目標服務器包括所述負載均衡調度器根據所述應用層用戶信息,獲取提供相應業務的至少一個服 務器;從所述至少一個服務器中,選擇負載較輕的服務器作為目標服務器。本發明還提供了一種服務器訪問方法,包括客戶端向負載均衡調度器發送客戶請求,在所述客戶請求中攜帶有所述客戶端的
4應用層用戶信息;所述客戶端接收所述負載均衡調度器響應所述客戶請求的HTTP重定向指令,在所述HTTP重定向指令中攜帶目標服務器的地址;所述客戶端根據所述目標服務器的地址,向所述目標服務器發送客戶請求。本發明還提供了一種負載均衡調度器,包括服務器選擇模塊,根據客戶端發送的客戶請求中的應用層用戶信息,為所述客戶端選擇目標服務器; 指示模塊,用于指示所述客戶端直接訪問所述目標服務器。進一步的,所述服務器選擇模塊包括范圍確定單元,用于根據所述應用層用戶信息,獲取提供相應業務的至少一個服 務器;選擇執行單元,用于從所述至少一個服務器中,選擇負載較輕的服務器作為目標 服務器。進一步的,所述指示模塊包括指令生成單元,用于根據所述客戶請求中的應用層用戶信息,生成HTTP重定向指 令,在所述HTTP重定向指令中攜帶所述目標服務器的地址;指令下發單元,用于向所述客戶端發送所述HTTP重定向指令,指示所述客戶端直 接訪問所述目標服務器。本發明還提供了一種客戶端,包括指令接收模塊,用于接收HTTP重定向指令,在所述HTTP重定向指令中攜帶目標服 務器的地址;客戶請求發送模塊,用于向負載均衡調度器發送客戶請求,在所述客戶請求中攜 帶有所述客戶端的應用層用戶信息;或,在所述指令接收模塊接收到HTTP重定向指令后,根據所述目標服務器的地址,向 所述目標服務器發送客戶請求。本發明還提供了一種服務器訪問系統,包括負載均衡調度器和客戶端;所述負載均衡調度器,用于根據客戶端發送的客戶請求中的應用層用戶信息,為 所述客戶端選擇目標服務器,并指示所述客戶端直接訪問所述目標服務器;所述客戶端,用于向負載均衡調度器發送客戶請求,在所述客戶請求中攜帶有所 述客戶端的應用層用戶信息,接收所述負載均衡調度器發送的HTTP重定向指令,在所述 HTTP重定向指令中攜帶目標服務器的地址,并根據所述目標服務器的地址,向所述目標服 務器發送客戶請求。本發明的實施例提供了一種服務器訪問方法、裝置和系統,在負載均衡調度器接 收到客戶端發送的客戶請求時,首先提取該客戶請求中的用戶信息,根據用戶信息生成相 應的HTTP重定向指令,在該HTTP重定向指令中攜帶目標服務器的地址,然后向所述客戶端 發送所述HTTP重定向指令,指示所述客戶端直接訪問所述目標服務器,客戶端在接收到該 HTTP重定向指令后,就會根據其中的目標服務器的地址,對目標服務器進行訪問,實現了對 客戶請求的動態負載均衡,提高了服務器訪問效率,解決了客戶端通過四層負載均衡訪問 服務器時服務器負載不均衡的問題。
圖1為本發明的實施例提供的一種服務器訪問方法的流程圖;圖2為圖1中步驟102的具體流程圖;圖3為本發明的實施例提供的一種負載均衡調度器的結構示意圖;圖4為圖3中服務器選擇模塊301的結構示意圖;圖5為圖3中指示模塊302的結構示意圖;圖6為本發明的實施例提供的一種客戶端的結構示意圖;圖7為本發明的實施例提供的一種服務器訪問系統的結構示意圖。
具體實施例方式在通過四層負載均衡實現客戶端對服務器的訪問時,無法得知用戶在應用層輸入 的內容,故只能將處于同一負載均衡系統中的多個服務器的內容設置成完全一致,由負載 均衡調度器根據IP和端口對客戶請求進行轉發,系統靈活性差,浪費了服務器資源。為了解決上述問題,本發明的實施例提供了一種服務器訪問方法,使用該方法完 成對服務器訪問的流程如圖1所示,包括步驟101、負載均衡調度器接收客戶端發送的客戶請求;本步驟中,客戶端向負載均衡調度器發送客戶請求,請求該負載均衡調度器所在 虛擬服務器中的業務。在該客戶請求中,攜帶有應用層用戶信息,用戶信息包括客戶請求內 容的關鍵字、文件后綴等。步驟102、負載均衡調度器根據客戶請求,選擇目標服務器;本步驟具體如圖2所示,包括步驟1021、所述負載均衡調度器根據所述客戶請求中的應用層用戶信息,獲取提 供相應業務的至少一個服務器;本步驟中,負載均衡調度器根據應用層用戶信息,確定客戶請求的業務類型,進而 確定能夠提供該業務的至少一個服務器。步驟1022、從所述至少一個服務器中,選擇負載較輕的服務器作為目標服務器;本步驟中,負載均衡調度器檢測步驟1021獲取的各服務器的負載狀況,并選擇負 載較輕的服務器作為目標服務器,為客戶端提供業務。步驟103、負載均衡調度器生成并向所述客戶端發送HTTP重定向指令,指示所述 客戶端直接訪問所述目標服務器;本步驟中,負載均衡調度器根據步驟102中確定的目標服務器,生成HTTP重定向指令,在該指令中攜帶目標服務器的地址,將該HTTP重定向指令發送給客戶端。步驟104、客戶端根據所述目標服務器的地址,向所述目標服務器發送客戶請求;本步驟中,客戶端接收所述HTTP重定向指令,根據其中攜帶的目標服務器的地 址,向目標服務器發送客戶請求,并在此后需要使用該目標服務器提供的業務時,直接向該 目標服務器發出客戶請求。此外,為了增強系統可靠性,可以為各服務器配備一臺備份機,實現雙機熱備份。由于本發明實施例能夠針對應用層的用戶信息進行負載均衡,故可以將各服務器所承載的業務粒度細化,各服務器對客戶請求的處理效率也得到了提升。 本發明的實施例還提供了一種負載均衡調度器,其結構如圖3所示,包括服務器選擇模塊301,根據客戶端發送的客戶請求中的應用層用戶信息,為所述客 戶端選擇目標服務器;指示模塊302,用于指示所述客戶端直接訪問所述目標服務器。進一步的,所述服務器選擇模塊301的結構如圖4所示,包括范圍確定單元3011,用于根據所述應用層用戶信息,獲取提供相應業務的至少一 個服務器;選擇執行單元3012,用于從所述至少一個服務器中,選擇負載較輕的服務器作為 目標服務器。進一步的,所述指示模塊302的結構如圖5所示,包括指令生成單元3021,用于根據所述客戶請求中的應用層用戶信息,生成HTTP重定 向指令,在所述HTTP重定向指令中攜帶所述目標服務器的地址;指令下發單元3022,用于向所述客戶端發送所述HTTP重定向指令,指示所述客戶 端直接訪問所述目標服務器。本發明的實施例還提供了一種客戶端,其結構如圖6所示,包括指令接收模塊601,用于接收HTTP重定向指令,在所述HTTP重定向指令中攜帶目 標服務器的地址;客戶請求發送模塊602,用于向負載均衡調度器發送客戶請求,在所述客戶請求中 攜帶有所述客戶端的應用層用戶信息;或,在所述指令接收模塊接收到HTTP重定向指令后,根據所述目標服務器的地址,向 所述目標服務器發送客戶請求。本發明的實施例還提供了一種服務器訪問系統,其結構如圖7所示,包括負載均 衡調度器701和客戶端702 ;所述負載均衡調度器701,用于根據客戶端702發送的客戶請求中的應用層用戶 信息,為所述客戶端720選擇目標服務器,并指示所述客戶端702直接訪問所述目標服務 器; 所述客戶端702,用于向負載均衡調度器701發送客戶請求,在所述客戶請求中攜 帶有所述客戶端702的應用層用戶信息,接收所述負載均衡調度器701發送的HTTP重定向 指令,在所述HTTP重定向指令中攜帶目標服務器的地址,并根據所述目標服務器的地址, 向所述目標服務器發送客戶請求。上述負載均衡調度器、客戶端和服務器訪問系統,可以與本發明的實施例提供的 一種服務器訪問方法相結合,在負載均衡調度器接收到客戶端發送的客戶請求時,首先提 取該客戶請求中的用戶信息,根據用戶信息生成相應的HTTP重定向指令,在該HTTP重定向 指令中攜帶目標服務器的地址,然后向所述客戶端發送所述HTTP重定向指令,指示所述客 戶端直接訪問所述目標服務器,客戶端在接收到該HTTP重定向指令后,就會根據其中的目 標服務器的地址,對目標服務器進行訪問,實現了對客戶請求的動態負載均衡,提高了服務 器訪問效率,解決了客戶端通過四層負載均衡訪問服務器時服務器負載不均衡的問題。本領域普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。另外,在本發明各個實施例中的各功能單元可以采用硬件的形式實現,也可以采 用軟件功能模塊的形式實現。所述集成的模塊如果以軟件功能模塊的形式實現并作為獨立 的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。以上所述,僅為本發明的具體實施方式
,但本發明的保護范圍并不局限于此,任何 熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵 蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求所述的保護范圍為準。
權利要求
一種服務器訪問方法,其特征在于,包括負載均衡調度器根據客戶端發送的客戶請求中的應用層用戶信息,為所述客戶端選擇目標服務器;所述負載均衡調度器指示所述客戶端直接訪問所述目標服務器。
2.根據權利要求1所述的服務器訪問方法,其特征在于,所述負載均衡調度器指示所 述客戶端直接訪問所述目標服務器包括所述負載均衡調度器根據所述客戶請求中的應用層用戶信息,生成HTTP重定向指令, 在所述HTTP重定向指令中攜帶所述目標服務器的地址;所述負載均衡調度器向所述客戶端發送所述HTTP重定向指令,指示所述客戶端直接 訪問所述目標服務器。
3.根據權利要求1所述的負載均衡方法,其特征在于,所述負載均衡調度器根據客戶 端發送的客戶請求中的應用層用戶信息,為所述客戶端選擇目標服務器包括所述負載均衡調度器根據所述應用層用戶信息,獲取提供相應業務的至少一個服務器;從所述至少一個服務器中,選擇負載較輕的服務器作為目標服務器。
4.一種服務器訪問方法,其特征在于,包括客戶端向負載均衡調度器發送客戶請求,在所述客戶請求中攜帶有所述客戶端的應用 層用戶信息;所述客戶端接收所述負載均衡調度器響應所述客戶請求的HTTP重定向指令,在所述 HTTP重定向指令中攜帶目標服務器的地址;所述客戶端根據所述目標服務器的地址,向所述目標服務器發送客戶請求。
5.一種負載均衡調度器,其特征在于,包括服務器選擇模塊,根據客戶端發送的客戶請求中的應用層用戶信息,為所述客戶端選 擇目標服務器;指示模塊,用于指示所述客戶端直接訪問所述目標服務器。
6.根據權利要求5所述的負載均衡調度器,其特征在于,所述服務器選擇模塊包括 范圍確定單元,用于根據所述應用層用戶信息,獲取提供相應業務的至少一個服務器;選擇執行單元,用于從所述至少一個服務器中,選擇負載較輕的服務器作為目標服務器。
7.根據權利要求5所述的負載均衡調度器,其特征在于,所述指示模塊包括 指令生成單元,用于根據所述客戶請求中的應用層用戶信息,生成HTTP重定向指令,在所述HTTP重定向指令中攜帶所述目標服務器的地址;指令下發單元,用于向所述客戶端發送所述HTTP重定向指令,指示所述客戶端直接訪 問所述目標服務器。
8.一種客戶端,其特征在于,包括指令接收模塊,用于接收HTTP重定向指令,在所述HTTP重定向指令中攜帶目標服務器 的地址;客戶請求發送模塊,用于向負載均衡調度器發送客戶請求,在所述客戶請求中攜帶有所述客戶端的應用層用戶信息;或,在所述指令接收模塊接收到HTTP重定向指令后,根據所述目標服務器的地址,向所述 目標服務器發送客戶請求。
9. 一種服務器訪問系統,其特征在于,包括負載均衡調度器和客戶端; 所述負載均衡調度器,用于根據客戶端發送的客戶請求中的應用層用戶信息,為所述 客戶端選擇目標服務器,并指示所述客戶端直接訪問所述目標服務器;所述客戶端,用于向負載均衡調度器發送客戶請求,在所述客戶請求中攜帶有所述客 戶端的應用層用戶信息,接收所述負載均衡調度器發送的HTTP重定向指令,在所述HTTP重 定向指令中攜帶目標服務器的地址,并根據所述目標服務器的地址,向所述目標服務器發 送客戶請求。
全文摘要
本發明提供了一種服務器訪問方法、裝置和系統。涉及計算機領域;解決了客戶端通過四層負載均衡訪問服務器時資源浪費、效率低的問題。該方法包括負載均衡調度器根據客戶端發送的客戶請求中的應用層用戶信息,為所述客戶端選擇目標服務器;所述負載均衡調度器指示所述客戶端直接訪問所述目標服務器。本發明提供的技術方案適用于網絡四層的負載均衡。
文檔編號H04L12/56GK101808118SQ20101011674
公開日2010年8月18日 申請日期2010年3月2日 優先權日2010年3月2日
發明者苑鴻劍 申請人:浪潮(北京)電子信息產業有限公司