亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于cpu內(nèi)核共享的負(fù)載均衡方法和裝置的制作方法

文檔序號(hào):7714498閱讀:111來(lái)源:國(guó)知局
專利名稱:一種基于cpu內(nèi)核共享的負(fù)載均衡方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)服務(wù)器負(fù)載均衡技術(shù)領(lǐng)域,尤其涉及一種基于CPU內(nèi)核共
享的負(fù)載均衡方法和裝置。
背景技術(shù)
由于目前現(xiàn)有網(wǎng)絡(luò)的各個(gè)核心部分隨著業(yè)務(wù)量的提高,訪問(wèn)量和數(shù)據(jù)流量 的快速增長(zhǎng),其處理能力和計(jì)算強(qiáng)度也相應(yīng)地增大,使得單一的服務(wù)器設(shè)備根 本無(wú)法承擔(dān)。在此情況下,如果放棄現(xiàn)有設(shè)備,去做大量的硬件升級(jí),將造成 現(xiàn)有資源的浪費(fèi)。并且即使添加了硬件之后,由于網(wǎng)絡(luò)中的計(jì)算量分布不均勻, 仍然會(huì)導(dǎo)致嚴(yán)重的負(fù)載不均衡。
負(fù)載均衡技術(shù)是多機(jī)服務(wù)器系統(tǒng)中的關(guān)鍵技術(shù)。其主要作用就是對(duì)負(fù)載進(jìn) 行均衡處理來(lái)使整個(gè)體系運(yùn)行達(dá)到最佳性能?,F(xiàn)在主流的負(fù)載均衡的方法主要
有基于特定服務(wù)器軟件的負(fù)載均衡技術(shù)、基于DNS (DomainName System, 域名解析服務(wù)器)的多機(jī)單域名負(fù)載均衡技術(shù)、基于反向代理的緩沖池負(fù)載均 衡技術(shù)和基于NAT( Network Address Translator,網(wǎng)絡(luò)地址翻i爭(zhēng)器)的內(nèi)網(wǎng)cluster 和四層交換負(fù)載均衡技術(shù)等。
以基于特定服務(wù)器軟件的負(fù)載均衡技術(shù)為例,現(xiàn)在很多網(wǎng)絡(luò)協(xié)議都支持"重 定向"功能,例如在HTTP (Hyper Text Transfer Protocol,超文本傳輸協(xié)議)中 支持Location指令,接收到這個(gè)指令的瀏覽器將自動(dòng)重定向到Location指明的 另 一個(gè)URL ( Uniform Resource Locator,統(tǒng)一資源定位符)上。由于與執(zhí)行服 務(wù)請(qǐng)求相比,發(fā)送Location指令對(duì)Web服務(wù)器的負(fù)載要小的多,可以基于發(fā)送 Location指令這個(gè)功能來(lái)設(shè)計(jì)一種具有負(fù)載均衡功能的服務(wù)器。任何時(shí)候Web服務(wù)器認(rèn)為自己負(fù)載較大的時(shí)候,它就不再向?yàn)g覽器直接發(fā)送回其請(qǐng)求的網(wǎng)頁(yè),
而是送回一個(gè)Location指令,讓瀏覽器去服務(wù)器集群中的其他服務(wù)器上獲得所 需要的網(wǎng)頁(yè),以達(dá)到負(fù)載均衡的目的。在這種方式下,服務(wù)器集群中的所有服 務(wù)器本身必須支持這種功能,然而具體實(shí)現(xiàn)起來(lái)卻有很多困難,比如一臺(tái)服務(wù) 器如何能保證它重定向過(guò)的服務(wù)器是比較空閑的,并且不會(huì)再次向其他服務(wù)器 發(fā)送Location指令?現(xiàn)有的瀏覽器都沒(méi)有這方面的處理能力,而且Location指 令也沒(méi)有相應(yīng)的判斷功能,這樣很容易在瀏覽器上形成一種一直在找空閑服務(wù) 器卻找不到的死循環(huán)。因此這種基于發(fā)送Location指令來(lái)設(shè)計(jì)一種具有負(fù)載均 衡功能的服務(wù)器的方式在實(shí)際應(yīng)用當(dāng)中并不多見(jiàn),使用這種方式實(shí)現(xiàn)的服務(wù)器 集群軟件也較少。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是,提供一種基于CPU內(nèi)核共享的負(fù)載均衡方法 和裝置,克服現(xiàn)有技術(shù)基于發(fā)送Location指令在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)服務(wù)器負(fù)載均 衡較為困難的缺陷。
本發(fā)明采用的技術(shù)方案是,所述基于CPU內(nèi)核共享的負(fù)載均衡方法,包括 當(dāng)本地服務(wù)器自身的CPU內(nèi)核對(duì)客戶端請(qǐng)求沒(méi)有能力進(jìn)行處理時(shí),本地服 務(wù)器在服務(wù)器集群中查找空閑的服務(wù)器并向其發(fā)送負(fù)載遷移請(qǐng)求,空閑的服務(wù) 器調(diào)度本地空閑的CPU內(nèi)核對(duì)客戶端請(qǐng)求進(jìn)行處理并把處理結(jié)果返回本地服務(wù) 器。
在本地服務(wù)器向服務(wù)器集群中的空閑的服務(wù)器發(fā)送負(fù)載遷移請(qǐng)求之后、空 閑的服務(wù)器對(duì)客戶端請(qǐng)求進(jìn)行處理之前,進(jìn)一步包括本地服務(wù)器與空閑服務(wù)器 進(jìn)行遷移負(fù)載協(xié)商。
該方法進(jìn)一步包括在所述本地服務(wù)器上設(shè)置并維護(hù)自身以及服務(wù)器集群中 其余服務(wù)器的CPU內(nèi)核負(fù)載表,所述本地服務(wù)器一方面根據(jù)自身CPU內(nèi)核負(fù)載
表判斷對(duì)客戶端請(qǐng)求的處理能力,另一方面根據(jù)服務(wù)器集群中其余服務(wù)器的
5CPU內(nèi)核負(fù)載表查找出空閑的服務(wù)器。
所述本地服務(wù)器根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表查找出空
閑的服務(wù)器的過(guò)程包括按照服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表在內(nèi) 存中的存儲(chǔ)位置依次查找CPU內(nèi)核負(fù)載率小于設(shè)定的閾值的服務(wù)器。
所述服務(wù)器集群中的所有服務(wù)器通過(guò)復(fù)用的網(wǎng)絡(luò)端口相連,實(shí)時(shí)更新自身 以及服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表。
所述服務(wù)器集群的所有服務(wù)器的CPU內(nèi)核負(fù)載表進(jìn)一步包括根據(jù)服務(wù)器處 理的業(yè)務(wù)不同而設(shè)置的服務(wù)器的權(quán)重值。
該方法進(jìn)一步包括當(dāng)空閑的服務(wù)器同時(shí)收到至少兩臺(tái)服務(wù)器的負(fù)載遷移 請(qǐng)求時(shí),根據(jù)所述兩臺(tái)服務(wù)器的權(quán)重值選擇處理其中一臺(tái)服務(wù)器的客戶端請(qǐng)求。
本發(fā)明還提供一種基于CPU內(nèi)核共享的負(fù)載均衡裝置,包括
CPU內(nèi)核負(fù)載表配置維護(hù)模塊,用于在服務(wù)器上記錄并實(shí)時(shí)更新自身以及 服務(wù)器集群的其余服務(wù)器的CPU內(nèi)核負(fù)載表;
遷移負(fù)載判斷模塊,用于根據(jù)自身CPU內(nèi)核負(fù)載表判斷對(duì)客戶端請(qǐng)求的處 理能力,根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表查找出空閑的服務(wù)器 并向空閑的服務(wù)器發(fā)送負(fù)載遷移請(qǐng)求;
遷移負(fù)載協(xié)商模塊,當(dāng)服務(wù)器不具備客戶端請(qǐng)求處理能力時(shí)通過(guò)該模塊與 空閑服務(wù)器進(jìn)行遷移負(fù)載協(xié)商;
客戶端請(qǐng)求處理模塊,用于調(diào)度本地空閑的CPU內(nèi)核處理客戶端請(qǐng)求并將 處理結(jié)果數(shù)據(jù)返回給最初接受所述客戶端請(qǐng)求的服務(wù)器。
所述CPU內(nèi)核負(fù)載表配置維護(hù)模塊進(jìn)一步用于在所述CPU內(nèi)核負(fù)載表中根 據(jù)服務(wù)器處理的業(yè)務(wù)不同而設(shè)置的服務(wù)器的權(quán)重值。
所述遷移負(fù)載協(xié)商模塊進(jìn)一步用于當(dāng)空閑的服務(wù)器同時(shí)收到至少兩臺(tái)服務(wù) 器的負(fù)載遷移請(qǐng)求時(shí),根據(jù)所述兩臺(tái)服務(wù)器的權(quán)重值選擇處理其中 一臺(tái)服務(wù)器 的客戶端請(qǐng)求。
6采用上述技術(shù)方案,本發(fā)明至少具有下列優(yōu)點(diǎn)
本發(fā)明克服現(xiàn)有技術(shù)基于發(fā)送Location指令在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)服務(wù)器負(fù)載 均衡較為困難的缺陷,提出的所述基于CPU內(nèi)核共享的負(fù)載均衡方法和裝置, 當(dāng)本地服務(wù)器自身的CPU內(nèi)核對(duì)客戶端請(qǐng)求沒(méi)有能力進(jìn)行處理時(shí),本地服務(wù)器 在服務(wù)器集群中查找空閑的服務(wù)器并向其發(fā)送負(fù)載遷移請(qǐng)求,空閑的服務(wù)器對(duì) 客戶端請(qǐng)求進(jìn)行處理并把處理結(jié)果返回本地服務(wù)器。本發(fā)明根據(jù)每臺(tái)服務(wù)器 CPU內(nèi)核負(fù)載情況的不同,不具備客戶端請(qǐng)求處理能力的服務(wù)器與空閑服務(wù)器 進(jìn)行遷移負(fù)載協(xié)商,調(diào)度閑置的內(nèi)核參與運(yùn)算,使網(wǎng)絡(luò)服務(wù)器集群中的所有服 務(wù)器的負(fù)載得到均衡。與現(xiàn)有技術(shù)中的負(fù)載均衡方法相比具有高可用性和高性 能的優(yōu)勢(shì)。


圖1為服務(wù)器集群的組網(wǎng)情況示意圖2為本發(fā)明第一實(shí)施例所述基于CPU內(nèi)核共享的負(fù)載均衡方法流程圖3為本發(fā)明第一實(shí)施例服務(wù)器的CPU內(nèi)核負(fù)載表示意圖4為本發(fā)明第二實(shí)施例服務(wù)器的CPU內(nèi)核負(fù)載表示意圖5為本發(fā)明第三實(shí)施例所述基于CPU內(nèi)核共享的負(fù)載均衡裝置示意圖。
具體實(shí)施例方式
附圖及較佳實(shí)施例,對(duì)本發(fā)明提出的所述基于CPU內(nèi)核共享的負(fù)載均衡方法和 裝置,詳細(xì)說(shuō)明如后。
服務(wù)器集群的組網(wǎng)情況如圖1所示,所述服務(wù)器集群中的所有服務(wù)器通過(guò) 復(fù)用的網(wǎng)絡(luò)端口連接到互聯(lián)網(wǎng)上,彼此可以通過(guò)互聯(lián)網(wǎng)交換數(shù)據(jù),服務(wù)器端主 要是用來(lái)處理用戶發(fā)出的客戶端請(qǐng)求。本發(fā)明第一實(shí)施例, 一種基于CPU內(nèi)核共享的負(fù)載均衡方法,如圖2所
示,包括如下步驟
步驟IOI、在服務(wù)器集群中的每臺(tái)服務(wù)器上設(shè)置并維護(hù)自身以及服務(wù)器集群 中其余服務(wù)器的CPU內(nèi)核負(fù)載表。設(shè)本實(shí)施例中,每臺(tái)服務(wù)器都有4個(gè)CPU內(nèi)核 同時(shí)工作,每臺(tái)服務(wù)器的CPU內(nèi)核負(fù)載表如圖3所示。
具體的,每臺(tái)服務(wù)器是獲得自身CPU內(nèi)核負(fù)載情況的方式為在windows 環(huán)境下,通過(guò)操作系統(tǒng)可以獲知CPU內(nèi)核的負(fù)載情況,或者利用基于操作系統(tǒng) 的許多能夠讀取CPU內(nèi)核占用率的應(yīng)用軟件也可以得到負(fù)載情況。在LINUX或 UNIX環(huán)境下則可以直接調(diào)用top這個(gè)程序得到CPU內(nèi)核的負(fù)載情況。除此之外, 本領(lǐng)域技術(shù)人員也可以用C語(yǔ)言等編寫一個(gè)讀取CPU內(nèi)核占用率的小程序,通過(guò) 在服務(wù)器上的運(yùn)行也可以獲得CPU內(nèi)核的負(fù)載情況。這些獲取CPU內(nèi)核負(fù)載情 況的方法是本領(lǐng)域的常用技術(shù)手段,故此處不詳述。
本發(fā)明讀取CPU內(nèi)核負(fù)載情況的時(shí)間間隔可以根據(jù)實(shí)際需要設(shè)定,考慮到 效率和性能的折中,優(yōu)選的,l秒讀取2次,也就是0.5秒一次。
每臺(tái)服務(wù)器通過(guò)復(fù)用的網(wǎng)絡(luò)端口獲取服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核 負(fù)載表的方式為每臺(tái)服務(wù)器通過(guò)網(wǎng)絡(luò)廣播給網(wǎng)絡(luò)上服務(wù)器集群中其余的服務(wù) 器發(fā)送獲取CPU內(nèi)核負(fù)載表請(qǐng)求,服務(wù)器集群中其余的服務(wù)器收到獲取CPU內(nèi) 核負(fù)載表請(qǐng)求后返回自己的CPU內(nèi)核負(fù)載表給發(fā)出請(qǐng)求的服務(wù)器,發(fā)出請(qǐng)求的 服務(wù)器將這些CPU內(nèi)核負(fù)載表存入內(nèi)存,并實(shí)時(shí)更新,更新的間隔優(yōu)選為0.5秒 一次,每次更新的過(guò)程和上述獲取服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表 的方式相同。
步驟102、以服務(wù)器集群中的任意一臺(tái)服務(wù)器為例,介紹其收到客戶端請(qǐng)求 后的處理,稱這臺(tái)服務(wù)器為本地服務(wù)器。當(dāng)本地服務(wù)器收到客戶端請(qǐng)求時(shí),先 查找自身的CPU內(nèi)核負(fù)載表,看是否能夠處理該客戶端請(qǐng)求。在本實(shí)施例中, 設(shè)一臺(tái)服務(wù)器上的4個(gè)CPU內(nèi)核的占用率均超過(guò)95。/o為遷移負(fù)載的條件。此時(shí), 如果本地服務(wù)器上的4個(gè)CPU內(nèi)核的占用率均超過(guò)95%,則說(shuō)明本地服務(wù)器沒(méi)有
8能力處理該客戶端請(qǐng)求,如果本地服務(wù)器上的4個(gè)CPU內(nèi)核中至少一個(gè)的占用率
未超過(guò)95%,則由本地服務(wù)器處理該客戶端請(qǐng)求。
步驟103、當(dāng)本地服務(wù)器沒(méi)有能力處理該客戶端請(qǐng)求時(shí),可以先等待一段時(shí) 間,比如5秒鐘,然后根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表查找空閑 的服務(wù)器,具體的,本地服務(wù)器按照服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載 表在內(nèi)存中的存儲(chǔ)位置依次查找CPU內(nèi)核負(fù)載率小于設(shè)定的閾值的服務(wù)器。本 實(shí)施例中,設(shè)定的閾值即判斷CPU內(nèi)核為空閑的條件是該CPU內(nèi)核的占用率小 于10%,也就是說(shuō)若查找到有CPU內(nèi)核占用率小于10。/o的CPU內(nèi)核負(fù)載表,則認(rèn) 為該CPU內(nèi)核負(fù)載表對(duì)應(yīng)的服務(wù)器為空閑的服務(wù)器。
步驟104、本地服務(wù)器與空閑的服務(wù)器建立連接,本地服務(wù)器向空閑的服務(wù) 器發(fā)送負(fù)載遷移請(qǐng)求,進(jìn)行遷移負(fù)載協(xié)商。因?yàn)楸镜胤?wù)器更新服務(wù)器中其余 服務(wù)器的CPU內(nèi)核負(fù)載表畢竟存在一定的時(shí)間間隔,若在該時(shí)間間隔之內(nèi)、對(duì) CPU內(nèi)核負(fù)載表更新之前,空閑的服務(wù)器中的CPU內(nèi)核占用情況發(fā)生了變化, 有可能不能為本地服務(wù)器遷移負(fù)載,所以需要在建立連接之后進(jìn)行遷移負(fù)載協(xié) 商。
該遷移負(fù)載協(xié)商的具體過(guò)程為本地服務(wù)器向空閑的服務(wù)器發(fā)出負(fù)栽遷移 請(qǐng)求,空閑的服務(wù)器在收到負(fù)載遷移請(qǐng)求后,判斷自身能否提供空閑的CPU內(nèi) 核參與遷移負(fù)載的服務(wù),如果能,就返回一個(gè)接受的信令,本地服務(wù)器將待處
理的客戶端請(qǐng)求發(fā)送到空閑的服務(wù)器;如果不能,則拒絕此負(fù)載遷移請(qǐng)求,那 么本地服務(wù)器就會(huì)重復(fù)執(zhí)行步驟103,繼續(xù)向下一個(gè)空閑的服務(wù)器發(fā)出負(fù)載遷移 請(qǐng)求。如此循環(huán),直到有接受的信令。
在本步驟中,空閑的服務(wù)器判斷自身能否提供空閑的CPU內(nèi)核參與遷移負(fù) 載的服務(wù)時(shí),也可參考步驟103中設(shè)定的閾值。
步驟105、空閑的服務(wù)器能夠提供CPU內(nèi)核參與遷移負(fù)載的服務(wù)時(shí),在向 本地服務(wù)器返回接收的信令之后,空閑的服務(wù)器對(duì)客戶端請(qǐng)求進(jìn)行處理并把處 理結(jié)果返回本地服務(wù)器。本發(fā)明第二實(shí)施例, 一種基于CPU內(nèi)核共享的負(fù)載均衡方法,該方法與第 一實(shí)施例中的負(fù)載均衡方法大致相同,區(qū)別在于,在服務(wù)器集群中的每臺(tái)服務(wù)
器上設(shè)置并維護(hù)的服務(wù)器集群中所有服務(wù)器的CPU內(nèi)核負(fù)載表還進(jìn)一步包括該 服務(wù)器的權(quán)重值,如圖4所示,該權(quán)重值是根據(jù)服務(wù)器處理業(yè)務(wù)的關(guān)鍵性不同 而設(shè)置的。
正是由于CPU內(nèi)核負(fù)載表中包括了服務(wù)器的權(quán)重值,本實(shí)施例與第一實(shí)施 例相比,具有如下優(yōu)勢(shì)當(dāng)空閑的服務(wù)器同時(shí)收到至少兩臺(tái)服務(wù)器的負(fù)載遷移 請(qǐng)求時(shí),如果自身能夠提供空閑的CPU內(nèi)核參與遷移負(fù)載的服務(wù),根據(jù)所述兩 臺(tái)服務(wù)器的權(quán)重值選擇處理其中權(quán)重值較高 一 臺(tái)服務(wù)器的客戶端請(qǐng)求。
本發(fā)明第三實(shí)施例, 一種基于CPU內(nèi)核共享的負(fù)載均衡裝置,如圖5所 示,包括如下組成部分
CPU內(nèi)核負(fù)載表配置維護(hù)模塊,用于在服務(wù)器上記錄并實(shí)時(shí)更新自身以及 服務(wù)器集群的其余服務(wù)器的CPU內(nèi)核負(fù)載表。
遷移負(fù)載判斷模塊,用于根據(jù)自身CPU內(nèi)核負(fù)載表判斷對(duì)客戶端請(qǐng)求的處 理能力,根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表查找出空閑的服務(wù)器 并向空閑的服務(wù)器發(fā)送負(fù)載遷移請(qǐng)求。
遷移負(fù)載協(xié)商模塊,當(dāng)服務(wù)器不具備客戶端請(qǐng)求處理能力時(shí)通過(guò)該模塊與 空閑服務(wù)器進(jìn)行遷移負(fù)載協(xié)商。
客戶端請(qǐng)求處理模塊,用于調(diào)度本地空閑的CPU內(nèi)核處理客戶端請(qǐng)求并將 處理結(jié)果數(shù)據(jù)返回給最初接受所述客戶端請(qǐng)求的服務(wù)器。
本發(fā)明第四實(shí)施例, 一種基于CPU內(nèi)核共享的負(fù)載均衡裝置,包括如下 組成部分
CPU內(nèi)核負(fù)載表配置維護(hù)模塊,用于在服務(wù)器上記錄并實(shí)時(shí)更新自身以及服務(wù)器集群的其余服務(wù)器的CPU內(nèi)核負(fù)載表,在所述CPU內(nèi)核負(fù)載表中根據(jù)服 務(wù)器處理的業(yè)務(wù)不同而設(shè)置的服務(wù)器的權(quán)重值。
遷移負(fù)載判斷模塊,用于根據(jù)自身CPU內(nèi)核負(fù)載表判斷對(duì)客戶端請(qǐng)求的處 理能力,根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表查找出空閑的服務(wù)器
并向空閑的服務(wù)器發(fā)送負(fù)載遷移請(qǐng)求。
遷移負(fù)載協(xié)商模塊,當(dāng)服務(wù)器不具備客戶端請(qǐng)求處理能力時(shí)通過(guò)該模塊與 空閑服務(wù)器進(jìn)行遷移負(fù)載協(xié)商,當(dāng)空閑的服務(wù)器同時(shí)收到至少兩臺(tái)服務(wù)器的負(fù) 載遷移請(qǐng)求時(shí),根據(jù)所述兩臺(tái)服務(wù)器的權(quán)重值選擇處理其中 一 臺(tái)服務(wù)器的客戶 端請(qǐng)求。
客戶端請(qǐng)求處理模塊,用于調(diào)度本地空閑的CPU內(nèi)核處理客戶端請(qǐng)求并將
處理結(jié)果數(shù)據(jù)返回給最初接受所述客戶端請(qǐng)求的服務(wù)器。
本實(shí)施例與第三實(shí)施例的區(qū)別在于,CPU內(nèi)核負(fù)載表配置維護(hù)^f莫塊進(jìn)一步
重值,該權(quán)重值是根據(jù)服務(wù)器處理業(yè)務(wù)的關(guān)鍵性不同而設(shè)置的。
正是由于CPU內(nèi)核負(fù)載表中包括了服務(wù)器的權(quán)重值,本實(shí)施例與第三實(shí)施 例相比,具有如下優(yōu)勢(shì)當(dāng)空閑的服務(wù)器同時(shí)收到至少兩臺(tái)服務(wù)器的負(fù)載遷移 請(qǐng)求時(shí),如果自身能夠提供空閑的CPU內(nèi)核參與遷移負(fù)載的服務(wù),遷移負(fù)載協(xié) 商模塊就能根據(jù)所述兩臺(tái)服務(wù)器的權(quán)重值選擇處理其中權(quán)重值較高一臺(tái)服務(wù)器 的客戶端請(qǐng)求。
本發(fā)明克服現(xiàn)有技術(shù)基于發(fā)送Location指令在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)服務(wù)器負(fù)載 均衡較為困難的缺陷,提出的所述基于CPU內(nèi)核共享的負(fù)載均衡方法和裝置, 當(dāng)本地服務(wù)器自身的CPU內(nèi)核對(duì)客戶端請(qǐng)求沒(méi)有能力進(jìn)行處理時(shí),本地服務(wù)器 在服務(wù)器集群中查找空閑的服務(wù)器并向其發(fā)送負(fù)載遷移請(qǐng)求,空閑的服務(wù)器對(duì) 客戶端請(qǐng)求進(jìn)行處理并把處理結(jié)果返回本地服務(wù)器。本發(fā)明根據(jù)每臺(tái)服務(wù)器 CPU內(nèi)核負(fù)載情況的不同,不具備客戶端請(qǐng)求處理能力的服務(wù)器與空閑服務(wù)器進(jìn)行遷移負(fù)載協(xié)商,調(diào)度閑置的內(nèi)核參與運(yùn)算,使網(wǎng)絡(luò)服務(wù)器集群中的所有服 務(wù)器的負(fù)載得到均衡。與現(xiàn)有技術(shù)中的負(fù)載均衡方法相比具有高可用性和高性 能的優(yōu)勢(shì)。
通過(guò)具體實(shí)施方式
的說(shuō)明,應(yīng)當(dāng)可對(duì)本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù) 手段及功效得以更加深入且具體的了解,然而所附圖示僅是提供參考與說(shuō)明之 用,并非用來(lái)對(duì)本發(fā)明加以限制。
權(quán)利要求
1、一種基于CPU內(nèi)核共享的負(fù)載均衡方法,其特征在于,包括當(dāng)本地服務(wù)器自身的CPU內(nèi)核對(duì)客戶端請(qǐng)求沒(méi)有能力進(jìn)行處理時(shí),本地服務(wù)器在服務(wù)器集群中查找空閑的服務(wù)器并向其發(fā)送負(fù)載遷移請(qǐng)求,空閑的服務(wù)器調(diào)度本地空閑的CPU內(nèi)核對(duì)客戶端請(qǐng)求進(jìn)行處理并把處理結(jié)果返回本地服務(wù)器。
2、 根據(jù)權(quán)利要求1所述基于CPU內(nèi)核共享的負(fù)載均衡方法,其特征在于, 在本地服務(wù)器向服務(wù)器集群中的空閑的服務(wù)器發(fā)送負(fù)載遷移請(qǐng)求之后、空閑的 服務(wù)器對(duì)客戶端請(qǐng)求進(jìn)行處理之前,進(jìn)一步包括本地服務(wù)器與空閑服務(wù)器進(jìn)行 遷移負(fù)載協(xié)商。
3、 根據(jù)權(quán)利要求1或2所述基于CPU內(nèi)核共享的負(fù)載均衡方法,其特征 在于,進(jìn)一步包括在所述本地服務(wù)器上設(shè)置并維護(hù)自身以及服務(wù)器集群中其余 服務(wù)器的CPU內(nèi)核負(fù)載表,所述本地服務(wù)器一方面根據(jù)自身CPU內(nèi)核負(fù)載表判 斷對(duì)客戶端請(qǐng)求的處理能力,另一方面根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi) 核負(fù)載表查找出空閑的服務(wù)器。
4、 根據(jù)權(quán)利要求3所述基于CPU內(nèi)核共享的負(fù)載均衡方法,其特征在于, 所述本地服務(wù)器根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表查找出空閑的 服務(wù)器的過(guò)程包括按照服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表在內(nèi)存中 的存儲(chǔ)位置依次查找CPU內(nèi)核負(fù)載率小于設(shè)定的閾值的服務(wù)器。
5、根據(jù)權(quán)利要求3所述基于CPU內(nèi)核共享的負(fù)載均衡方法,其特征在于, 所述服務(wù)器集群中的所有服務(wù)器通過(guò)復(fù)用的網(wǎng)絡(luò)端口相連,實(shí)時(shí)更新自身以及 服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表。
6、根據(jù)權(quán)利要求3所述基于CPU內(nèi)核共享的負(fù)載均衡方法,其特征在于, 所述服務(wù)器集群的所有服務(wù)器的CPU內(nèi)核負(fù)載表進(jìn)一步包括根據(jù)服務(wù)器處理的 業(yè)務(wù)不同而設(shè)置的服務(wù)器的權(quán)重值。
7、 根據(jù)權(quán)利要求6所述基于CPU內(nèi)核共享的負(fù)載均衡方法,其特征在于, 進(jìn)一步包括當(dāng)空閑的服務(wù)器同時(shí)收到至少兩臺(tái)服務(wù)器的負(fù)載遷移請(qǐng)求時(shí),根 據(jù)所述兩臺(tái)服務(wù)器的權(quán)重值選擇處理其中一臺(tái)服務(wù)器的客戶端請(qǐng)求。
8、 一種基于CPU內(nèi)核共享的負(fù)載均衡裝置,其特征在于,包括CPU內(nèi)核負(fù)載表配置維護(hù)模塊,用于在服務(wù)器上記錄并實(shí)時(shí)更新自身以及 服務(wù)器集群的其余服務(wù)器的CPU內(nèi)核負(fù)載表;遷移負(fù)載判斷模塊,用于根據(jù)自身CPU內(nèi)核負(fù)載表判斷對(duì)客戶端請(qǐng)求的處 理能力,根據(jù)服務(wù)器集群中其余服務(wù)器的CPU內(nèi)核負(fù)載表查找出空閑的服務(wù)器 并向空閑的服務(wù)器發(fā)送負(fù)載遷移請(qǐng)求;遷移負(fù)載協(xié)商模塊,當(dāng)服務(wù)器不具備客戶端請(qǐng)求處理能力時(shí)通過(guò)該模塊與 空閑服務(wù)器進(jìn)行遷移負(fù)載協(xié)商;客戶端請(qǐng)求處理才莫塊,用于調(diào)度本地空閑的CPU內(nèi)核處理客戶端請(qǐng)求并將 處理結(jié)果數(shù)據(jù)返回給最初接受所述客戶端請(qǐng)求的服務(wù)器。
9、 根據(jù)權(quán)利要求8所述基于CPU內(nèi)核共享的負(fù)載均衡裝置,其特征在于, 所述CPU內(nèi)核負(fù)載表配置維護(hù)模塊進(jìn)一步用于在所述CPU內(nèi)核負(fù)載表中根據(jù)服 務(wù)器處理的業(yè)務(wù)不同而設(shè)置的服務(wù)器的權(quán)重值。
10、 根據(jù)權(quán)利要求8或9所述基于CPU內(nèi)核共享的負(fù)載均衡裝置,其特征 在于,所述遷移負(fù)載協(xié)商模塊進(jìn)一步用于當(dāng)空閑的服務(wù)器同時(shí)收到至少兩臺(tái)服 務(wù)器的負(fù)載遷移請(qǐng)求時(shí),根據(jù)所述兩臺(tái)服務(wù)器的權(quán)重值選擇處理其中一臺(tái)服務(wù) 器的客戶端請(qǐng)求。
全文摘要
本發(fā)明公開(kāi)了一種基于CPU內(nèi)核共享的負(fù)載均衡方法和裝置,當(dāng)本地服務(wù)器自身的CPU內(nèi)核對(duì)客戶端請(qǐng)求沒(méi)有能力進(jìn)行處理時(shí),本地服務(wù)器在服務(wù)器集群中查找空閑的服務(wù)器并向其發(fā)送負(fù)載遷移請(qǐng)求,空閑的服務(wù)器對(duì)客戶端請(qǐng)求進(jìn)行處理并把處理結(jié)果返回本地服務(wù)器。本發(fā)明根據(jù)每臺(tái)服務(wù)器CPU內(nèi)核負(fù)載情況的不同,當(dāng)服務(wù)器不具備客戶端請(qǐng)求處理能力時(shí)與空閑服務(wù)器進(jìn)行遷移負(fù)載協(xié)商,調(diào)度閑置的內(nèi)核參與運(yùn)算,使網(wǎng)絡(luò)服務(wù)器集群中的所有服務(wù)器的負(fù)載得到均衡。與現(xiàn)有技術(shù)中的負(fù)載均衡方法相比具有高可用性和高性能的優(yōu)勢(shì)。
文檔編號(hào)H04L29/08GK101662506SQ20091018041
公開(kāi)日2010年3月3日 申請(qǐng)日期2009年10月14日 優(yōu)先權(quán)日2009年10月14日
發(fā)明者釗 劉, 劍 黃 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1