中文字幕无码日韩视频无码三区

會話保持方法和裝置制造方法

文檔(dang)序(xu)號:8005711閱讀:284來(lai)源:國知局
會話保持方法和裝置制造方法
【專利摘要】本發明提供一種會話保持方法和裝置,通過負載均衡設備為客戶端設置會話保持標識,并通過包含會話保持標識的HTTP重定向應答報文將上述會話保持標識發送給客戶端,客戶端在后續的HTTP請求報文中攜帶上述會話保持報文,負載均衡設備根據本地存儲的會話保持標識與服務器的對應關系,將HTTP請求報文發送到上述對應關系的服務器,以確保具有相同的會話保持標識的HTTP請求報文由同一服務器服務,從而實現會話保持,服務器接收到HTTP請求報文之后,向負載均衡設備發送HTTP應答報文,負載均衡設備可直接轉發給客戶端,無需通過解析服務器發送的每個HTTP應答報文以獲取會話保持標識與服務器的對應關系,因此,減輕了負載均衡設備的負擔,提高了處理能力。
【專利說明】會話保持方法和裝置
【技術領域】
[0001]本發明涉及計算機技術,尤其涉及一種會話保持方法和裝置。
【背景技術】
[0002]在服務器集群的應用場景中,多臺具有相同或者相似功能的服務器通過負載均衡設備連接在一起,當客戶端向服務器請求服務時,負載均衡設備根據已配置的均衡策略將客戶端的超文本傳輸協議(Hypertext transfer protocol,以下簡稱:HTTP)請求報文發送到服務器集群中的一臺服務器,也就是,根據服務器集群中各服務器的當前負載情況將客戶端的HTTP請求報文合理分配到不同的服務器,從而使得各服務器能夠均衡地分擔負載,提高系統性能。這種情況下,同一客戶端的不同HTTP請求報文就可能被分配到不同的服務器進行處理。
[0003]然而,在很多應用場合下,客戶端的請求需要由同一臺服務器進行處理。例如,電子商務網站的購物車,客戶端瀏覽器與網頁(Web)服務器之間進行數據交互,當客戶端向購物車中添加商品時,服務器必須保留客戶端的購物車信息,才不會出現問題;因此,需要通過會話保持技術以保證需要會話保持的客戶端的HTTP請求報文被分配到同一服務器上進行處理。現有技術中,負載均衡設備將客戶端的HTTP請求報文轉發給服務器,服務器根據客戶端的HTTP請求報文分配cookie信息,并將cookie信息包含在HTTP應答報文中發送給負載均衡設備,負載均衡設備解析服務器發送的HTTP應答報文,并存儲HTTP應答報文中的cookie信息與發送上述HTTP應答報文的服務器的對應關系,然后,將HTTP應答報文轉發給客戶端,客戶端在后續的需要會話保持的HTTP請求報文中包含上述cookie信息,負載均衡設備根據HTTP請求報文中的cookie信息以及記錄的cookie信息與服務器的對應關系,將HTTP請求報文轉發到cookie信息與服務器的對應關系中的服務器,從而實現會話保持。
[0004]然而,采用現有技術的方法,cookie信息由服務器設置,負載均衡設備無法預知服務器會在哪個HTTP應答報文中包含cookie信息,因此,需要解析服務器發送的每一個HTTP應答報文,以獲取cookie信息與服務器的對應關系,降低了負載均衡設備的處理能力。

【發明內容】

[0005]本發明提供一種會話保持方法和裝置,以提高負載均衡設備的處理能力。
[0006]本發明實施例第一方面提供一種會話保持方法,包括:
[0007]接收客戶端發送的超文本傳輸協議HTTP請求報文,所述HTTP請求報文為需要會話保持的HTTP請求報文;
[0008]判斷所述HTTP請求報文中是否包含會話保持標識,所述會話保持標識用于指示將包含相同的會話保持標識的HTTP請求報文發送到同一服務器;
[0009]若不包含,則為發送所述HTTP請求報文的客戶端設置會話保持標識,并向所述客戶端發送HTTP重定向應答報文,所述HTTP重定向應答報文中包含所述會話保持標識,以使所述客戶端根據所述會話保持標識向負載均衡設備發送包含所述會話保持標識的HTTP請求報文;
[0010]若包含,則根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器;
[0011]將所述服務器發送的HTTP應答報文轉發給所述客戶端。
[0012]本發明實施例第二方面提供一種會話保持方法,包括:
[0013]接收負載均衡設備發送的HTTP重定向應答報文,所述HTTP重定向應答報文中包含會話保持標識;
[0014]向所述負載均衡設備發送HTTP請求報文,所述HTTP請求報文中包含所述會話保持標識,以使所述負載均衡設備根據所述會話保持標識確定為所述客戶端服務的服務器。
[0015]本發明實施例第三方面提供一種會話保持裝置,包括:
[0016]接收模塊,用于接收客戶端發送的超文本傳輸協議HTTP請求報文,所述HTTP請求報文為需要會話保持的HTTP請求報文;
[0017]處理模塊,用于判斷所述HTTP請求報文中是否包含會話保持標識,所述會話保持標識用于指示將包含相同的會話保持標識的HTTP請求報文發送到同一服務器;若不包含,則為發送所述HTTP請求報文的客戶端設置會話保持標識,并向所述客戶端發送HTTP重定向應答報文,所述HTTP重定向應答報文中包含所述會話保持標識,以使所述客戶端根據所述會話保持標識向負載均衡設備發送包含所述會話保持標識的HTTP請求報文;若包含,則根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器;
[0018]發送模塊,用于將所述服務器發送的HTTP應答報文轉發給所述客戶端。
[0019]本發明實施例第四方面提供一種會話保持裝置,包括:接收模塊,用于接收負載均衡設備發送的HTTP重定向應答報文,所述HTTP重定向應答報文中包含會話保持標識;
[0020]發送模塊,用于向所述負載均衡設備發送HTTP請求報文,所述HTTP請求報文中包含所述會話保持標識,以使所述負載均衡設備根據所述會話保持標識確定為所述客戶端服務的服務器。
[0021]本發明提供的會話保持方法和裝置,通過負載均衡設備為客戶端設置會話保持標識,并通過包含會話保持標識的HTTP重定向應答報文將上述會話保持標識發送給客戶端,以使客戶端在后續的HTTP請求報文中攜帶上述會話保持報文,負載均衡設備根據本地存儲的會話保持標識與服務器的對應關系,將HTTP請求報文發送到上述會話保持標識與服務器的對應關系的服務器,以確保具有相同的會話保持標識的HTTP請求報文由同一服務器服務,從而實現會話保持,服務器接收到HTTP請求報文之后,向負載均衡設備發送HTTP應答報文,負載均衡設備可直接轉發給客戶端,而無需通過解析服務器發送的每個HTTP應答報文以獲取會話保持標識與服務器的對應關系,因此,減輕了負載均衡設備的負擔,提高了處理能力。
【專利附圖】

【附圖說明】
[0022]圖1為本發明會話保持方法實施例一的流程示意圖;
[0023]圖2為本發明會話保持方法實施例二的流程示意圖;[0024]圖3為本發明會話保持方法實施例三的流程示意圖;
[0025]圖4為本發明會話保持裝置實施例一的結構示意圖;
[0026]圖5為本發明會話保持裝置實施例二的結構示意圖;
[0027]圖6為本發明會話保持裝置實施例三的結構示意圖。
【具體實施方式】
[0028]由于現有技術中,負載均衡設備無法預知服務器會在哪個HTTP應答報文中設置cookie信息,因此,需要通過解析服務器發送的每個HTTP應答報文,以獲取cookie信息與服務器的對應關系,降低了負載均衡設備的處理能力。為了解決上述問題,本發明負載均衡設備接收到客戶端發送的HTTP請求報文之后,若HTTP請求報文為需要會話保持的HTTP請求報文,則判斷HTTP請求報文中是否包含會話保持標識,會話保持標識用于指示將包含相同的會話保持標識的HTTP請求報文發送到同一服務器,會話保持標識可以為cookie信息,如果HTTP請求報文中未包含會話保持標識,則為發送HTTP請求報文的客戶端設置會話保持標識,并通過HTTP重定向應答報文向所述客戶端發送上述會話保持標識,客戶端接收到包含上述會話保持標識的HTTP重定向應答報文之后,在后續的請求報文中將包含上述會話保持標識;若負載均衡設備接收到包含上述會話保持標識的HTTP請求報文之后,根據負載均衡設備本地存儲的會話保持標識與服務器的對應關系,將HTTP請求報文發送到與上述會話保持標識對應的服務器,以確保具有相同的會話保持標識的HTTP請求報文由同一服務器服務,從而實現會話保持,服務器接收到HTTP請求報文之后,向負載均衡設備發送HTTP應答報文,負載均衡設備可直接轉發給客戶端,而無需通過解析服務器發送的每個HTTP應答報文以獲取會話保持標識與服務器的對應關系,因此,減輕了負載均衡設備的負擔,提聞了處理能力。
[0029]圖1為本發明會話保持方法實施例一的流程示意圖,如圖1所示,本實施例的方法包括:
[0030]SlOl:負載均衡設備接收客戶端發送的HTTP請求報文。
[0031]上述HTTP請求報文為需要會話保持的HTTP請求報文,負載均衡設備可以通過解析HTTP請求報文中的統一資源定位符(Uniform Resource Locator,以下簡稱:URL)字段,獲知HTTP請求報文是否為需要會話保持的HTTP請求報文,例如,當URL字段中包含“?tab=mo&authuser=0#my-drive”字符串時,可確定該HTTP請求報文為需要會話保持的HTTP請求報文,包含上述“?tab=mo&authuser=0#my-drive”字符串的HTTP請求報文都應該由同一服務器提供服務,才能確保業務的正常進行。
[0032]S102:負載均衡設備判斷HTTP請求報文中是否包含會話保持標識,若是,執行S104,若否,執行S103。
[0033]會話保持標識用于指示將包含相同的會話保持標識的HTTP請求報文發送到同一服務器。每一個會話保持標識對應一個作用域,客戶端可根據會話保持標識對應的作用域確定需要會話保持的待發送的HTTP請求報文,在待發送的HTTP請求報文中包含上述會話保持標識。作為其中的一種可行的實現方式,會話保持標識可以為cookie信息。
[0034]S103:負載均衡設備為發送上述HTTP請求報文的客戶端設置會話保持標識,并向所述客戶端發送HTTP重定向應答報文,當前處理流程結束。[0035]其中,HTTP重定向應答報文中包含上述會話保持標識,客戶端接收到HTTP重定向應答報文之后,向負載均衡設備重新發送HTTP請求報文,與上一次的HTTP請求報文不同的是,重新發送的HTTP請求報文中包含上述會話保持標識。并且在后續的屬于會話保持標識作用域的HTTP請求報文中都包含上述會話保持標識,使負載均衡設備可以根據上述會話保持標識確定為客戶端服務的服務器,將具有相同的會話保持標識的HTTP請求報文發送到同一服務器,由同一服務器提供服務,以保證會話保持。
[0036]S104:負載均衡設備根據會話保持標識與服務器的對應關系,將HTTP請求報文發送給服務器。
[0037]作為其中的一種可行的實現方式,會話保持標識與服務器的對應關系,可以是在負載均衡設備為客戶端設置會話保持標識之后,根據第一預設規則建立并保存上述會話保持標識與服務器的對應關系,然后根據會話保持標識與服務器的對應關系,將HTTP請求報文發送給與所述會話保持標識對應的服務器。
[0038]作為另一種可行的實現方式,也可以是在首次接收到包含上述會話保持標識的HTTP請求報文之后,判斷負載均衡設備本地是否存儲有上述會話保持標識與服務器的對應關系,若存儲,則根據會話保持標識與服務器的對應關系,將上述HTTP請求報文發送給與所述會話保持標識對應的服務器;若未存儲,則根據第二預設規則建立并保存上述會話保持標識與服務器的對應關系,并根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與上述會話保持標識對應的服務器。
[0039]在上述兩種實現方式中,第一預設規則或第二預設規則具體規則本發明對此不作限制,下面以幾種常見的預設規則進行舉例說明:
[0040]第一種預設規則:輪詢,即依據既定的順序,將會話保持標識依次對應到不同服務器。例如:有3臺服務器A、B、C,第一個回話保持標識對應到服務器A,第二個會話保持標識對應到服務器B,第三個會話保持標識對應到服務器C,第四個會話保持標識對應到服務器A,依照此順序依次分配會話保持標識與服務器的對應關系。每臺服務器對應的會話保持標識的數量比例為1:1:1。
[0041]第二種預設規則:加權輪詢,與輪詢類似,但每臺服務器根據其權重分配對應的會話保持標識。例如服務器A、B、C的權重分別為4、3、1,那么與每臺服務器對應的會話保持標識的比例為4:3:1。
[0042]第三種預設規則:優先級,先對服務器進行分組(每組包含I臺或多臺服務器),為每個服務器組定義一個優先級和一個閾值(用于確定組內服務器對應的會話保持標識總數的上限)。建立對應關系時,先將會話保持標識對應到優先級最高的服務器組,當最高優先級的服務器組對應的會話保持標識數到達閾值時,才將后續會話保持標識對應到次高優先級的服務器組,以此類推。此外,在同一服務器組內的多臺服務器之間,采用上述輪詢或加權輪詢的方式。
[0043]其中,第一預設規則可以與第二預設規則相同,也可以不相同。
[0044]由于服務器集群中的服務器的負載情況在實時變化,因此,上述兩種可能的實現方式中,后一種實現方式建立會話保持標識與服務器的對應關系的時機更合理一些,所分配的服務器的負載情況更適合處理上述客戶端的請求。
[0045]可選地,在本步驟中,負載均衡設備根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給所述服務器,具體可以是將HTTP請求報文中的會話保持標識刪除,然后將刪除會話保持標識后的HTTP請求報文,根據會話保持標識與服務器的對應關系,發送給與上述會話保持標識對應的服務器。
[0046]會話保持標識與服務器的對應關系可以存儲在負載均衡設備本地的一個會話保持標識與服務器的對應關系表中,如表I所不:
[0047]表I會話保持標識與服務器的對應關系表
[0048]
【權利要求】
1.一種會話保持方法,其特征在于,包括: 接收客戶端發送的超文本傳輸協議HTTP請求報文,所述HTTP請求報文為需要會話保持的HTTP請求報文; 判斷所述HTTP請求報文中是否包含會話保持標識,所述會話保持標識用于指示將包含相同的會話保持標識的HTTP請求報文發送到同一服務器; 若不包含,則為發送所述HTTP請求報文的客戶端設置會話保持標識,并向所述客戶端發送HTTP重定向應答報文,所述HTTP重定向應答報文中包含所述會話保持標識,以使所述客戶端根據所述會話保持標識向負載均衡設備發送包含所述會話保持標識的HTTP請求報文; 若包含,則根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器; 將所述服務器發送的HTTP應答報文轉發給所述客戶端。
2.根據權利要求1所述的方法,其特征在于,所述為發送所述HTTP請求報文的客戶端設置會話保持標識之后,還包括: 根據第一預設規則建立并保存所述會話保持標識與服務器的對應關系。
3.根據權利要求1所述的方法,其特征在于,所述根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器,包括: 判斷負載均衡設備本地是否存儲有所述會話保持標識與服務器的對應關系; 若是,則根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器; 若否,則根據第二預設規則建立并保存所述會話保持標識與服務器的對應關系,并根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器。
4.根據權利要求1-3任一項所述的方法,其特征在于,所述根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器包括: 刪除所述HTTP請求報文中的所述會話保持標識; 將刪除所述會話保持標識后的HTTP請求報文,根據所述會話保持標識與服務器的對應關系,發送給與所述會話保持標識對應的服務器。
5.根據權利要求4所述的方法,其特征在于,所述會話保持標識為cookie信息。
6.一種會話保持方法,其特征在于,包括: 接收負載均衡設備發送的HTTP重定向應答報文,所述HTTP重定向應答報文中包含會話保持標識; 向所述負載均衡設備發送HTTP請求報文,所述HTTP請求報文中包含所述會話保持標識,以使所述負載均衡設備根據所述會話保持標識確定為所述客戶端服務的服務器。
7.一種會話保持裝置,其特征在于,包括: 接收模塊,用于接收客戶端發送的超文本傳輸協議HTTP請求報文,所述HTTP請求報文為需要會話保持的HTTP請求報文; 處理模塊,用于判斷所述HTTP請求報文中是否包含會話保持標識,所述會話保持標識用于指示將包含相同的會話保持標識的HTTP請求報文發送到同一服務器;若不包含,則為發送所述HTTP請求報文的客戶端設置會話保持標識,并向所述客戶端發送HTTP重定向應答報文,所述HTTP重定向應答報文中包含所述會話保持標識,以使所述客戶端根據所述會話保持標識向負載均衡設備發送包含所述會話保持標識的HTTP請求報文;若包含,則根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器; 發送模塊,用于將所述服務器發送的HTTP應答報文轉發給所述客戶端。
8.根據權利要求7所述的裝置,其特征在于,所述處理模塊還用于為發送所述HTTP請求報文的客戶端設置會話保持標識之后,根據第一預設規則建立并保存所述會話保持標識與服務器的對應關系。
9.根據權利要求7所述的裝置,其特征在于,所述處理模塊根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器時,具體用于判斷負載均衡設備本地是否存儲有所述會話保持標識與服務器的對應關系;若是,則根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器;若否,則根據第二預設規則建立并保存所述會話保持標識與服務器的對應關系,并根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器。
10.根據權利要求7-9任一項所述的裝置,其特征在于,所述處理模塊根據所述會話保持標識與服務器的對應關系,將所述HTTP請求報文發送給與所述會話保持標識對應的服務器時,具體用于刪除所述HTTP請求報文中的所述會話保持標識;將刪除所述會話保持標識后的HTTP請求報文,根據所述會話保持標識與服務器的對應關系,發送給與所述會話保持標識對應的服務器。
11.一種會話保持裝置,其特征在于,包括: 接收模塊,用于接收負載均衡設`備發送的HTTP重定向應答報文,所述HTTP重定向應答報文中包含會話保持標識; 發送模塊,用于向所述負載均衡設備發送HTTP請求報文,所述HTTP請求報文中包含所述會話保持標識,以使所述負載均衡設備根據所述會話保持標識確定為所述客戶端服務的服務器。
【文檔編號】H04L29/06GK103457869SQ201310381800
【公開日】2013年12月18日 申請日期:2013年8月28日 優先權日:2013年8月28日
【發明者】鄧曉明 申請人:北京星網銳捷網絡技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1