国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種服務(wù)器集群系統(tǒng)及負(fù)載均衡方法

      文檔序號:7701616閱讀:317來源:國知局
      專利名稱:一種服務(wù)器集群系統(tǒng)及負(fù)載均衡方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種服務(wù)器集群系統(tǒng)和負(fù)載均衡方法。
      背景技術(shù)
      隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,業(yè)務(wù)類型變得多樣化,從單一業(yè)務(wù)的數(shù)據(jù)通信發(fā)展到如 今能支持語音、視頻等多種業(yè)務(wù)的多媒體通信。對于由單臺(tái)服務(wù)器組成的系統(tǒng)而言,由于 單臺(tái)服務(wù)器的中央處理器、輸入/輸出接口處理速度等方面的限制,已無法滿足快速增長 的數(shù)據(jù)量以及同時(shí)處理多種業(yè)務(wù)的要求,取而代之的是由多臺(tái)服務(wù)器組成的服務(wù)器集群系 統(tǒng)。服務(wù)器集群系統(tǒng)要求一種高效負(fù)載均衡方法以保證多個(gè)消息請求被合理地分配 至多臺(tái)服務(wù)器?,F(xiàn)有的基于權(quán)值輪詢調(diào)度算法的負(fù)載均衡方法依據(jù)服務(wù)器性能的不同為 即時(shí)消息請求選擇目標(biāo)服務(wù)器,充分利用了服務(wù)器集群系統(tǒng)的資源;現(xiàn)有的基于會(huì)話編號 (Session ID)的負(fù)載均衡方法能夠識別同一用戶終端發(fā)出的不同即時(shí)消息請求,使這些即 時(shí)消息請求被同一臺(tái)服務(wù)器處理,節(jié)省了重復(fù)身份識別、參數(shù)傳遞等動(dòng)作。但是,上述負(fù)載 均衡方法均忽略了用戶終端請求相同業(yè)務(wù)的情況。

      發(fā)明內(nèi)容
      為了解決上述現(xiàn)有服務(wù)器集群系統(tǒng)沒有考慮用戶終端請求相同業(yè)務(wù)的問題,本發(fā) 明提供了一種服務(wù)器集群系統(tǒng)及負(fù)載均衡方法,使用該服務(wù)器集群系統(tǒng)和負(fù)載均衡方法能 為不同類型的即時(shí)消息請求選擇最合適的目標(biāo)服務(wù)器。本發(fā)明的技術(shù)方案如下本發(fā)明提供了一種服務(wù)器集群系統(tǒng)。該系統(tǒng)包括負(fù)載均衡子系統(tǒng)和服務(wù)器集群, 所述負(fù)載均衡子系統(tǒng)按照既定方法選擇處理即時(shí)消息請求的目標(biāo)服務(wù)器,其特征在于,所 述負(fù)載均衡子系統(tǒng)包括請求接收模塊,接收即時(shí)消息請求;HTTP解析模塊,解析即時(shí)消息請求的消息頭和消息體;請求轉(zhuǎn)發(fā)模塊,按照目標(biāo)服務(wù)器支持的傳輸協(xié)議封裝所述解析后的即時(shí)消息請 求,并發(fā)送已封裝的解析后的即時(shí)消息請求至所述目標(biāo)服務(wù)器;響應(yīng)接收模塊,接收目標(biāo)服務(wù)器發(fā)送的接收響應(yīng);響應(yīng)轉(zhuǎn)發(fā)模塊,按照HTTP封裝所述接收響應(yīng),并發(fā)送已封裝的接收響應(yīng)至即時(shí)消 息請求的發(fā)送端;內(nèi)存管理模塊,分配和管理負(fù)載均衡子系統(tǒng)的內(nèi)存資源;服務(wù)器管理模塊,配置所述服務(wù)器集群和設(shè)置所述服務(wù)器集群中服務(wù)器的參數(shù);目標(biāo)服務(wù)器選擇模塊一,根據(jù)所述解析后的即時(shí)消息請求的消息體中包含的業(yè)務(wù) 編號選擇目標(biāo)服務(wù)器;目標(biāo)服務(wù)器選擇模塊二,根據(jù)所述解析后的即時(shí)消息請求的消息頭中包含的會(huì)話編號選擇目標(biāo)服務(wù)器;目標(biāo)服務(wù)器選擇模塊三,根據(jù)所述服務(wù)器集群中的服務(wù)器性能選擇目標(biāo)服務(wù)器;狀態(tài)監(jiān)控模塊,用于獲取所述服務(wù)器集群中各臺(tái)服務(wù)器的工作狀態(tài)。上述服務(wù)器集群系統(tǒng)還包括預(yù)約消息管理子系統(tǒng),所述預(yù)約消息管理子系統(tǒng)包 括消息接收模塊,用于接收非即時(shí)消息請求或非即時(shí)消息請求的更新信息;消息存儲(chǔ)模塊,用于存儲(chǔ)所述非即時(shí)消息請求或所述非即時(shí)消息請求的更新信 息;數(shù)據(jù)管理模塊,用于檢測所述消息存儲(chǔ)模塊中非即時(shí)消息請求的處理時(shí)間以及用 于更新所述消息存儲(chǔ)模塊中的非即時(shí)消息請求;消息觸發(fā)模塊,在所述非即時(shí)消息請求的處理時(shí)間將所述非即時(shí)消息請求轉(zhuǎn)化為 即時(shí)消息請求,發(fā)送所述即時(shí)消息請求至所述負(fù)載均衡子系統(tǒng)。上述服務(wù)器集群系統(tǒng)中,所述消息存儲(chǔ)模塊包括數(shù)據(jù)庫子模塊,用于存儲(chǔ)來自消息接收模塊的非即時(shí)消息請求或非即時(shí)消息請求 的更新信息;數(shù)據(jù)緩存子模塊,用于存儲(chǔ)來自數(shù)據(jù)庫子模塊的非即時(shí)消息請求或來自消息接收 模塊的非即時(shí)消息請求的更新信息。上述服務(wù)器集群系統(tǒng)中,所述檢測所述消息存儲(chǔ)模塊中非即時(shí)消息請求的處理時(shí) 間是指A、所述數(shù)據(jù)管理模塊每隔既定時(shí)間X訪問一次所述數(shù)據(jù)庫子模塊,判斷所述數(shù)據(jù) 庫子模塊中是否有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理;B、如果所述數(shù)據(jù)庫子模塊中有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述數(shù)據(jù) 管理模塊將所述預(yù)約的非即時(shí)消息請求發(fā)送至所述消息觸發(fā)模塊;C、如果所述數(shù)據(jù)庫子模塊中沒有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述數(shù) 據(jù)管理模塊將所述數(shù)據(jù)庫子模塊中預(yù)約在所述訪問時(shí)刻和下一次訪問時(shí)刻之間處理的非 即時(shí)消息請求提取至所述數(shù)據(jù)緩存子模塊;D、所述數(shù)據(jù)管理模塊每隔既定時(shí)間Y訪問一次所述數(shù)據(jù)緩存子模塊,判斷所述數(shù) 據(jù)緩存子模塊中是否有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理;E、如果所述數(shù)據(jù)緩存子模塊中有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述數(shù) 據(jù)管理模塊將所述預(yù)約的非即時(shí)消息請求發(fā)送至所述消息觸發(fā)模塊;F、如果所述數(shù)據(jù)緩存子模塊中沒有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述 數(shù)據(jù)管理模塊等待下一訪問時(shí)刻訪問所述數(shù)據(jù)緩存子模塊;所述既定時(shí)間Y小于所述既定時(shí)間X。上述服務(wù)器集群系統(tǒng)中,所述更新所述消息存儲(chǔ)模塊中的非即時(shí)消息請求是指A、所述消息接收模塊接收非即時(shí)消息請求的更新信息;B、所述數(shù)據(jù)管理模塊訪問所述數(shù)據(jù)緩存子模塊,查找所述數(shù)據(jù)緩存子模塊中是否 存在所述更新信息對應(yīng)的非即時(shí)消息請求;C、如果所述數(shù)據(jù)緩存子模塊中存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述數(shù) 據(jù)管理模塊讀取所述更新信息至所述數(shù)據(jù)緩存子模塊,替換所述數(shù)據(jù)緩存子模塊中所述更新信息對應(yīng)的非即時(shí)消息請求中需要被更新的內(nèi)容,并向所述消息接收模塊發(fā)送更新成功 指示;D、如果所述數(shù)據(jù)緩存子模塊中不存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述 數(shù)據(jù)管理模塊訪問所述數(shù)據(jù)庫子模塊,查找所述數(shù)據(jù)庫子模塊中是否存在所述更新信息對 應(yīng)的非即時(shí)消息請求;E、如果所述數(shù)據(jù)庫子模塊中存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述數(shù)據(jù) 管理模塊讀取所述更新信息至所述數(shù)據(jù)庫子模塊,替換所述數(shù)據(jù)庫子模塊中所述更新信息 對應(yīng)的非即時(shí)消息請求中需要被更新的內(nèi)容,并向所述消息接收模塊發(fā)送更新成功指示;F、如果所述數(shù)據(jù)庫子模塊中不存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述數(shù) 據(jù)管理模塊向所述消息接收模塊發(fā)送更新失敗指示。上述服務(wù)器集群系統(tǒng)中,所述既定方法為A、接收即時(shí)消息請求;B、解析即時(shí)消息請求,判斷解析后的即時(shí)消息請求的消息頭是否含目標(biāo)服務(wù)器的 路徑;C、如果所述解析后的即時(shí)消息請求的消息頭不含目標(biāo)服務(wù)器的路徑,判斷解析后 的即時(shí)消息請求的消息體是否含業(yè)務(wù)編號;D、如果所述解析后的即時(shí)消息請求的消息體含業(yè)務(wù)編號,根據(jù)所述業(yè)務(wù)編號選擇 目標(biāo)服務(wù)器,按照所述目標(biāo)服務(wù)器支持的傳輸協(xié)議封裝所述解析后的即時(shí)消息請求,發(fā)送 已封裝的解析后的即時(shí)消息請求至所述目標(biāo)服務(wù)器;E、如果所述解析后的即時(shí)消息請求的消息體不含業(yè)務(wù)編號或者根據(jù)所述業(yè)務(wù)編 號選擇目標(biāo)服務(wù)器失敗,判斷所述解析后的即時(shí)消息請求的消息頭是否含會(huì)話編號;F、如果所述解析后的即時(shí)消息請求的消息頭含會(huì)話編號,根據(jù)所述會(huì)話編號選擇 目標(biāo)服務(wù)器,按照所述目標(biāo)服務(wù)器支持的傳輸協(xié)議封裝所述解析后的即時(shí)消息請求,發(fā)送 已封裝的解析后的即時(shí)消息請求至所述目標(biāo)服務(wù)器;G、如果所述解析后的即時(shí)消息請求的消息頭不含會(huì)話編號或者根據(jù)所述會(huì)話編 號選擇目標(biāo)服務(wù)器失敗,根據(jù)權(quán)值輪詢調(diào)度算法選擇目標(biāo)服務(wù)器,按照所述目標(biāo)服務(wù)器支 持的傳輸協(xié)議封裝所述解析后的即時(shí)消息請求,發(fā)送已封裝的解析后的即時(shí)消息請求至所 述目標(biāo)服務(wù)器;H、如果所述解析后的即時(shí)消息請求的消息頭含目標(biāo)服務(wù)器的路徑,按照目標(biāo)服務(wù) 器支持的傳輸協(xié)議封裝所述解析后即時(shí)消息請求,發(fā)送已封裝的解析后的即時(shí)消息請求至 所述目標(biāo)服務(wù)器;I、接收來自所述目標(biāo)服務(wù)器的接收響應(yīng);J、按HTTP封裝所述接收響應(yīng),并發(fā)送已封裝的接收響應(yīng)至所述即時(shí)消息請求的 發(fā)送端。該即時(shí)消息請求的發(fā)送端為直接發(fā)送即時(shí)消息請求的用戶終端或發(fā)送非即時(shí)消 息請求的用戶終端。本發(fā)明的有益效果為(1)利用業(yè)務(wù)編號選擇目標(biāo)服務(wù)器,使得請求相同業(yè)務(wù)的即時(shí)消息被同一臺(tái)目標(biāo) 服務(wù)器處理,提高了處理效率;
      (2)融合了根據(jù)業(yè)務(wù)編號選擇目標(biāo)服務(wù)器、根據(jù)會(huì)話編號選擇目標(biāo)服務(wù)器以及根 據(jù)權(quán)值輪詢調(diào)度算法選擇目標(biāo)服務(wù)器等多種負(fù)載均衡方法,可以為不同類型的即時(shí)消息請 求選擇最佳的目標(biāo)服務(wù)器;(3)不僅能處理即時(shí)消息請求,還能處理非即時(shí)消息請求。結(jié)合附圖,本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)可以從下面通過舉例來對本發(fā)明的原理進(jìn)行 解釋的優(yōu)選實(shí)施方式的說明中變得更清楚。


      圖1示出不含預(yù)約消息管理子系統(tǒng)的服務(wù)器集群系統(tǒng)架構(gòu)圖;圖2示出含預(yù)約消息管理子系統(tǒng)的服務(wù)器集群系統(tǒng)架構(gòu)圖;圖3示出負(fù)載均衡方法流程圖。
      具體實(shí)施例方式下面將結(jié)合附圖,對本發(fā)明的實(shí)施方式進(jìn)行舉例說明。實(shí)施例一,服務(wù)器集群系統(tǒng)如圖1所示。用戶終端100發(fā)送即時(shí)消息請求至負(fù)載 均衡子系統(tǒng)101。該即時(shí)消息請求為HTTP請求。負(fù)載均衡子系統(tǒng)101接收該即時(shí)消息請 求,并按照既定負(fù)載均衡方法選出處理該即時(shí)消息請求的目標(biāo)服務(wù)器108。本實(shí)施例給出了一臺(tái)的目標(biāo)服務(wù)器108,但是在實(shí)際應(yīng)用中,目標(biāo)服務(wù)器不是固定 不變的,不同類型的即時(shí)消息請求可能對應(yīng)不同的目標(biāo)服務(wù)器。負(fù)載均衡子系統(tǒng)101的功能模塊如圖1所示。負(fù)載均衡子系統(tǒng)101包括請求接收 模塊211、請求轉(zhuǎn)發(fā)模塊212、響應(yīng)接收模塊213、響應(yīng)轉(zhuǎn)發(fā)模塊214、HTTP解析模塊215、內(nèi) 存管理模塊216、服務(wù)器管理模塊217、目標(biāo)服務(wù)器選擇模塊一 218、目標(biāo)服務(wù)器選擇模塊二 219、目標(biāo)服務(wù)器選擇模塊三220和狀態(tài)監(jiān)控模塊221。請求接收模塊211接收來自用戶終端100的即時(shí)消息請求。HTTP解析模塊215解析該即時(shí)消息請求,該即時(shí)消息請求包括請求頭和請求體。 根據(jù)HTTP的說明文檔RFC2626,HTTP請求的消息頭包含會(huì)話編號和目標(biāo)服務(wù)器信息等內(nèi) 容,HTTP請求的消息體包含業(yè)務(wù)編號和請求實(shí)體信息。如果解析后的即時(shí)消息請求包含目 標(biāo)服務(wù)器的路徑信息,解析后的即時(shí)消息請求被發(fā)送至請求轉(zhuǎn)發(fā)模塊212。如果解析后的即 時(shí)消息請求不包含目標(biāo)服務(wù)器的路徑信息,解析后的即時(shí)消息請求被發(fā)送至目標(biāo)服務(wù)器選 擇模塊一 218、目標(biāo)服務(wù)器選擇模塊二 219或目標(biāo)服務(wù)器選擇模塊三220。目標(biāo)服務(wù)器選擇模塊一 218根據(jù)HTTP解析模塊215解析后的消息體中包含的業(yè) 務(wù)編號選擇目標(biāo)服務(wù)器。目標(biāo)服務(wù)器選擇模塊二 219根據(jù)HTTP解析模塊215解析后的消 息頭中包含的會(huì)話編號選擇目標(biāo)服務(wù)器。目標(biāo)服務(wù)器選擇模塊三220根據(jù)服務(wù)器集群中的 服務(wù)器性能選擇目標(biāo)服務(wù)器。請求轉(zhuǎn)發(fā)模塊212按照選出的目標(biāo)服務(wù)器108支持的傳輸協(xié)議封裝該解析后的即 時(shí)消息請求,并發(fā)送已封裝的解析后的即時(shí)消息請求至目標(biāo)服務(wù)器108。響應(yīng)接收模塊213接收目標(biāo)服務(wù)器108發(fā)送的接收響應(yīng)。響應(yīng)轉(zhuǎn)發(fā)模塊214按照 HTTP封裝該接收響應(yīng),并發(fā)送已封裝的接收響應(yīng)至發(fā)送該即時(shí)消息請求的用戶終端100。內(nèi)存管理模塊216分配和管理負(fù)載均衡子系統(tǒng)101的內(nèi)存資源。
      服務(wù)器管理模塊217配置服務(wù)器集群中服務(wù)器的臺(tái)數(shù)和設(shè)置服務(wù)器集群中服務(wù) 器初始參數(shù)和服務(wù)器支持的傳輸協(xié)議。狀態(tài)監(jiān)控模塊221獲取服務(wù)器集群中各臺(tái)服務(wù)器的工作狀態(tài),依據(jù)該工作狀態(tài)可 計(jì)算服務(wù)器的性能值。實(shí)施例二,服務(wù)器集群系統(tǒng)如圖2所示。該實(shí)施例中服務(wù)器集群系統(tǒng)除負(fù)載均衡 子系統(tǒng)101,服務(wù)器集群107外,還包括預(yù)約消息管理子系統(tǒng)102。其中,預(yù)約消息管理子系 統(tǒng)102由四個(gè)功能模塊組成消息接收模塊103、消息存儲(chǔ)模塊104、數(shù)據(jù)管理模塊105和消 息觸發(fā)模塊106。其中,消息存儲(chǔ)模塊104由數(shù)據(jù)庫子模塊1041和數(shù)據(jù)緩存子模塊1042組 成。消息接收模塊103接收用戶終端200發(fā)出的非即時(shí)消息請求或非即時(shí)消息請求的 更新信息。該非即時(shí)消息請求或非即時(shí)消息請求的更新信息包含了非即時(shí)消息請求的處理 時(shí)間。該非即時(shí)消息請求在該處理時(shí)間被轉(zhuǎn)化為即時(shí)消息請求。消息存儲(chǔ)模塊104用于存儲(chǔ)用戶終端200發(fā)出的非即時(shí)消息請求或非即時(shí)消息請 求的更新信息。數(shù)據(jù)管理模塊105用于檢測消息存儲(chǔ)模塊104中非即時(shí)消息請求的處理時(shí)間以及 用于更新消息存儲(chǔ)模塊104中的非即時(shí)消息請求。消息觸發(fā)模塊106在非即時(shí)消息請求的處理時(shí)間將非即時(shí)消息請求轉(zhuǎn)化為即時(shí) 消息請求,發(fā)送該即時(shí)消息請求至負(fù)載均衡子系統(tǒng)101。數(shù)據(jù)管理模塊105檢測消息存儲(chǔ)模塊104中非即時(shí)消息請求的處理時(shí)間的過程如 下數(shù)據(jù)管理模塊105建立兩個(gè)線程,其中一個(gè)線程每隔既定時(shí)間X訪問一次數(shù)據(jù)庫子模塊 1041,判斷該數(shù)據(jù)庫子模塊1041中是否有預(yù)約的非即時(shí)消息請求在此訪問時(shí)刻處理。如果 數(shù)據(jù)庫子模塊1041中有預(yù)約的非即時(shí)消息請求在此訪問時(shí)刻處理,該線程讀取該預(yù)約的 非即時(shí)消息請求至消息觸發(fā)模塊106 ;如果數(shù)據(jù)庫子模塊1041中沒有預(yù)約的非即時(shí)消息請 求在此訪問時(shí)刻處理,上述線程將數(shù)據(jù)庫子模塊1041中預(yù)約在此訪問時(shí)刻和下一次訪問 時(shí)刻之間處理的非即時(shí)消息請求發(fā)送至數(shù)據(jù)緩存子模塊1042。數(shù)據(jù)管理模塊105的另一個(gè) 線程每隔既定時(shí)間Y訪問一次該數(shù)據(jù)緩存子模塊1042,判斷該數(shù)據(jù)緩存子模塊1042中是否 有預(yù)約的非即時(shí)消息請求在此訪問時(shí)刻處理。如果數(shù)據(jù)緩存子模塊1042中有預(yù)約的非即 時(shí)消息請求在此訪問時(shí)刻處理,該線程讀取該預(yù)約的非即時(shí)消息請求至消息觸發(fā)模塊106 ; 如果數(shù)據(jù)緩存子模塊1042中沒有預(yù)約的非即時(shí)消息請求在此訪問時(shí)刻處理,該線程等待 下一訪問時(shí)刻訪問數(shù)據(jù)緩存子模塊1042。上述既定時(shí)間Y小于所述既定時(shí)間X。數(shù)據(jù)管理模塊105更新消息存儲(chǔ)模塊104中非即時(shí)消息請求的過程如下當(dāng)消息 接收模塊103接收到非即時(shí)消息請求的更新信息時(shí),數(shù)據(jù)管理模塊105首先訪問數(shù)據(jù)緩存 子模塊1042,查找數(shù)據(jù)緩存子模塊1042中是否存在該更新信息對應(yīng)的非即時(shí)消息請求。如 果數(shù)據(jù)緩存子模塊1042中存在該更新信息對應(yīng)的非即時(shí)消息請求,數(shù)據(jù)管理模塊105讀 取該更新信息至數(shù)據(jù)緩存子模塊1042,替換其中與該更新信息對應(yīng)的非即時(shí)消息請求中需 要被更新的內(nèi)容,并向消息接收模塊103發(fā)送更新成功指示;如果數(shù)據(jù)緩存子模塊1042中 不存在該更新信息對應(yīng)的非即時(shí)消息請求,數(shù)據(jù)管理模塊105訪問數(shù)據(jù)庫子模塊1041,查 找數(shù)據(jù)庫子模塊1041中是否存在該更新信息對應(yīng)的非即時(shí)消息請求。如果數(shù)據(jù)庫子模塊 1041中存在該更新信息對應(yīng)的非即時(shí)消息請求,數(shù)據(jù)管理模塊105讀取該更新信息至數(shù)據(jù)庫子模塊1041,替換其中與該更新信息對應(yīng)的非即時(shí)消息請求中需要被更新的內(nèi)容,并向 消息接收模塊103發(fā)送更新成功指示;如果數(shù)據(jù)庫子模塊1041中不存在該更新信息對應(yīng)的 非即時(shí)消息請求,數(shù)據(jù)管理模塊105向消息接收模塊103發(fā)送更新失敗指示。負(fù)載均衡子系統(tǒng)101的請求接收模塊接收來自預(yù)約消息管理子系統(tǒng)102的即時(shí)消 息請求,并從服務(wù)器集群107中選出處理該即時(shí)消息請求的目標(biāo)服務(wù)器。負(fù)載均衡子系統(tǒng) 101為該即時(shí)消息請求選擇目標(biāo)服務(wù)器的過程同實(shí)施例一中負(fù)載均衡子系統(tǒng)101為來自用 戶終端100的即時(shí)消息請求選擇目標(biāo)服務(wù)器的過程。目標(biāo)服務(wù)器向響應(yīng)接收模塊213發(fā)送 接收響應(yīng),響應(yīng)轉(zhuǎn)發(fā)模塊214將該接收響應(yīng)按照HTTP封裝后發(fā)送至用戶終端200。響應(yīng)轉(zhuǎn) 發(fā)模塊214可以直接將接收響應(yīng)發(fā)送至用戶終端200,也可以通過預(yù)約消息管理子系統(tǒng)102 將接收響應(yīng)轉(zhuǎn)發(fā)至用戶終端200。在該實(shí)施例中,負(fù)載均衡子系統(tǒng)101的請求接收模塊除接收來自預(yù)約消息管理子 系統(tǒng)102的即時(shí)消息請求還接收來自用戶終端100的即時(shí)消息請求。本實(shí)施例中負(fù)載均衡 子系統(tǒng)101對來自用戶終端100的即時(shí)消息請求的處理過程同實(shí)施例一中負(fù)載均衡子系統(tǒng) 101對來自用戶終端100的即時(shí)消息的處理過程。在上述兩種實(shí)施例中,負(fù)載均衡子系統(tǒng)101選擇目標(biāo)服務(wù)器的既定負(fù)載均衡方法 如圖3所示。該方法開始于步驟S301。然后,在步驟S302中,請求接收模塊211接收來自 用戶終端100或預(yù)約消息管理子系統(tǒng)102的即時(shí)消息請求。在步驟S303中,HTTP解析模塊215解析即時(shí)消息請求,判斷解析后的即時(shí)消息請 求的消息頭是否含有目標(biāo)服務(wù)器的路徑。如果步驟S303的結(jié)果為“是”,則流程進(jìn)入步驟S311 ;否則進(jìn)入步驟S304。在步驟S304中,HTTP解析模塊215判斷解析后的即時(shí)消息請求的消息體是否含 有業(yè)務(wù)編號。當(dāng)用戶終端請求一項(xiàng)業(yè)務(wù)時(shí),在其發(fā)送的消息請求的消息體中會(huì)被賦予一個(gè)業(yè)務(wù) 編號。請求同一項(xiàng)業(yè)務(wù)的消息請求的消息體含有相同的業(yè)務(wù)編號。比如,上述業(yè)務(wù)為多媒 體會(huì)議,請求同一個(gè)多媒體會(huì)議的消息請求的消息體含有相同的業(yè)務(wù)編號。如果步驟S304的結(jié)果為“是”,則流程進(jìn)入步驟S305 ;否則進(jìn)入步驟S307。在步驟S305中,根據(jù)業(yè)務(wù)編號選擇目標(biāo)服務(wù)器。該步驟由目標(biāo)服務(wù)器選擇模塊一 218完成。目標(biāo)服務(wù)器選擇模塊一 218查找集群 服務(wù)器107中處理過具有相同業(yè)務(wù)編號的即時(shí)消息請求的服務(wù)器。如果找到該服務(wù)器,目 標(biāo)服務(wù)器選擇模塊一 218將解析后的即時(shí)消息請求發(fā)送至該服務(wù)器;如果沒有找到該服務(wù) 器,說明服務(wù)器集群107中還沒有服務(wù)器處理過具有該業(yè)務(wù)編號的即時(shí)消息請求,目標(biāo)服 務(wù)器選擇模塊一 218向HTTP解析模塊215發(fā)出通知信號。根據(jù)業(yè)務(wù)編號選擇服務(wù)器,將 具有相同業(yè)務(wù)編號的解析后的即時(shí)消息請求分配至同一臺(tái)服務(wù)器,提高了服務(wù)器的處理效 率。服務(wù)器處理具有業(yè)務(wù)編號的即時(shí)消息請求時(shí),需要查找已有的對具有該業(yè)務(wù)編號 的即時(shí)消息請求的處理結(jié)果。按業(yè)務(wù)編號選擇目標(biāo)服務(wù)器,將具有相同業(yè)務(wù)編號的即時(shí)消 息請求發(fā)向同一個(gè)服務(wù)器,避免對處理過具有該業(yè)務(wù)編號的即時(shí)消息請求的不同服務(wù)器的 訪問,提高了服務(wù)器處理即時(shí)消息請求的效率。在步驟S306中,判斷步驟S305是否成功選擇目標(biāo)服務(wù)器。
      如果步驟S306的結(jié)果為“是”,則流程進(jìn)入步驟S311 ;否則進(jìn)入步驟S307。在步驟S307中,HTTP解析模塊215判斷解析后的即時(shí)消息請求的消息頭中是否
      含有會(huì)話編號。會(huì)話編號(Session ID)指的是為每個(gè)發(fā)送消息請求的用戶終端分配的一個(gè)唯一 標(biāo)識符。該標(biāo)識符用于用戶終端身份認(rèn)證、程序狀態(tài)記錄和頁面之間參數(shù)傳遞等操作。如果步驟S307的結(jié)果為“是”,則流程進(jìn)入步驟S308 ;否則進(jìn)入步驟S310。在步驟S308中,根據(jù)會(huì)話編號選擇目標(biāo)服務(wù)器。該步驟由目標(biāo)服務(wù)器選擇模塊二 219完成。目標(biāo)服務(wù)器選擇模塊二 219查找集群 服務(wù)器107中處理過具有相同會(huì)話編號的即時(shí)消息請求的服務(wù)器。如果找到該服務(wù)器,目 標(biāo)服務(wù)器選擇模塊二 219將解析后的即時(shí)消息請求發(fā)送至該服務(wù)器;如果沒有找到該服務(wù) 器,目標(biāo)服務(wù)器選擇模塊二 219向目標(biāo)選擇模塊三220發(fā)出通知信號。根據(jù)會(huì)話編號選擇 服務(wù)器,將同一個(gè)用戶終端發(fā)送的消息請求交由同一臺(tái)服務(wù)器處理,避免該服務(wù)器對來自 同一用戶終端的消息請求進(jìn)行重復(fù)的終端身份認(rèn)證等操作。在步驟S309中,判斷步驟S308是否成功選擇目標(biāo)服務(wù)器。如果步驟S309的結(jié)果為“是”,則流程進(jìn)入步驟S311 ;否則進(jìn)入步驟S310。在步驟S310中,根據(jù)權(quán)值輪詢調(diào)度算法選擇目標(biāo)服務(wù)器。該步驟由目標(biāo)服務(wù)器選擇模塊三220完成。目標(biāo)服務(wù)器選擇模塊三220根據(jù)服務(wù) 器集群107中各臺(tái)服務(wù)器的工作狀態(tài)計(jì)算相應(yīng)地服務(wù)器權(quán)值,并由服務(wù)器權(quán)值計(jì)算服務(wù)器 的性能值。目標(biāo)服務(wù)器選擇模塊三220按照服務(wù)器的性能值從大到小的順序依次調(diào)度各臺(tái) 服務(wù)器,使性能值大的服務(wù)器優(yōu)先處理解析后的即時(shí)消息請求。根據(jù)權(quán)值輪詢調(diào)度算法選 擇目標(biāo)服務(wù)器,合理地利用了服務(wù)器集群系統(tǒng)的資源。步驟S310之后,流程進(jìn)入步驟S311。在步驟S311中,請求轉(zhuǎn)發(fā)模塊212按照選出的目標(biāo)服務(wù)器支持的傳輸協(xié)議封裝上 述解析后的即時(shí)消息請求,發(fā)送已封裝的解析后的即時(shí)消息請求至選出的目標(biāo)服務(wù)器。在步驟S312中,響應(yīng)接收模塊213接收來自目標(biāo)服務(wù)器的接收響應(yīng)。選出的目標(biāo)服務(wù)器在接收到請求轉(zhuǎn)發(fā)模塊212發(fā)送的已封裝的解析后的即時(shí)消 息請求后,發(fā)送接收響應(yīng)至負(fù)載均衡子系統(tǒng)。在步驟S313中,響應(yīng)轉(zhuǎn)發(fā)模塊214接收該接收響應(yīng)并按HTTP封裝該接收響應(yīng),發(fā) 送已封裝的接收響應(yīng)至即時(shí)消息請求的發(fā)送端。該即時(shí)消息請求的發(fā)送端為直接發(fā)送即時(shí) 消息請求的用戶終端100或發(fā)送非即時(shí)消息請求的用戶終端200。流程結(jié)束于步驟S314。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,本領(lǐng) 域普通技術(shù)人員可以在所附權(quán)利要求的范圍內(nèi)做出各種變形和修改。
      權(quán)利要求
      一種服務(wù)器集群系統(tǒng),包括負(fù)載均衡子系統(tǒng)和服務(wù)器集群,所述負(fù)載均衡子系統(tǒng)按照既定方法選擇處理即時(shí)消息請求的目標(biāo)服務(wù)器,其特征在于,所述負(fù)載均衡子系統(tǒng)包括請求接收模塊,接收即時(shí)消息請求;HTTP解析模塊,解析即時(shí)消息請求的消息頭和消息體;請求轉(zhuǎn)發(fā)模塊,按照目標(biāo)服務(wù)器支持的傳輸協(xié)議封裝所述解析后的即時(shí)消息請求,并發(fā)送已封裝的解析后的即時(shí)消息請求至所述目標(biāo)服務(wù)器;響應(yīng)接收模塊,接收目標(biāo)服務(wù)器發(fā)送的接收響應(yīng);響應(yīng)轉(zhuǎn)發(fā)模塊,按照HTTP封裝所述接收響應(yīng),并發(fā)送已封裝的接收響應(yīng)至即時(shí)消息請求的發(fā)送端;內(nèi)存管理模塊,分配和管理負(fù)載均衡子系統(tǒng)的內(nèi)存資源;服務(wù)器管理模塊,配置所述服務(wù)器集群和設(shè)置所述服務(wù)器集群中服務(wù)器的參數(shù);目標(biāo)服務(wù)器選擇模塊一,根據(jù)所述解析后的即時(shí)消息請求的消息體中包含的業(yè)務(wù)編號選擇目標(biāo)服務(wù)器;目標(biāo)服務(wù)器選擇模塊二,根據(jù)所述解析后的即時(shí)消息請求的消息頭中包含的會(huì)話編號選擇目標(biāo)服務(wù)器;目標(biāo)服務(wù)器選擇模塊三,根據(jù)所述服務(wù)器集群中的服務(wù)器性能選擇目標(biāo)服務(wù)器;狀態(tài)監(jiān)控模塊,用于獲取所述服務(wù)器集群中各臺(tái)服務(wù)器的工作狀態(tài)。
      2.根據(jù)權(quán)利要求1所述服務(wù)器集群系統(tǒng),其特征在于,所述服務(wù)器集群系統(tǒng)還包括預(yù) 約消息管理子系統(tǒng),所述預(yù)約消息管理子系統(tǒng)包括消息接收模塊,用于接收非即時(shí)消息請求或非即時(shí)消息請求的更新信息; 消息存儲(chǔ)模塊,用于存儲(chǔ)所述非即時(shí)消息請求或所述非即時(shí)消息請求的更新信息; 數(shù)據(jù)管理模塊,用于檢測所述消息存儲(chǔ)模塊中非即時(shí)消息請求的處理時(shí)間以及用于更 新所述消息存儲(chǔ)模塊中的非即時(shí)消息請求;消息觸發(fā)模塊,在所述非即時(shí)消息請求的處理時(shí)間將所述非即時(shí)消息請求轉(zhuǎn)化為即時(shí) 消息請求,發(fā)送所述即時(shí)消息請求至所述負(fù)載均衡子系統(tǒng)。
      3.根據(jù)權(quán)利要求2所述的服務(wù)器集群系統(tǒng),其特征在于,所述消息存儲(chǔ)模塊包括數(shù)據(jù)庫子模塊,用于存儲(chǔ)來自消息接收模塊的非即時(shí)消息請求或非即時(shí)消息請求的更 新信息;數(shù)據(jù)緩存子模塊,用于存儲(chǔ)來自數(shù)據(jù)庫子模塊的非即時(shí)消息請求或來自消息接收模塊 的非即時(shí)消息請求的更新信息。
      4.根據(jù)權(quán)利要求3所述的服務(wù)器集群系統(tǒng),其特征在于,所述檢測所述消息存儲(chǔ)模塊 中非即時(shí)消息請求的處理時(shí)間是指A、所述數(shù)據(jù)管理模塊每隔既定時(shí)間X訪問一次所述數(shù)據(jù)庫子模塊,判斷所述數(shù)據(jù)庫子 模塊中是否有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理;B、如果所述數(shù)據(jù)庫子模塊中有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述數(shù)據(jù)管理 模塊將所述預(yù)約的非即時(shí)消息請求發(fā)送至所述消息觸發(fā)模塊;C、如果所述數(shù)據(jù)庫子模塊中沒有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述數(shù)據(jù)管 理模塊將所述數(shù)據(jù)庫子模塊中預(yù)約在所述訪問時(shí)刻和下一次訪問時(shí)刻之間處理的非即時(shí)消息請求提取至所述數(shù)據(jù)緩存子模塊;D、所述數(shù)據(jù)管理模塊每隔既定時(shí)間Y訪問一次所述數(shù)據(jù)緩存子模塊,判斷所述數(shù)據(jù)緩 存子模塊中是否有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理;E、如果所述數(shù)據(jù)緩存子模塊中有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述數(shù)據(jù)管 理模塊將所述預(yù)約的非即時(shí)消息請求發(fā)送至所述消息觸發(fā)模塊;F、如果所述數(shù)據(jù)緩存子模塊中沒有預(yù)約的非即時(shí)消息請求在訪問時(shí)刻處理,所述數(shù)據(jù) 管理模塊等待下一訪問時(shí)刻訪問所述數(shù)據(jù)緩存子模塊;所述既定時(shí)間Y小于所述既定時(shí)間X。
      5.根據(jù)權(quán)利要求3所述的服務(wù)器集群系統(tǒng),其特征在于,所述更新所述消息存儲(chǔ)模塊 中的非即時(shí)消息請求是指A、所述消息接收模塊接收非即時(shí)消息請求的更新信息;B、所述數(shù)據(jù)管理模塊訪問所述數(shù)據(jù)緩存子模塊,查找所述數(shù)據(jù)緩存子模塊中是否存在 所述更新信息對應(yīng)的非即時(shí)消息請求;C、如果所述數(shù)據(jù)緩存子模塊中存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述數(shù)據(jù) 管理模塊讀取所述更新信息至所述數(shù)據(jù)緩存子模塊,替換所述數(shù)據(jù)緩存子模塊中所述更新 信息對應(yīng)的非即時(shí)消息請求中需要被更新的內(nèi)容,并向所述消息接收模塊發(fā)送更新成功指 示;D、如果所述數(shù)據(jù)緩存子模塊中不存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述數(shù)據(jù) 管理模塊訪問所述數(shù)據(jù)庫子模塊,查找所述數(shù)據(jù)庫子模塊中是否存在所述更新信息對應(yīng)的 非即時(shí)消息請求;E、如果所述數(shù)據(jù)庫子模塊中存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述數(shù)據(jù)管理 模塊讀取所述更新信息至所述數(shù)據(jù)庫子模塊,替換所述數(shù)據(jù)庫子模塊中所述更新信息對應(yīng) 的非即時(shí)消息請求中需要被更新的內(nèi)容,并向所述消息接收模塊發(fā)送更新成功指示;F、如果所述數(shù)據(jù)庫子模塊中不存在所述更新信息對應(yīng)的非即時(shí)消息請求,所述數(shù)據(jù)管 理模塊向所述消息接收模塊發(fā)送更新失敗指示。
      6.根據(jù)權(quán)利要求1所述的服務(wù)器集群系統(tǒng),其特征在與,所述既定方法為A、接收即時(shí)消息請求;B、解析即時(shí)消息請求,判斷解析后的即時(shí)消息請求的消息頭是否含目標(biāo)服務(wù)器的路徑;C、如果所述解析后的即時(shí)消息請求的消息頭不含目標(biāo)服務(wù)器的路徑,判斷解析后的即 時(shí)消息請求的消息體是否含業(yè)務(wù)編號;D、如果所述解析后的即時(shí)消息請求的消息體含業(yè)務(wù)編號,根據(jù)所述業(yè)務(wù)編號選擇目標(biāo) 服務(wù)器,按照所述目標(biāo)服務(wù)器支持的傳輸協(xié)議封裝所述解析后的即時(shí)消息請求,發(fā)送已封 裝的解析后的即時(shí)消息請求至所述目標(biāo)服務(wù)器;E、如果所述解析后的即時(shí)消息請求的消息體不含業(yè)務(wù)編號或者根據(jù)所述業(yè)務(wù)編號選 擇目標(biāo)服務(wù)器失敗,判斷所述解析后的即時(shí)消息請求的消息頭是否含會(huì)話編號;F、如果所述解析后的即時(shí)消息請求的消息頭含會(huì)話編號,根據(jù)所述會(huì)話編號選擇目標(biāo) 服務(wù)器,按照所述目標(biāo)服務(wù)器支持的傳輸協(xié)議封裝所述解析后的即時(shí)消息請求,發(fā)送已封 裝的解析后的即時(shí)消息請求至所述目標(biāo)服務(wù)器;G、如果所述解析后的即時(shí)消息請求的消息頭不含會(huì)話編號或者根據(jù)所述會(huì)話編號選 擇目標(biāo)服務(wù)器失敗,根據(jù)權(quán)值輪詢調(diào)度算法選擇目標(biāo)服務(wù)器,按照所述目標(biāo)服務(wù)器支持的 傳輸協(xié)議封裝所述解析后的即時(shí)消息請求,發(fā)送已封裝的解析后的即時(shí)消息請求至所述目 標(biāo)服務(wù)器;H、如果所述解析后的即時(shí)消息請求的消息頭含目標(biāo) 服務(wù)器的路徑,按照目標(biāo)服務(wù)器支 持的傳輸協(xié)議封裝所述解析后即時(shí)消息請求,發(fā)送已封裝的解析后的即時(shí)消息請求至所述 目標(biāo)服務(wù)器;I、接收來自所述目標(biāo)服務(wù)器的接收響應(yīng);J、按HTTP封裝所述接收響應(yīng),并發(fā)送已封裝的接收響應(yīng)至所述即時(shí)消息請求的發(fā)送端。
      全文摘要
      本發(fā)明涉及一種服務(wù)器集群系統(tǒng)和負(fù)載均衡方法,以解決現(xiàn)有服務(wù)器集群系統(tǒng)沒有考慮用戶終端請求相同業(yè)務(wù)的問題。本發(fā)明提供的服務(wù)器集群系統(tǒng)包括負(fù)載均衡子系統(tǒng)和服務(wù)器集群,所述負(fù)載均衡子系統(tǒng)按照既定方法選擇處理即時(shí)消息請求的目標(biāo)服務(wù)器。所述負(fù)載均衡子系統(tǒng)包括請求接收模塊、請求轉(zhuǎn)發(fā)模塊、響應(yīng)接收模塊、響應(yīng)轉(zhuǎn)發(fā)模塊、HTTP解析模塊、內(nèi)存管理模塊、服務(wù)器管理模塊、目標(biāo)服務(wù)器選擇模塊一、目標(biāo)服務(wù)器選擇模塊二、目標(biāo)服務(wù)器選擇模塊三和狀態(tài)監(jiān)控模塊。本發(fā)明還提供了一種負(fù)載均衡方法。使用本發(fā)明能為不同類型的消息請求合理地選擇目標(biāo)服務(wù)器。
      文檔編號H04L29/08GK101938502SQ20091008930
      公開日2011年1月5日 申請日期2009年7月14日 優(yōu)先權(quán)日2009年7月14日
      發(fā)明者劉習(xí)賀, 葉波, 王月, 程勃, 章洋, 陳俊亮, 黃麗婷 申請人:北京郵電大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1