麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng)的制作方法

文檔序號:7925761閱讀:359來源:國知局
專利名稱:一種適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于集群網(wǎng)絡(luò)服務(wù)器技術(shù)領(lǐng)域,為一種適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng)。
所謂集群網(wǎng)絡(luò)服務(wù)調(diào)度系統(tǒng),實際上是由多個物理服務(wù)器共同完成對用戶的服務(wù)請求當(dāng)一個客戶請求到達(dá)集群網(wǎng)絡(luò)服務(wù)器后,由一個分派器把該請求定向到一臺真實的物理服務(wù)器上,這樣既提供了對單一系統(tǒng)映象的支持,又增強了系統(tǒng)的可擴展性。
在現(xiàn)有的集群網(wǎng)絡(luò)服務(wù)調(diào)度系統(tǒng)中,分派器在向后端節(jié)點機轉(zhuǎn)發(fā)報文時沒有考慮到請求報文的內(nèi)容,這樣,在一個服務(wù)請求到達(dá)分派器后,除了負(fù)載考慮外,所有的后端節(jié)點機被一視同仁,導(dǎo)致了集群系統(tǒng)存儲設(shè)備利用率不高、集群系統(tǒng)的主存資源沒有充分利用、某些需要內(nèi)容調(diào)度策略支持的網(wǎng)絡(luò)服務(wù)不能滿足和多副本等問題。針對現(xiàn)有集群網(wǎng)絡(luò)服務(wù)調(diào)度系統(tǒng)的不足,基于內(nèi)容的調(diào)度系統(tǒng)成為研究熱點。現(xiàn)有的基于內(nèi)容的調(diào)度系統(tǒng)有ArrowPoint的web交換機、Apache、Squid和KTCPVS等。前三種均在用戶空間實現(xiàn),處理開銷很大。KTCPVS是在操作系統(tǒng)的內(nèi)核實現(xiàn),避免了用戶空間和內(nèi)核空間的切換和內(nèi)存復(fù)制的開銷(見2001年《計算機工程與科學(xué)》雜志第23卷第3期)。但它是基于網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)結(jié)構(gòu),其示意圖如

圖1所示。前端機將客戶發(fā)來的請求按照其內(nèi)容不同轉(zhuǎn)發(fā)給不同節(jié)點機,再由節(jié)點機服務(wù)該請求并做出響應(yīng),把響應(yīng)包發(fā)回給前端機,由前端機負(fù)責(zé)把響應(yīng)包返回給客戶端。該結(jié)構(gòu)消除了上述現(xiàn)有調(diào)度系統(tǒng)存在的一些弱點(例如集群系統(tǒng)的主存資源沒有充分利用、集群系統(tǒng)存儲設(shè)備利用率不高、某些需要內(nèi)容調(diào)度策略支持的網(wǎng)絡(luò)服務(wù)不能滿足、多副本)。但是在該結(jié)構(gòu)中,前端機既要負(fù)責(zé)調(diào)度,又要負(fù)責(zé)轉(zhuǎn)發(fā)響應(yīng)包給客戶,前端機負(fù)載很重。隨著節(jié)點機日益增加,前端機負(fù)載將日趨繁重,成為整個集群系統(tǒng)的瓶頸,降低了系統(tǒng)的可擴展性,減少了并發(fā)客戶數(shù);另外,它只支持http服務(wù),沒有通用性。
為實現(xiàn)上述發(fā)明目的,適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng),包括前端機和子網(wǎng),其特征在于所述前端機配置有策略定制模塊、偽服務(wù)器和負(fù)載調(diào)度器,所述子網(wǎng)由配置有TCP協(xié)議棧改造模塊和服務(wù)例程的多個節(jié)點機構(gòu)成,由多個子網(wǎng)形成服務(wù)器池;所述策略定制模塊用于用戶定制其策略,并將該策略傳送到所述負(fù)載調(diào)度器;所述偽服務(wù)器用于同發(fā)起請求的客戶機進行三次握手通信,并將信息傳送給所述負(fù)載調(diào)度器;所述負(fù)載調(diào)度器用于將客戶發(fā)來的請求包按其內(nèi)容的不同,分別調(diào)度到不同子網(wǎng)的不同節(jié)點機上;以及將偽服務(wù)器中已截獲的握手信息轉(zhuǎn)發(fā)給節(jié)點機;所述TCP協(xié)議棧改造模塊用于截獲負(fù)載調(diào)度器發(fā)來的網(wǎng)絡(luò)包,截取其握手信息,恢復(fù)原報文,實現(xiàn)與客戶端之間的偽連接,并將響應(yīng)報文通過偽連接發(fā)送給客戶端。
所述的適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng),其進一步的特征在于所述負(fù)載調(diào)度器包括報文接收模塊(1)、通用調(diào)度器(3)、事件接收模塊(4)、策略庫(5)、報文捎帶模塊(6)、調(diào)度表(7)和轉(zhuǎn)發(fā)模塊(9);
報文接收模塊(1)用于接收網(wǎng)絡(luò)包,并判斷該網(wǎng)絡(luò)包的IP是否為虛擬IP,如果不是,則交由原TCP/IP協(xié)議棧自行處理,否則,進入通用調(diào)度器(3);通用調(diào)度器(3)包括協(xié)議識別模塊(24)、多種服務(wù)例程(25-1,25-2,…,25-n)和通用調(diào)度模塊(26);協(xié)議識別模塊(24)用于對報文接收模塊(1)接收的網(wǎng)絡(luò)包的內(nèi)容進行分析,得到客戶所需要的服務(wù)類型和相應(yīng)的端口號,并判斷客戶所需要的服務(wù),調(diào)用相應(yīng)的服務(wù)例程進行處理;通用調(diào)度模塊(26)用于對所有類型的服務(wù)統(tǒng)一處理,使得系統(tǒng)更方便的支持更多類型的服務(wù);它把服務(wù)例程處理得到的內(nèi)容通過混合調(diào)度算法進行調(diào)度,得到調(diào)度信息后,交由報文捎帶模塊(6)進行處理;事件接收模塊(4)用于接收來自發(fā)送內(nèi)核模塊(23)的策略信息并把其保存在策略庫(5)中;策略庫(5)用于保存策略信息如服務(wù)類型和其可用節(jié)點機信息;調(diào)度表(7)用于保存報文請求內(nèi)容和被調(diào)度的目的節(jié)點機信息;報文捎帶模塊(6)從通用調(diào)度模塊(26)傳來的調(diào)度信息中取出報文請求內(nèi)容和捎帶握手信息表(10)中的握手信息一同傳給轉(zhuǎn)發(fā)模塊(9);轉(zhuǎn)發(fā)模塊(9)用于將報文捎帶模塊(6)傳來的包經(jīng)過內(nèi)部高速網(wǎng)絡(luò)轉(zhuǎn)發(fā)給指定節(jié)點機。
所述的適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng),其進一步的特征還在于所述負(fù)載調(diào)度器還包括定時器(8),用于定時給調(diào)度表(7)失效模塊發(fā)觸發(fā)信號,以刪除過時的調(diào)度信息。
所述的適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng),其進一步的特征在于所述策略定制模塊包括策略定義用戶界面(20)、策略校驗?zāi)K(21)、策略庫(22)和發(fā)送內(nèi)核模塊(23);策略定義用戶界面(20)用于用戶定制集群系統(tǒng)所允許的策略,并把用戶定制的策略交由策略校驗?zāi)K(21)統(tǒng)一校驗;策略庫(22)用于存放策略規(guī)則,以便策略校驗?zāi)K(21)對用戶定制的規(guī)則進行匹配校驗;策略校驗?zāi)K(21)將策略定義用戶界面(20)傳來的策略與策略庫(22)進行匹配,判斷是否符合;若不符合,則進行出錯處理,將出錯信息報告給用戶,否則,交由發(fā)送內(nèi)核模塊(23)處理;發(fā)送內(nèi)核模塊(23)將通過策略校驗?zāi)K(21)校驗的策略通過系統(tǒng)調(diào)用傳到負(fù)載調(diào)度器處理。
所述的適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng),其進一步的特征在于所述偽服務(wù)器包括初始化模塊(11)、監(jiān)聽端口服務(wù)模塊(12)、服務(wù)類型庫(13)、保存握手信息模塊(14)和握手信息表(10);初始化模塊(11)用于初始化網(wǎng)絡(luò)服務(wù)鏈表并從服務(wù)類型庫(13)中取出要監(jiān)聽的服務(wù)類型和端口號交由監(jiān)聽端口服務(wù)模塊(12)進行監(jiān)聽往這些端口發(fā)來的網(wǎng)絡(luò)包;監(jiān)聽端口服務(wù)模塊(12)接收從初始化模塊(11)傳來的服務(wù)類型和端口號,并在這些端口監(jiān)聽網(wǎng)絡(luò)包;當(dāng)三次握手信號完成后,進入保存握手信號模塊(14)來保存握手信息;服務(wù)類型庫(13)用于存放集群系統(tǒng)所支持的服務(wù)類型和相應(yīng)服務(wù)的端口號;保存握手信息模塊(14)用于在三次握手完成后保存握手信息到握手信息表(10)中,由報文捎帶模塊(6)從握手信息表(10)中獲取握手信息;握手信息表(10)用于存放三次握手信息。
所述的適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng),其進一步的特征還在于所述TCP協(xié)議棧改造模塊包括報文過濾模塊(16)、報文恢復(fù)模塊(17)、偽裝三次握手模塊(18)和發(fā)送響應(yīng)包模塊(19);報文過濾模塊(16)用于接收所有網(wǎng)絡(luò)包,如果包的協(xié)議字段不為CA_TCP,表明該包不為本系統(tǒng)所要的包,交由原TCP/IP協(xié)議棧處理;否則,表明接收到來自轉(zhuǎn)發(fā)模塊(9)發(fā)送過來的包,并交由報文恢復(fù)模塊(17);報文恢復(fù)模塊(17)從網(wǎng)絡(luò)包中截取握手信號,恢復(fù)原報文,將握手信號和原報文一同傳給偽裝三次握手模塊(18);偽裝三次握手模塊(18)將報文恢復(fù)模塊(17)傳來的握手信息進行TCP層的偽裝,然后用偽裝后的TCP層傳送原報文給上層網(wǎng)絡(luò)服務(wù)程序,網(wǎng)絡(luò)服務(wù)程序服務(wù)該請求并把響應(yīng)包傳給發(fā)送響應(yīng)包模塊(19);發(fā)送響應(yīng)包模塊(19)將偽裝后的TCP層將響應(yīng)包發(fā)送給客戶端。
本系統(tǒng)綜合運用了偽服務(wù)器技術(shù)、捎帶技術(shù)、截獲和偽裝三次握手技術(shù)、通用調(diào)度技術(shù),采用直接路由結(jié)構(gòu)即節(jié)點機直接發(fā)響應(yīng)包給客戶而不需經(jīng)過前端機,明顯的減少了前端機的負(fù)載,增加了并發(fā)客戶數(shù)。同時,本系統(tǒng)支持多種服務(wù),而不僅僅是http服務(wù),并且可以很方便的支持更多的服務(wù),具有很好的通用性。本發(fā)明與現(xiàn)有的調(diào)度系統(tǒng)相比,具有支持更多的并發(fā)用戶、提高內(nèi)存緩存命中率的同時提高集群存儲設(shè)備的利用率、通用性好、可擴展性好、系統(tǒng)吞吐率高等優(yōu)點。具體而言,本發(fā)明具有以下特點。1)動態(tài)可擴展性本系統(tǒng)采用直接路由轉(zhuǎn)發(fā)響應(yīng)包給客戶,而不像網(wǎng)絡(luò)地址轉(zhuǎn)換把響應(yīng)包傳回給前端機,使得前端機負(fù)載減輕,提高了整個系統(tǒng)的吞吐量,增加了更多的并發(fā)用戶,提高了系統(tǒng)的動態(tài)可擴展性。2)支持動態(tài)頁面請求和靜態(tài)頁面請求本系統(tǒng)采用基于內(nèi)容的混合調(diào)度,對包括動態(tài)頁面請求和靜態(tài)頁面請求在內(nèi)的混合請求提供支持,更好的利用節(jié)點機的主存Cache,取得更大的處理能力。3)支持持續(xù)服務(wù)本系統(tǒng)根據(jù)本機維護的連接記錄在IP層把報文直接轉(zhuǎn)發(fā)到目的節(jié)點機,保證了服務(wù)的完整性,從而支持一次連接的多次服務(wù)。4)支持任意的基于TCP協(xié)議的服務(wù)本系統(tǒng)采用通用調(diào)度器,支持多種類型的網(wǎng)絡(luò)服務(wù),而且可以很方便的增加更多的服務(wù)解析器以支持更多類型的服務(wù)。本系統(tǒng)可以支持任意的基于TCP協(xié)議的服務(wù)。對于不同類型的服務(wù),該系統(tǒng)調(diào)度到不同的子網(wǎng)中,方便用戶管理和擴展集群。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作進一步詳細(xì)的說明。
從工作原理劃分,本系統(tǒng)的核心分為兩大部分,一是安裝在前端機的基于內(nèi)容的調(diào)度器CADS;二是安裝在節(jié)點機的CANS模塊。如圖2所示,適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng)(以下簡稱CAVS(Content AwareVirtual Server))的體系結(jié)構(gòu)分為兩層第一層為前端機,采用基于內(nèi)容的調(diào)度系統(tǒng)(以下簡稱CADS(Content Aware Dispatcher System))和偽服務(wù)器;第二層為服務(wù)器池,它由許多子網(wǎng)組成,每個子網(wǎng)提供特定的服務(wù)如http服務(wù)、代理服務(wù)等。內(nèi)容調(diào)度系統(tǒng)在節(jié)點機上的實現(xiàn)部分(以下簡稱CANS(Content Aware Node server System))也在該層中。集群中各節(jié)點機是通過高速網(wǎng)絡(luò)相連接的。
CADS負(fù)責(zé)把客戶發(fā)來的請求包根據(jù)其內(nèi)容的不同,分別將其調(diào)度到不同子網(wǎng)的不同節(jié)點機上。這樣,相同內(nèi)容的請求由同一節(jié)點機提供服務(wù)。當(dāng)一個新的請求到來時,便可按其內(nèi)容分配到相應(yīng)的節(jié)點機上,直接從緩存中讀出請求內(nèi)容而不必去讀硬盤,使得整個系統(tǒng)吞吐率更高、響應(yīng)時間更快、延遲更短。
CADS還負(fù)責(zé)將截獲的握手信息轉(zhuǎn)發(fā)給節(jié)點機。節(jié)點機通過CANS根據(jù)截獲到的握手信息進行三次握手的偽裝,表明節(jié)點機已與客戶機建立了偽連接。CANS通過偽連接把響應(yīng)信息直接傳送給客戶端,而不需要經(jīng)過前端機來返回響應(yīng)信息,減少了前端機的負(fù)載,支持更多的并發(fā)用戶,減少了延遲。
在這種體系結(jié)構(gòu)下,當(dāng)所有服務(wù)器節(jié)點機超載時,管理員可以很快地加入新的服務(wù)器節(jié)點機來處理請求,而無需將Web文檔等復(fù)制到節(jié)點機的本地硬盤上,動態(tài)可擴展性好。
下面分別介紹各部分的功能策略定制模塊該模塊用于用戶定制自己的策略(當(dāng)然,該策略必須符合策略庫的要求),并把該策略傳到內(nèi)核中的負(fù)載調(diào)度器,負(fù)載調(diào)度器根據(jù)該策略進行工作,從而達(dá)到符合用戶要求的效果。
如圖3所示,該模塊通過策略定義用戶界面20定義符合策略庫要求的策略,并通過發(fā)送內(nèi)核模塊23將用戶定制的策略傳到內(nèi)核中的負(fù)載調(diào)度器,交由其中的事件接收模塊4處理。其功能與相互關(guān)系描述如下1)策略定義用戶界面20用于用戶定制集群系統(tǒng)所允許的策略,如本系統(tǒng)虛擬IP,以及系統(tǒng)支持哪些服務(wù),每種服務(wù)分配哪些節(jié)點機等等。它把用戶定制的策略交由策略校驗?zāi)K21統(tǒng)一校驗。
2)策略校驗?zāi)K21對策略定義用戶界面20傳來的策略與策略庫22進行匹配,判斷是否符合。若不符合,則進行出錯處理,將出錯信息報告給用戶;否則,交由發(fā)送內(nèi)核模塊23處理。
3)策略庫22存放策略規(guī)則,方便策略校驗?zāi)K21對用戶定制的規(guī)則進行匹配校驗。
4)發(fā)送內(nèi)核模塊23將通過策略校驗?zāi)K21校驗的策略通過系統(tǒng)調(diào)用傳給內(nèi)核,由事件接收模塊4處理。偽服務(wù)器偽服務(wù)器用于同發(fā)起請求的客戶機進行三次握手通信。偽服務(wù)器的概念是同真實的網(wǎng)絡(luò)服務(wù)程序(如Apache Web服務(wù)器)相對應(yīng)的。
對真正的網(wǎng)絡(luò)服務(wù)程序而言,首先要在一個標(biāo)準(zhǔn)端口接收來自客戶的請求,在完成同客戶的三次握手之后,接收客戶服務(wù)請求,并根據(jù)客戶的請求把相應(yīng)的內(nèi)容返回給用戶,然后通過改進的三次握手同客戶協(xié)商以便結(jié)束該連接。網(wǎng)絡(luò)服務(wù)程序被精心的設(shè)計成可以同時服務(wù)多個連接請求,以提高服務(wù)能力。
偽服務(wù)器在概念和工作原理上與真實的網(wǎng)絡(luò)服務(wù)程序有兩方面的不同(1)偽服務(wù)器的功能僅僅是同客戶端進行三次握手的交互,一旦三次握手過程完畢,偽服務(wù)器便終止該連接。
(2)偽服務(wù)器能夠同時支持多種網(wǎng)絡(luò)服務(wù)。由于偽服務(wù)器只是監(jiān)聽端口,建立連接,不需對該請求作更多的處理。因此,偽服務(wù)器與具體的服務(wù)內(nèi)容、類型無關(guān),這就使得偽服務(wù)器能夠成為一種通用的機制,同時對多個標(biāo)準(zhǔn)服務(wù)端口提供服務(wù)。這樣,當(dāng)該集群服務(wù)器需要提供多種網(wǎng)絡(luò)服務(wù)時,就不用在分派器上安裝多個網(wǎng)絡(luò)服務(wù)程序。
根據(jù)以上兩點分析,可以看出偽服務(wù)器的設(shè)計一方面能減小分派器負(fù)載和實現(xiàn)的復(fù)雜性(不用安裝多個服務(wù)程序,避免了服務(wù)程序的開銷);另一方面可以為集群服務(wù)器提供通用性。這樣,只要在分派器上安裝了偽服務(wù)器,就可以對多種網(wǎng)絡(luò)服務(wù)提供建立三次握手,獲取握手信息的功能。
偽服務(wù)器結(jié)構(gòu)示意圖如圖4所示,首先通過初始化模塊11進行初始化,并從服務(wù)類型庫中取服務(wù)類型和端口數(shù)據(jù)交由監(jiān)聽端口服務(wù)模塊監(jiān)聽,待完成三次握手之后,由保存握手信號模塊保存握手信息進握手信息表中,并將其傳給負(fù)載調(diào)度器中的報文捎帶模塊6。其功能與相互關(guān)系描述如下1)初始化模塊11用于初始化網(wǎng)絡(luò)服務(wù)鏈表,并從服務(wù)類型庫13中取出要監(jiān)聽的服務(wù)類型和端口號,交由監(jiān)聽端口服務(wù)模塊12監(jiān)聽發(fā)往這些端口的網(wǎng)絡(luò)包。
2)監(jiān)聽端口服務(wù)模塊12接受從初始化模塊11傳來的服務(wù)類型和端口號,并在這些端口監(jiān)聽網(wǎng)絡(luò)包。當(dāng)三次握手完成后,進入保存握手信號模塊14來保存握手信息。
3)服務(wù)類型庫13用于存放集群系統(tǒng)所支持的服務(wù)類型和相應(yīng)服務(wù)的端口號。
4)保存握手信息模塊14用于在三次握手完成后保存握手信息到握手信息表10中,以便報文捎帶模塊6從握手信息表中獲取握手信息。
5)握手信息表10用于存放三次握手信息如當(dāng)前IP包的源IP地址、源端口號、目的IP地址、目的端口號等。負(fù)載調(diào)度器(CADS)CADS用于把客戶發(fā)來的請求包和截獲的握手信息根據(jù)其請求包的內(nèi)容不同分別將其調(diào)度到不同子網(wǎng)的不同節(jié)點機上。其結(jié)構(gòu)如圖5、圖6所示,報文接收模塊1接收網(wǎng)絡(luò)包,并進行過濾得到所需的網(wǎng)絡(luò)包,交由通用調(diào)度器3。通用調(diào)度器中的協(xié)議識別模塊24把傳來的網(wǎng)絡(luò)包進行協(xié)議識別,根據(jù)不同的服務(wù)請求調(diào)用不同的服務(wù)例程(如http服務(wù)例程25-1,corba服務(wù)例程25-2,代理服務(wù)例程25-n等),得到相應(yīng)的請求內(nèi)容后調(diào)用通用調(diào)度系統(tǒng)26進行統(tǒng)一處理;同時,事件接收模塊4從發(fā)送內(nèi)核模塊23(見圖3)中接收已定制的策略保存在策略庫5中。通用調(diào)度器3根據(jù)報文分析數(shù)據(jù)、策略庫和調(diào)度表信息決定調(diào)度到某節(jié)點機上,并經(jīng)過報文捎帶模塊6、轉(zhuǎn)發(fā)模塊9將報文傳給CANS的報文過濾模塊16(見圖7)。其功能與相互關(guān)系描述如下1)報文接收模塊1接收到網(wǎng)絡(luò)包,它判斷該網(wǎng)絡(luò)包的IP是否為虛擬IP。如果不是,則交由原TCP/IP協(xié)議棧自行處理;否則,進入通用調(diào)度器3中的協(xié)議識別模塊24。
2)通用調(diào)度器3它查找調(diào)度表7信息判斷是否已調(diào)度過該請求,如果有,則直接從調(diào)度表中取出調(diào)度信息;否則,根據(jù)策略庫5中相應(yīng)的策略和協(xié)議識別模塊24的處理結(jié)果,便可得到調(diào)度信息即調(diào)度到哪個子網(wǎng)的哪臺節(jié)點機上等并保存在調(diào)度表7中。將調(diào)度信息傳給報問捎帶模塊6。
通用調(diào)度器是本系統(tǒng)核心模塊。它對所有類型的服務(wù)統(tǒng)一處理,使得系統(tǒng)更方便的支持更多類型的服務(wù)。目前,本系統(tǒng)支持http服務(wù),corba服務(wù),代理服務(wù)。如果需要支持其它服務(wù),我們只需在協(xié)議識別模塊24加入相應(yīng)的服務(wù)的識別,如圖中列舉的http服務(wù)例程25-1、Corba服務(wù)例程25-2,直至代理服務(wù)例程25-n。并增加相應(yīng)的服務(wù)例程對該服務(wù)進行處理,最后便由通用調(diào)度模塊26進行統(tǒng)一調(diào)度,一種服務(wù)類型便可以得到支持。其功能與相互關(guān)系描述如下2.1)協(xié)議識別模塊24對報文接收模塊1接收的網(wǎng)絡(luò)包的內(nèi)容進行分析,得到客戶所需要的服務(wù)類型和相應(yīng)的端口號,判斷客戶所需要的服務(wù),調(diào)用相應(yīng)的服務(wù)例程(如http服務(wù)例程25-1,corba服務(wù)例程25-2,代理服務(wù)例程25-n等)進行處理。
2.2)http服務(wù)例程25-1對http請求進行處理。它首先分析http協(xié)議頭部,得到服務(wù)請求的內(nèi)容,交由通用調(diào)度模塊26統(tǒng)一調(diào)度。
2.3)corba服務(wù)例程25-2對corba請求進行處理。它首先分析iiop協(xié)議頭部,得到服務(wù)請求的內(nèi)容,交由通用調(diào)度模塊26統(tǒng)一調(diào)度。
2.4)代理服務(wù)例程25-n對代理請求進行處理。它首先分析代理協(xié)議頭部,得到服務(wù)請求的內(nèi)容,交由通用調(diào)度模塊26統(tǒng)一調(diào)度。
2.5)通用調(diào)度模塊26它對所有類型的服務(wù)統(tǒng)一處理,使得系統(tǒng)更方便的支持更多類型的服務(wù)。它把服務(wù)例程處理得到的內(nèi)容通過混合調(diào)度算法進行調(diào)度,得到調(diào)度信息后,交由報文捎帶模塊6進行處理。
3)調(diào)度表7保存報文請求內(nèi)容,被調(diào)度的目的節(jié)點機信息如IP地址等,端口號,定時器等信息。其中定時器用來維護調(diào)度表是否失效。
4)事件接收模塊4接收來自發(fā)送內(nèi)核模塊23(見圖3)的策略信息并把其保存在策略庫5中。
5)策略庫5保存策略信息如服務(wù)類型和其可用節(jié)點機信息。
6)報文捎帶模塊6從調(diào)度模塊傳來的調(diào)度信息中取出報文請求內(nèi)容捎帶握手信息表10中的握手信息一同傳給轉(zhuǎn)發(fā)模塊9。
7)轉(zhuǎn)發(fā)模塊9將報文捎帶模塊6傳來的包經(jīng)過內(nèi)部高速網(wǎng)絡(luò)轉(zhuǎn)發(fā)給指定節(jié)點機,由節(jié)點機的CANS的報文過濾模塊16(見圖7)負(fù)責(zé)接收該包。
8)定時器8該模塊定時給調(diào)度表失效模塊發(fā)觸發(fā)信號,以便于刪除過時的調(diào)度信息。TCP協(xié)議棧改造模塊該模塊用于截獲前端機發(fā)來的網(wǎng)絡(luò)包,截取其握手信息,恢復(fù)原報文(即無握手信息的報文),實現(xiàn)與客戶端進行偽連接,并將響應(yīng)報文通過偽連接發(fā)送給客戶端。為了滿足這些要求需要修改節(jié)點機的TCP協(xié)議棧。
如圖7所示,該模塊由報文過濾模塊16接收轉(zhuǎn)發(fā)模塊9發(fā)來的網(wǎng)絡(luò)包并交由報文恢復(fù)模塊17截取握手信息,恢復(fù)原報文(即無握手信息的報文),再由偽裝三次握手模塊根據(jù)握手信息進行偽裝,修改原TCP協(xié)議棧得到新的改裝后的TCP協(xié)議棧,再由發(fā)送響應(yīng)模塊19將原報文的響應(yīng)報文直接發(fā)送給客戶端。其功能與相互關(guān)系描述如下1)報文過濾模塊16接收所有網(wǎng)絡(luò)包。如果包的協(xié)議字段不為CA_TCP,表明該包不為本系統(tǒng)所要的包,交由原TCP/IP協(xié)議棧處理;否則,表明接收到來自轉(zhuǎn)發(fā)模塊9發(fā)送過來的包,則交由報文恢復(fù)模塊17處理。
2)報文恢復(fù)模塊17從網(wǎng)絡(luò)包中截取握手信號,恢復(fù)原報文(即無握手信息的報文),將握手信號和原報文一同傳給偽裝三次握手模塊18。
3)偽裝三次握手模塊18根據(jù)報文恢復(fù)模塊17傳來的握手信息進行TCP層的偽裝,然后用偽裝后的TCP協(xié)議傳送原報文給上層網(wǎng)絡(luò)服務(wù)程序(如httpserver,cache server等)。網(wǎng)絡(luò)服務(wù)程序服務(wù)該請求并將響應(yīng)包傳給發(fā)送響應(yīng)包模塊19。
4)發(fā)送響應(yīng)包模塊19根據(jù)偽裝后的TCP協(xié)議將響應(yīng)包發(fā)送給客戶端。
圖8描述了本發(fā)明系統(tǒng)的工作流程①當(dāng)CADS接收到網(wǎng)絡(luò)包時,它判斷是否對虛擬IP的訪問。如果不是,則說明不是本系統(tǒng)所需要的網(wǎng)絡(luò)包,本系統(tǒng)不做任何處理直接交由原TCP/IP協(xié)議棧自行處理;否則,初始化三次握手信息表項類型的指針。
②開始查找是否有握手信息。如果沒有,則交由偽服務(wù)器截獲三次握手信息,并將其保存在握手信息表中。如果已有,則表明握手信息剛建立起來,進入?yún)f(xié)議識別模塊。
③協(xié)議識別模塊首先根據(jù)端口進行協(xié)議識別,并進入相應(yīng)的協(xié)議處理模塊。協(xié)議處理模塊分析包的內(nèi)容截取出相關(guān)信息,調(diào)用通用調(diào)度模塊進行統(tǒng)一處理。
④通用調(diào)度模塊根據(jù)③中截獲的信息采用一定的算法決定調(diào)度到哪個子網(wǎng)的哪臺節(jié)點機上。如果在調(diào)度表中已有該調(diào)度信息,則直接根據(jù)該調(diào)度信息把報文捎帶握手信息一同轉(zhuǎn)發(fā)到被調(diào)度的節(jié)點機上;否則,采用一定的算法得到調(diào)度信息,并把它保存在調(diào)度表中,再根據(jù)該調(diào)度信息把報文捎帶握手信息一同轉(zhuǎn)發(fā)到被調(diào)度的節(jié)點機上。
⑤節(jié)點機接收到前端機發(fā)送過來的報文時,CANS取出握手信息,恢復(fù)客戶請求報文的原貌,開始進入TCP/IP偽裝模塊來進行三次握手信號的偽裝。它負(fù)責(zé)完成向上層服務(wù)程序偽裝三次握手的功能。
⑥最后,由該節(jié)點機的網(wǎng)絡(luò)服務(wù)程序完成該服務(wù)請求并將結(jié)果直接返回給用戶。
對于該連接的后續(xù)報文,如對一個服務(wù)項的多次傳輸,用改進的三次握手結(jié)束該連接等,網(wǎng)絡(luò)分派器會根據(jù)本機維護的連接記錄在IP層把報文直接轉(zhuǎn)發(fā)到目的節(jié)點機,使該服務(wù)完整的被完成。
下面舉例說明本系統(tǒng)實施過程中的配置情況。
在具有16個節(jié)點機上的集群系統(tǒng)構(gòu)建一個適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng)。其基本配置如表1所示。
表1 系統(tǒng)的配置例示

其中,一臺作為前端機,其余的服務(wù)節(jié)點機按照服務(wù)分成若干子網(wǎng),如Web服務(wù)子網(wǎng)、代理服務(wù)子網(wǎng)。具體實施如下節(jié)點機1充當(dāng)前端機,裝載偽服務(wù)器模塊和前端機內(nèi)容調(diào)度系統(tǒng)(CADS);節(jié)點機2至節(jié)點機8在Web服務(wù)子網(wǎng)中,節(jié)點機9至節(jié)點機16在代理服務(wù)子網(wǎng)中,各節(jié)點機上均裝載節(jié)點機內(nèi)容服務(wù)系統(tǒng)(CANS)和相應(yīng)的網(wǎng)絡(luò)服務(wù)程序(即節(jié)點機2至節(jié)點機8均裝載http server,節(jié)點機9至節(jié)點機16均裝載cache server)。
對整個系統(tǒng)的配置說明如下1)服務(wù)類型庫(13)具有如下字段,如表2所示。
表2服務(wù)類型庫的配置例示

權(quán)利要求
1.一種適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng),包括前端機和子網(wǎng),其特征在于所述前端機配置有策略定制模塊、偽服務(wù)器和負(fù)載調(diào)度器,所述子網(wǎng)由配置有TCP協(xié)議棧改造模塊和服務(wù)例程的多個節(jié)點機構(gòu)成,由多個子網(wǎng)形成服務(wù)器池;所述策略定制模塊用于用戶定制其策略,并將該策略傳送到所述負(fù)載調(diào)度器;所述偽服務(wù)器用于同發(fā)起請求的客戶機進行三次握手通信,并將信息傳送給所述負(fù)載調(diào)度器;所述負(fù)載調(diào)度器用于將客戶發(fā)來的請求包按其內(nèi)容的不同,分別調(diào)度到不同子網(wǎng)的不同節(jié)點機上;以及將偽服務(wù)器中已截獲的握手信息轉(zhuǎn)發(fā)給節(jié)點機;所述TCP協(xié)議棧改造模塊用于截獲負(fù)載調(diào)度器發(fā)來的網(wǎng)絡(luò)包,截取其握手信息,恢復(fù)原報文,實現(xiàn)與客戶端之間的偽連接,并將響應(yīng)報文通過偽連接發(fā)送給客戶端。
2.根據(jù)權(quán)利要求1所述的通用調(diào)度系統(tǒng),其特征在于所述負(fù)載調(diào)度器包括報文接收模塊(1)、通用調(diào)度器(3)、事件接收模塊(4)、策略庫(5)、報文捎帶模塊(6)、調(diào)度表(7)和轉(zhuǎn)發(fā)模塊(9);報文接收模塊(1)用于接收網(wǎng)絡(luò)包,并判斷該網(wǎng)絡(luò)包的IP是否為虛擬IP,如果不是,則交由原TCP/IP協(xié)議棧自行處理,否則,進入通用調(diào)度器(3);通用調(diào)度器(3)包括協(xié)議識別模塊(24)、多種服務(wù)例程(25-1,25-2,…,25-n)和通用調(diào)度模塊(26);協(xié)議識別模塊(24)用于對報文接收模塊(1)接收的網(wǎng)絡(luò)包的內(nèi)容進行分析,得到客戶所需要的服務(wù)類型和相應(yīng)的端口號,并判斷客戶所需要的服務(wù),調(diào)用相應(yīng)的服務(wù)例程進行處理;通用調(diào)度模塊(26)用于對所有類型的服務(wù)統(tǒng)一處理,使得系統(tǒng)更方便的支持更多類型的服務(wù);它把服務(wù)例程處理得到的內(nèi)容通過混合調(diào)度算法進行調(diào)度,得到調(diào)度信息后,交由報文捎帶模塊(6)進行處理;事件接收模塊(4)用于接收來自發(fā)送內(nèi)核模塊(23)的策略信息并把其保存在策略庫(5)中;策略庫(5)用于保存策略信息如服務(wù)類型和其可用節(jié)點機信息;調(diào)度表(7)用于保存報文請求內(nèi)容和被調(diào)度的目的節(jié)點機信息;報文捎帶模塊(6)從通用調(diào)度模塊(26)傳來的調(diào)度信息中取出報文請求內(nèi)容和捎帶握手信息表(10)中的握手信息一同傳給轉(zhuǎn)發(fā)模塊(9);轉(zhuǎn)發(fā)模塊(9)用于將報文捎帶模塊(6)傳來的包經(jīng)過內(nèi)部高速網(wǎng)絡(luò)轉(zhuǎn)發(fā)給指定節(jié)點機。
3.根據(jù)權(quán)利要求2所述的通用調(diào)度系統(tǒng),其特征在于所述負(fù)載調(diào)度器還包括定時器(8),用于定時給調(diào)度表(7)失效模塊發(fā)觸發(fā)信號,以刪除過時的調(diào)度信息。
4.根據(jù)權(quán)利要求1、2或3所述的通用調(diào)度系統(tǒng),其特征在于所述策略定制模塊包括策略定義用戶界面(20)、策略校驗?zāi)K(21)、策略庫(22)和發(fā)送內(nèi)核模塊(23);策略定義用戶界面(20)用于用戶定制集群系統(tǒng)所允許的策略,并把用戶定制的策略交由策略校驗?zāi)K(21)統(tǒng)一校驗;策略庫(22)用于存放策略規(guī)則,以便策略校驗?zāi)K(21)對用戶定制的規(guī)則進行匹配校驗;策略校驗?zāi)K(21)將策略定義用戶界面(20)傳來的策略與策略庫(22)進行匹配,判斷是否符合;若不符合,則進行出錯處理,將出錯信息報告給用戶,否則,交由發(fā)送內(nèi)核模塊(23)處理;發(fā)送內(nèi)核模塊(23)將通過策略校驗?zāi)K(21)校驗的策略通過系統(tǒng)調(diào)用傳到負(fù)載調(diào)度器處理。
5.根據(jù)權(quán)利要求4所述的通用調(diào)度系統(tǒng),其特征在于所述偽服務(wù)器包括初始化模塊(11)、監(jiān)聽端口服務(wù)模塊(12)、服務(wù)類型庫(13)、保存握手信息模塊(14)和握手信息表(10);初始化模塊(11)用于初始化網(wǎng)絡(luò)服務(wù)鏈表并從服務(wù)類型庫(13)中取出要監(jiān)聽的服務(wù)類型和端口號交由監(jiān)聽端口服務(wù)模塊(12)進行監(jiān)聽往這些端口發(fā)來的網(wǎng)絡(luò)包;監(jiān)聽端口服務(wù)模塊(12)接收從初始化模塊(11)傳來的服務(wù)類型和端口號,并在這些端口監(jiān)聽網(wǎng)絡(luò)包;當(dāng)三次握手信號完成后,進入保存握手信號模塊(14)來保存握手信息;服務(wù)類型庫(13)用于存放集群系統(tǒng)所支持的服務(wù)類型和相應(yīng)服務(wù)的端口號;保存握手信息模塊(14)用于在三次握手完成后保存握手信息到握手信息表(10)中,由報文捎帶模塊(6)從握手信息表(10)中獲取握手信息;握手信息表(10)用于存放三次握手信息。
6.根據(jù)權(quán)利要求1、2或3所述的通用調(diào)度系統(tǒng),其特征在于所述TCP協(xié)議棧改造模塊包括報文過濾模塊(16)、報文恢復(fù)模塊(17)、偽裝三次握手模塊(18)和發(fā)送響應(yīng)包模塊(19);報文過濾模塊(16)用于接收所有網(wǎng)絡(luò)包,如果包的協(xié)議字段不為CA_TCP,表明該包不為本系統(tǒng)所要的包,交由原TCP/IP協(xié)議棧處理;否則,表明接收到來自轉(zhuǎn)發(fā)模塊(9)發(fā)送過來的包,并交由報文恢復(fù)模塊(17);報文恢復(fù)模塊(17)從網(wǎng)絡(luò)包中截取握手信號,恢復(fù)原報文,將握手信號和原報文一同傳給偽裝三次握手模塊(18);偽裝三次握手模塊(18)將報文恢復(fù)模塊(17)傳來的握手信息進行TCP層的偽裝,然后用偽裝后的TCP層傳送原報文給上層網(wǎng)絡(luò)服務(wù)程序,網(wǎng)絡(luò)服務(wù)程序服務(wù)該請求并把響應(yīng)包傳給發(fā)送響應(yīng)包模塊(19);發(fā)送響應(yīng)包模塊(19)將偽裝后的TCP層將響應(yīng)包發(fā)送給客戶端。
7.根據(jù)權(quán)利要求5所述的通用調(diào)度系統(tǒng),其特征在于所述TCP協(xié)議棧改造模塊包括報文過濾模塊(16)、報文恢復(fù)模塊(17)、偽裝三次握手模塊(18)和發(fā)送響應(yīng)包模塊(19);報文過濾模塊(16)用于接收所有網(wǎng)絡(luò)包,如果包的協(xié)議字段不為CA_TCP,表明該包不為本系統(tǒng)所要的包,交由原TCP/IP協(xié)議棧處理;否則,表明接收到來自轉(zhuǎn)發(fā)模塊(9)發(fā)送過來的包,并交由報文恢復(fù)模塊(17);報文恢復(fù)模塊(17)從網(wǎng)絡(luò)包中截取握手信號,恢復(fù)原報文,將握手信號和原報文一同傳給偽裝三次握手模塊(18);偽裝三次握手模塊(18)將報文恢復(fù)模塊(17)傳來的握手信息進行TCP層的偽裝,然后用偽裝后的TCP層傳送原報文給上層網(wǎng)絡(luò)服務(wù)程序,網(wǎng)絡(luò)服務(wù)程序服務(wù)該請求并把響應(yīng)包傳給發(fā)送響應(yīng)包模塊(19);發(fā)送響應(yīng)包模塊(19)將偽裝后的TCP層將響應(yīng)包發(fā)送給客戶端。
全文摘要
本發(fā)明為一種適用于集群網(wǎng)絡(luò)服務(wù)的基于內(nèi)容的通用調(diào)度系統(tǒng)。整個系統(tǒng)的核心分為兩個部分一是安裝在前端機的基于內(nèi)容的調(diào)度器CADS;二是安裝在節(jié)點機的CANS模塊。本系統(tǒng)的工作流程和方法中運用了偽服務(wù)器技術(shù)、捎帶技術(shù)、截獲和偽裝三次握手技術(shù)、通用調(diào)度技術(shù)。本系統(tǒng)與現(xiàn)有的調(diào)度系統(tǒng)相比,具有支持更多的并發(fā)用戶、提高內(nèi)存緩存命中率的同時提高集群存儲設(shè)備的利用率、通用性好、可擴展性好、系統(tǒng)吞吐率高等優(yōu)點。
文檔編號H04L12/24GK1392701SQ02138770
公開日2003年1月22日 申請日期2002年7月9日 優(yōu)先權(quán)日2002年7月9日
發(fā)明者金海 , 盧毅軍, 鄒曉輝, 韓宗芬, 王曉航, 范開欽 申請人:華中科技大學(xué), 武漢拓銳計算機系統(tǒng)有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 海伦市| 财经| 丽江市| 图木舒克市| 聂拉木县| 达尔| 建平县| 蓝山县| 全州县| 大英县| 咸阳市| 南江县| 孟津县| 沙洋县| 镇江市| 营山县| 友谊县| 东安县| 囊谦县| 白沙| 商都县| 肇源县| 天等县| 双峰县| 中卫市| 岱山县| 丁青县| 龙井市| 三明市| 镇赉县| 梁平县| 辰溪县| 衢州市| 呼和浩特市| 宁强县| 云林县| 改则县| 西乌| 绥化市| 武汉市| 衡南县|