一種基於ssl數字證書的網絡負載均衡方法
2023-07-18 04:35:51 2
專利名稱:一種基於ssl數字證書的網絡負載均衡方法
技術領域:
本發明涉及一種網絡負載均衡方法,特別是關於一種基於SSL (Secure Socket Layer,安全套接層)數字證書的網絡負載均衡方法。
技術背景隨著現有網絡中業務訪問量和數據流量的快速增長,對後臺伺服器的處理能 力的要求也相應提高,單一的伺服器設備很難滿足目前的網絡需求。在此情況下, 我們可以選擇使用多臺伺服器來提供服務。然而,使用多臺伺服器存在一個問題, 那就是如何將訪問請求合理地分配到各個伺服器,使得每臺伺服器的能力都得到 充分發揮,從而更好地滿足用戶的需求。針對此種情況,網絡負載均衡方法應運 而生,它可以把來自網絡中的數據流量合理地分配到多個後臺伺服器上,從而最 大化地利用所有後臺伺服器。另外,隨著網際網路的發展,人們越來越多的依靠網絡來完成一些敏感數據的 事務處理,比如電子銀行,電子商務等等。這些敏感數據事務處理的電子化導 致非常重要和保密的數據經常在網絡中傳輸。為此,人們發明了很多新的技術來 保證這些私密和重要的數據能夠在網絡中安全可靠的傳輸,這其中最重要的就是利用SSL數字證書來驗證數據發送方和接受方的真實身份。有了負載均衡的需求和網絡安全的需求,對網絡安全數據的負載均衡自然而 然的成為符合網絡發展大潮流的重要功能。目前為止還沒有一個很好的考慮了網 絡安全的負載均衡方法,使得安全保密的數據得以有效的在網絡中傳輸。 發明內容針對上述問題,本發明的目的是提供一種基於SSL數字證書的網絡流量負載 均衡的方法,該方法在做負載均衡的同時兼顧了計算機網絡安全。為實現上述目的,本發明採取以下技術方案 一種基於SSL數字證書的網絡 負載均衡方法,其包括以下步驟1)定義若干後臺伺服器組;2)收到客戶請求, 根據客戶請求中SSL數字證書的內容求出一個key值;3)根據求出的key值找到 對應的後臺伺服器組;4)將客戶請求分配到找到的後臺伺服器組中。在進行步驟l)時,採取以下兩種定義方法之一①將所述後臺伺服器組以名 稱排序填入散列表;②直接給後臺伺服器組起名,並建立與key值的對應關係。在進行步驟2)時,採用以下兩種算法之一①利用智能散列算法,根據整個 SSL數字證書或其中一個欄位內容,計算出key值;②直接取出SSL數字證書中的 一個欄位信息作為key值。利用智能散列算法時,用散列表有效項個數對key值取模,根據得到的模數 從散列表中找到對應的後臺伺服器組。用散列表有效項個數對key值取模,利用如下取模公式key%n = m,其中 n為散列表有效項個數,m是伺服器的編號。直接取出SSL數字證書中的一個欄位信息作為key值時,根據後臺伺服器組 名稱與key值建立的對應關係,直接找到與key值對應的後臺伺服器組。所述後臺伺服器組中包括至少一組後備伺服器。定期對後臺伺服器組進行健康檢查,健康檢査是負載均衡設備將自身模擬為 一虛擬客戶,間斷向各後臺伺服器組發送請求,檢査各後臺伺服器組狀態。當健康檢査顯示其中一個後臺伺服器組己經失效,則將分配到該後臺伺服器 組的客戶請求分配到後備伺服器組。當健康檢查顯示其中一個後臺伺服器組已經恢復正常,則將客戶請求重新分 配到該所述後臺伺服器組。由於採用了以上技術方案,使本發明具有如下一些特點1、本發明在負載均 衡方法中考慮了客戶的身份信息,把來自不同身份的客戶的訪問請求分配到不同 的伺服器組中,這些伺服器組根據各自不同的安全保護措施,對不同身份的客戶 請求做出響應,從而保證了事務處理的安全性,有效抵制了虛假客戶或惡意客戶 對後臺系統的侵犯。2、通過客戶的身份信息還可以為不同客戶提供不同質量的服 務,如對金卡會員提供VIP服務,對其他會員只提供普通服務等等。這樣就大大 增加了服務的靈活性和多樣性。3、最大化地利用了後臺伺服器的能力。每個服務 器組為來自不同客戶的請求提供服務,各個伺服器組處理不同客戶的請求,使得 所服務的客戶都能得到快速響應。
圖1是本發明的一個應用環境實例示意圖 圖2是本發明中所參考的SSL數字證書整體結構示意圖 圖3是本發明證書主體結構示意圖具體實施方式
本發明的基本思路是1、使用已有技術中的智能散列算法或其它算法根據客 戶端證書的內容得出一個關鍵值(Key)。 2、根據Key值的不同將來自不同客戶端的請求數據分到不同的後臺伺服器組中。3、根據實際的需要,可以額外建立一個 後備伺服器組, 一旦某個後臺伺服器組中的伺服器都不可用時,後備伺服器組中 的伺服器將會被採用。下面結合附圖和實施例,對本發明進行詳細的描述。基於上述基本思路,本發明方法包括以下步驟1)如圖1所示,定義若干後臺伺服器組。①定義若干個後臺伺服器組本實施例一共定義三個後臺伺服器組一一第1 組、第2組、第3組,每個組中可以包括若干個後臺伺服器。本實施例用如下兩 種方法定義後臺伺服器a、將後臺伺服器組填入散列表,以後臺伺服器組名稱排序,比如本實施例中 散列表的有效項個數為3,內容為012o o o第1組第2組第3組o o ob、直接給後臺伺服器組起名,並建立與key值的對應關係。比如本實施例三 個後臺伺服器事先起名為"研發","測試"和"銷售"。後臺伺服器的定義方法有很多種,具體採用哪種方法來定義可以根據實際需要來靈活選擇。②定義一個後備伺服器組(可選)後備伺服器組也可以包括若干個伺服器,本實施例定義了一個。2)收到客戶請求,根據客戶請求中SSL數字證書的內容求出一個key值。 如圖2所示, 一般情況下,SSL數字證書的內容結構包括證書主體 (TBSCertificate)、證書籤名算法標識(signatureAlgorithm)和證書籤名值 (signatureValue)三個部分。其中TBSCertif icate部分是關鍵部分,它包含了 證書的很多關鍵欄位,如圖3所示,比如主體名稱(siibject)、籤發者名稱 (issuer)、主體的公鑰(subjectPublicKeylnfo) 、 i正書的有效期(validity)以及 其它的相關信息。下面列舉兩種求key值的算法① 利用智能散列算法對相關作哈希,得到key值。這裡可以根據整個證書的 內容,也可以根據證書某一欄位(如subject)的內容來做負載均衡Hash(整個證書或證書的某個欄位)二 key② 取出證書內容中一個欄位信息直接作為key值,如主體欄位中的0U欄位 (organization unit,機構部門)o對於同一個實施環境中,我們是要求採用其中一種算法求key值,從而保證 相同證書內容的客戶請求得到的key值永遠一樣,因此它能夠將概率上大致相同多的客戶請求或任務量分配給每一臺伺服器,從而保證了網絡流量的均勻分配。3) 根據求出的key值找到對應的後臺伺服器組。① 如果是利用智能散列算法對相關證書內容作哈希,則得到的key值是一個 數字,因此用散列表有效項個數對key值取模,然後根據得到的模數從散列表中 找到對應的伺服器組,取模公式為key % n 二 m其中n為散列表有效項個數,m是伺服器的編號。如101 % 3 = 2,與第三 個後臺伺服器組對應(O與第一個後臺伺服器組對應)。② 如果是直接取出證書內容中一個欄位信息,則key值是個名稱,因此可以 與後臺伺服器組的名稱建立對應關係。比如三個後臺伺服器事先起名為"研發","測試"和"銷售",則機構部門(0U)欄位為"測試"的客戶請求將會找到名 稱為"測試"的後臺伺服器組。4) 將客戶請求分配到找到的後臺伺服器組中。如果定義了後備伺服器組的話,則需要對各後臺伺服器進行健康檢查。健康 檢查是負載均衡設備將自身模擬為一虛擬客戶,間斷向後臺伺服器組發送請求, 檢查後臺伺服器組狀態,並選擇最終使用的伺服器組。如果伺服器組生效,則使 用此伺服器組;如果伺服器組已經失效,則使用後備伺服器組。當此伺服器組恢 復正常後,原有的流量又會返回該伺服器,這是因為求出的key值將會被優先使 用決定伺服器組,從而保證了伺服器組的可恢復性,使得短暫故障的伺服器恢復 後馬上被派上用場。例如1、當第l組伺服器有效時,客戶請求被分配到第l組 伺服器。2、當第1組伺服器變為失效後,客戶請求會被分配到後備伺服器組。3、 當第1組伺服器再次生效後,客戶請求又會被重新分配到第1組伺服器。上述實施例中僅舉例說明了兩種求key值的算法,但實際上求key值的算法 有很多種,且都為本領域技術人員公知的算法,具體採用哪種算法以及參考哪些 證書信息可以根據實際需要來靈活選擇。上述實施例中僅根據兩種不同的求key值算法舉例說明了兩種key值與後臺 伺服器的對應關係,但由於求key值的算法有很多種,因此key值與後臺伺服器 的對應關係也有很多種,具體採用哪種對應關係可以根據求key值的算法來靈活 選擇,且都為本領域的技術人員公知。上述實施例僅為本發明的一個較佳實施例,在本發明的實質創意範圍內,本 發明採用的某些算法和對應關係都可以有許多變化或替換,這些算法和對應關係 的變化或替換都不應排除在本發明的保護範圍之外。
權利要求
1、一種基於SSL數字證書的網絡負載均衡方法,其包括以下步驟1)定義若干後臺伺服器組;2)收到客戶請求,根據客戶請求中SSL數字證書的內容求出一個key值;3)根據求出的key值找到對應的後臺伺服器組;4)將客戶請求分配到找到的後臺伺服器組中。
2、 如權利要求1所述的一種基於SSL數字證書的網絡負載均衡方法,其特徵 在於在進行步驟l)時,採取以下兩種定義方法之一① 將所述後臺伺服器組以名稱排序填入散列表;② 直接給後臺伺服器組起名,並建立與key值的對應關係。
3、 如權利要求1所述一種基於SSL數字證書的網絡負載均衡方法,其特徵在 於在進行步驟2)時,採用以下兩種算法之一① 利用智能散列算法,根據整個SSL數字證書或其中一個欄位內容,計算出 key值;② 直接取出SSL數字證書中的一個欄位信息作為key值。
4、 如權利要求3所述一種基於SSL數字證書的網絡負載均衡方法,其特徵在 於利用智能散列算法時,用散列表有效項個數對key值取模,根據得到的模數 從散列表中找到對應的後臺伺服器組。
5、 如權利要求4所述一種基於SSL數字證書的網絡負載均衡方法,其特徵在 於用散列表有效項個數對key值取模,利用如下取模公式key % n = m,其中 n為散列表有效項個數,m是伺服器的編號。
6、 如權利要求3所述一種基於SSL數字證書的網絡負載均衡方法,其特徵在 於直接取出SSL數字證書中的一個欄位信息作為key值時,根據後臺伺服器組 名稱與key值建立的對應關係,直接找到與key值對應的後臺伺服器組。
7、 如權利要求1所述一種基於SSL數字證書的網絡負載均衡方法,其特徵在 於所述後臺伺服器組中包括至少一組後備伺服器。
8、 如權利要求1或7所述一種基於SSL數字證書的網絡負載均衡方法,其特 徵在於定期對後臺伺服器組進行健康檢查,健康檢査是負載均衡設備將自身模 擬為一虛擬客戶,間斷向各後臺伺服器組發送請求,檢査各後臺伺服器組狀態。
9、 如權利要求8所述一種基於SSL數字證書的網絡負載均衡方法,其特徵在 於當健康檢查顯示其中一個後臺伺服器組已經失效,則將分配到該後臺伺服器組的客戶請求分配到後備伺服器組。
10、如權利要求8所述一種基於SSL數字證書的網絡負載均衡方法,其特徵在於當健康檢査顯示其中一個後臺伺服器組已經恢復正常,則將客戶請求重新 分配到該所述後臺伺服器組。
全文摘要
本發明涉及一種基於SSL數字證書的網絡負載均衡方法,其包括以下步驟1)定義若干後臺伺服器組;2)收到客戶請求,根據客戶請求中SSL數字證書的內容求出一個key值;3)根據求出的key值找到對應的後臺伺服器組;4)將客戶請求分配到找到的後臺伺服器組中。該方法在做負載均衡的同時兼顧了計算機網絡安全,不僅保證了網絡事務處理的安全性,而且使得所服務的客戶都能得到快速響應。本發明最大化地利用了後臺伺服器的能力。每個伺服器組為來自不同客戶的請求提供服務,各個伺服器組處理不同客戶的請求,使得所服務的客戶都能得到快速響應。
文檔編號H04L9/32GK101247350SQ200810101868
公開日2008年8月20日 申請日期2008年3月13日 優先權日2008年3月13日
發明者寇洪斌, 林桂賢, 貝少峰 申請人:華耀環宇科技(北京)有限公司