專利名稱:面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置及控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種Web服務(wù)技術(shù)領(lǐng)域,涉及Web服務(wù)器中面向云服務(wù)的多并發(fā)業(yè)務(wù) 流管理問題,具體為一種在多并發(fā)業(yè)務(wù)流環(huán)境下的基于HTTP的面向云服務(wù)的多并發(fā)業(yè)務(wù) 流控制裝置及控制方法,應(yīng)用于處理高通量HTTP請(qǐng)求的Web服務(wù)器。
背景技術(shù):
近年來,云計(jì)算已經(jīng)成為國內(nèi)IT領(lǐng)域最熱門的概念之一,云計(jì)算也指那些經(jīng)過擴(kuò) 展后可通過因特網(wǎng)進(jìn)行訪問的應(yīng)用程序。這些云應(yīng)用程序使用大型數(shù)據(jù)中心和強(qiáng)勁的服 務(wù)器來托管Web應(yīng)用程序和Web服務(wù)。任何人只要具有合適的因特網(wǎng)連接和標(biāo)準(zhǔn)瀏覽 器,就可以訪問云應(yīng)用程序。網(wǎng)格、云、SaaS, SOA、Web X. 0等興起的根本動(dòng)力是互聯(lián)網(wǎng)計(jì) 算,互聯(lián)網(wǎng)(Internet)即廣域網(wǎng)、局域網(wǎng)及單機(jī)按照一定的通訊協(xié)議組成的邏輯一體的計(jì) 算機(jī)網(wǎng)絡(luò)。連接在互聯(lián)網(wǎng)上的計(jì)算設(shè)備、存儲(chǔ)設(shè)備能力有了大幅提升,數(shù)據(jù)資源呈指數(shù)級(jí) 增長,互聯(lián)網(wǎng)上的各種服務(wù)資源日益豐富,互聯(lián)網(wǎng)的經(jīng)典使用環(huán)境萬維網(wǎng)(Web)已不再是單 純的內(nèi)容平臺(tái),而是朝著提供更強(qiáng)大、豐富的用戶交互和體驗(yàn)?zāi)芰Ψ较虬l(fā)展?;ヂ?lián)網(wǎng)(包括 正在興起的移動(dòng)互聯(lián)網(wǎng))和Web已成為構(gòu)造、使用各類分布式應(yīng)用系統(tǒng)不可或缺的基礎(chǔ)環(huán) 境,并正演義為迄今人類最大的計(jì)算平臺(tái),通常情況下,基礎(chǔ)架構(gòu)云可稱為基礎(chǔ)架構(gòu)即服務(wù) (IaM)。使用IaaS,各類企業(yè)可通過Web將更多的基礎(chǔ)架構(gòu)容量作為服務(wù)提供。通過Web 分配更多的存儲(chǔ)或處理容量當(dāng)然要比供應(yīng)商在基礎(chǔ)環(huán)境中弓I入和安裝新硬件要快得多?;?礎(chǔ)架構(gòu)云是IT運(yùn)營的域,在大多數(shù)企業(yè)中,用戶甚至不了解其IT部門是否使用云服務(wù)?;谠品?wù)的計(jì)算體系架構(gòu)以其體系結(jié)構(gòu)的多變性(可重構(gòu)、可重組、可重建)來 適應(yīng)云服務(wù)的多樣性;以多種高效能的處理部件(云計(jì)算部件)來代替通用的處理器,從而 提高云服務(wù)的處理效率。在實(shí)際的面向云服務(wù)的網(wǎng)絡(luò)體系結(jié)構(gòu)中,往往采用一個(gè)數(shù)據(jù)中心 節(jié)點(diǎn),多個(gè)接入點(diǎn),將請(qǐng)求分散到各個(gè)數(shù)據(jù)請(qǐng)求接入點(diǎn),采用nginx、squid或Web服務(wù)器等 組合方式,通過HTTP協(xié)議進(jìn)行通信。由nginx對(duì)大量的TCP連接進(jìn)行管理,nginx和squid 之間采用HTTP協(xié)議進(jìn)行通信,這樣做的缺陷是不僅增加了數(shù)據(jù)中心節(jié)點(diǎn)的壓力,還增加了 系統(tǒng)的通信負(fù)擔(dān),不利于云服務(wù)的高效率提供,Web服務(wù)就是一個(gè)在網(wǎng)絡(luò)上通常是在因特網(wǎng) 上運(yùn)行的應(yīng)用。典型的說法是,一個(gè)Web服務(wù)就是一個(gè)能夠通過因特網(wǎng)訪問的API,比如瀏 覽器。用戶所請(qǐng)求的服務(wù)運(yùn)行在遠(yuǎn)端系統(tǒng)上,用戶不需要管理或控制的底層云計(jì)算基礎(chǔ)設(shè) 施、網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ),甚至單個(gè)應(yīng)用程序的功能,而后者充當(dāng)服務(wù)的宿主。這種 類型的ffeb API使得用戶能夠利用因特網(wǎng)上共享的功能,而不是提供自己完整的應(yīng)用程 序。這種做法的最終結(jié)果是一個(gè)定制的、基于Web的應(yīng)用程序,能夠減輕傳統(tǒng)應(yīng)用程序在開 發(fā)和帶寬方面的需求。作為一種資源的組織和表達(dá)機(jī)制,Web已成為hternet最主要的信息傳送媒介。 因此Web的性能已經(jīng)成為判斷一個(gè)網(wǎng)站成功與否的一個(gè)重要評(píng)估標(biāo)準(zhǔn)。而Web服務(wù)器則是 決定Web性能的重要環(huán)節(jié)。暫不考慮Web服務(wù)器的硬件實(shí)現(xiàn),從提供云服務(wù)的整體出發(fā),本 發(fā)明給出云里面基于HTTP的Web服務(wù)的一個(gè)關(guān)鍵部分的解決方案,主要是前端和后端,以及前端之間的協(xié)調(diào)策略。從本質(zhì)上而言,就是一個(gè)內(nèi)容分發(fā)網(wǎng)絡(luò),能夠?qū)?nèi)容從源服務(wù)請(qǐng)求 側(cè)分布到各接入點(diǎn),各節(jié)點(diǎn)之間協(xié)調(diào)合作,完成多服務(wù)器數(shù)據(jù)共享,假定前端掌握了已知對(duì) 象的分布信息,前端知道從何處取數(shù)據(jù)。前端查找對(duì)象位置信息,然后通過HTTP協(xié)議從目 的機(jī)器(包括前端和后端)取,這樣做不僅能降低中心服務(wù)器的壓力,還能夠大大的降低數(shù) 據(jù)在服務(wù)器和數(shù)據(jù)請(qǐng)求節(jié)點(diǎn)之間的傳輸,減少骨干網(wǎng)絡(luò)的數(shù)據(jù)傳輸量,有效降低整個(gè)系統(tǒng) 的能耗和對(duì)其它資源的消耗。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)中存在的不足而提供的一種既是服務(wù)提供側(cè)又 是客戶請(qǐng)求側(cè),并完成雙重功能的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置及控制方法,作為 服務(wù)側(cè)完成與TCP的會(huì)話以及解析和封裝HTTP,作為客戶側(cè)將HTTP請(qǐng)求數(shù)據(jù)、URUUniform Resource Locator)與本地?cái)?shù)據(jù)管理部件進(jìn)行會(huì)話以確定HTTP請(qǐng)求數(shù)據(jù)的具體位置是在本 地的磁盤陣列還是在遠(yuǎn)端數(shù)據(jù)中心,并將所查詢到的請(qǐng)求數(shù)據(jù)對(duì)象發(fā)給服務(wù)側(cè),將HTTP先 進(jìn)行解析,從中提取出所請(qǐng)求的數(shù)據(jù)對(duì)象和該對(duì)象的URL,再進(jìn)一步確定所請(qǐng)求數(shù)據(jù)對(duì)象是 在本地磁盤陣列還是在遠(yuǎn)端數(shù)據(jù)中心,不僅能夠及時(shí)更新本地磁盤陣列中的數(shù)據(jù),而且還 能避免數(shù)據(jù)對(duì)象由遠(yuǎn)端數(shù)據(jù)中心重復(fù)提供,進(jìn)而可以加快響應(yīng)HTTP請(qǐng)求和節(jié)省有限的帶 寬資源。本發(fā)明的目的是這樣實(shí)現(xiàn)的一種面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置,包括與外來TCP進(jìn)行雙向連接的服務(wù)側(cè)、 接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求對(duì)其進(jìn)行緩存并將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域名、URL和目的主 機(jī)信息進(jìn)行緩存和維護(hù)的客戶側(cè),其特征在于服務(wù)側(cè)包括接收外來的TCP連接請(qǐng)求對(duì)其進(jìn)行緩存并確立TCP會(huì)話號(hào)和對(duì)連接請(qǐng)求進(jìn) 行HTTP解析的HTTP解析部件和接收生成的TCP會(huì)話號(hào)的HTTP封裝部件,服務(wù)側(cè)完成與 TCP的會(huì)話以及HTTP解析和HTTP封裝;客戶側(cè)包括會(huì)話管理部件,服務(wù)側(cè)的HTTP解析部件和HTTP封裝部件與客戶側(cè)的會(huì)話 管理部件相連接,會(huì)話管理部件接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求,并將請(qǐng)求數(shù)據(jù)對(duì)象返回給 HTTP封裝部件,會(huì)話管理部件與請(qǐng)求對(duì)象搜索部件相連接,實(shí)現(xiàn)會(huì)話管理部件將請(qǐng)求發(fā)給 請(qǐng)求對(duì)象搜索部件,會(huì)話管理部件與遠(yuǎn)端數(shù)據(jù)中心相連接,實(shí)現(xiàn)遠(yuǎn)端數(shù)據(jù)中心數(shù)據(jù)發(fā)給客 戶側(cè)會(huì)話管理部件,會(huì)話管理部件與本地磁盤陣列相連接,實(shí)現(xiàn)本地磁盤陣列數(shù)據(jù)發(fā)給客 戶側(cè)會(huì)話管理部件。在服務(wù)側(cè)中,TCP會(huì)話輸入端通過輸入緩存部件與HTTP解析部件相連接,HTTP解 析部件又與請(qǐng)求緩存部件相連接,請(qǐng)求緩存部件連接HTTP請(qǐng)求輸出端,TCP會(huì)話輸入發(fā)給到輸入緩存部件,輸入緩存部件再發(fā)給HTTP解析部件,HTTP解析部 件發(fā)給請(qǐng)求緩存部件并輸出HTTP請(qǐng)求;HTTP解析部件與中間部件雙向連接,HTTP封裝部 件又與中間部件雙向連接;HTTP請(qǐng)求響應(yīng)輸入端通過響應(yīng)緩存部件與HTTP封裝部件相連 接,HTTP封裝部件又與輸出緩存部件相連接,輸出緩存部件連接TCP會(huì)話輸出端,HTTP請(qǐng)求 響應(yīng)輸入到響應(yīng)緩存部件,響應(yīng)緩存部件將響應(yīng)緩存發(fā)給HTTP封裝部件,HTTP封裝部件將 HTTP封裝發(fā)給輸出緩存部件,由輸出緩存部件輸出TCP會(huì)話。所述的連接在HTTP解析部件與HTTP封裝部件之間的中間部件包括會(huì)話號(hào)部件、域名部件、URL部件和請(qǐng)求內(nèi)容、類型及數(shù)量部件。在客戶側(cè)中,會(huì)話管理部件包括與HTTP請(qǐng)求輸出端相連接的封裝HTTP請(qǐng)求部件、 與封裝HTTP請(qǐng)求部件相連接的請(qǐng)求輸出緩存部件、與遠(yuǎn)端數(shù)據(jù)中心相連接的HTTP解析緩 存部件、與HTTP解析緩存部件相連接的輸出緩存部件、與封裝HTTP請(qǐng)求部件雙向連接的中 間部件、與中間部件相連接的緩存與解壓縮部件;請(qǐng)求輸出緩存部件還與外部的請(qǐng)求對(duì)象 搜索部件相連接,緩存與解壓縮部件還與本地磁盤陣列相連接,輸出緩存部件還與HTTP請(qǐng) 求響應(yīng)輸入端相連接,HTTP解析緩存部件也與中間部件相連接,緩存與解壓縮部件還與輸 出緩存部件相連接,HTTP解析緩存發(fā)給輸出緩存部件,HTTP封裝請(qǐng)求發(fā)給請(qǐng)求輸出緩存部 件,緩存與解壓縮發(fā)給URL維護(hù)與內(nèi)容類型部件,緩存與解壓縮發(fā)給輸出緩存,本地磁盤陣 列發(fā)給緩存解壓縮,HTTP解析還發(fā)給URL維護(hù)與內(nèi)容類型部件,URL維護(hù)與內(nèi)容類型部件分為為目的主機(jī)部件、URL與域名部件、請(qǐng)求內(nèi)容、類型及數(shù) 量部件和負(fù)載均衡部件四個(gè)中間部件,封裝HTTP請(qǐng)求部件分別與上述的四個(gè)中間部件雙 向連接,緩存與解壓縮部件也分別與上述的四個(gè)中間部件雙向連接。緩存與解壓縮部件包括與本地磁盤陣列相連接的本地響應(yīng)分類器、與本地響應(yīng)分 類器相連接的硬件解壓縮陣列、與硬件解壓縮陣列相連接的硬件分析URL、響應(yīng)內(nèi)容部件、 與硬件分析URL、響應(yīng)內(nèi)容部件相連接的URL維護(hù)與內(nèi)容類型部件、與硬件分析URL、響應(yīng)內(nèi) 容部件相連接的輸出緩存,輸出緩存與客戶側(cè)輸出緩存相連接。一種上述所述的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置的面向云服務(wù)的多并發(fā)業(yè) 務(wù)流控制方法,其特征在于其控制方法按如下步驟進(jìn)行首先是多并發(fā)業(yè)務(wù)流控制裝置的服務(wù)側(cè)控制方法按如下步驟進(jìn)行1)、服務(wù)側(cè)接收TCP連接請(qǐng)求,并對(duì)連接請(qǐng)求進(jìn)行緩存,由HTTP解析等部件確立TCP會(huì) 話號(hào)和對(duì)連接請(qǐng)求進(jìn)行HTTP的解析;2)、建立TCP請(qǐng)求,生成相應(yīng)的會(huì)話號(hào)發(fā)給HTTP封裝部分,并由該部分將所建立的會(huì)話 號(hào)發(fā)送給TCP請(qǐng)求方,表示成功建立一個(gè)TCP連接;3)、將會(huì)話號(hào)、源主機(jī)地址、目的主機(jī)地址,解析出的URL和域名進(jìn)行緩存維護(hù),并以 HTTP請(qǐng)求方式將所解析出的請(qǐng)求對(duì)象數(shù)據(jù)和目的主機(jī)地址發(fā)送給多并發(fā)業(yè)務(wù)流控制裝置 的客戶側(cè);4)、HTTP請(qǐng)求返回,響應(yīng)緩存對(duì)請(qǐng)求的數(shù)據(jù)對(duì)象和其對(duì)應(yīng)的域名等進(jìn)行保存,此時(shí)由 HTTP封裝部分在維護(hù)緩存中查詢?cè)揌TTP響應(yīng)中數(shù)據(jù)對(duì)象所對(duì)應(yīng)的URL和源主機(jī)地址等信 息,若查詢成功則將響應(yīng)數(shù)據(jù)對(duì)象、源主機(jī)地址,目的主機(jī)地址等進(jìn)行HTTP封裝,加上該響 應(yīng)的會(huì)話號(hào)生成TCP響應(yīng),送給輸出緩存并盡快輸出,同時(shí)由HTTP封裝部分將該成功HTTP 請(qǐng)求對(duì)應(yīng)的會(huì)話號(hào)、數(shù)據(jù)對(duì)象域名和URL等進(jìn)行刪除,空出緩存空間;5)、對(duì)于失敗的或者經(jīng)過一定時(shí)間長度仍無HTTP請(qǐng)求數(shù)據(jù)對(duì)象響應(yīng)的URL,需再次返 回給HTTP解析部分,再次生成該HTTP請(qǐng)求,若最終失敗則交給該部件下方的HTTP封裝部 分,以請(qǐng)求失敗的數(shù)據(jù)方式進(jìn)行TCP的會(huì)話輸出。其次是多并發(fā)業(yè)務(wù)流控制裝置的客戶側(cè)控制方法按如下步驟進(jìn)行1 )、客戶側(cè)接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求并對(duì)其進(jìn)行緩存,并將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域 名、URL和目的主機(jī)信息進(jìn)行緩存和維護(hù);2)、客戶側(cè)將來自服務(wù)側(cè)的請(qǐng)求以客戶側(cè)為“源地址”配合原有的目的主機(jī)地址信息重6新封裝,生成新的HTTP請(qǐng)求傳送給客戶側(cè)的請(qǐng)求輸出緩存,交由資源搜索部件進(jìn)行處理;3)、客戶側(cè)接收來自遠(yuǎn)端數(shù)據(jù)中心的HTTP相應(yīng)數(shù)據(jù),先對(duì)該響應(yīng)進(jìn)行HTTP解析,抽取 其中的請(qǐng)求數(shù)據(jù)對(duì)象和對(duì)應(yīng)的URL、目的地址信息;4)、將來自遠(yuǎn)端的響應(yīng)數(shù)據(jù)對(duì)象和其URL等送給輸出緩存并發(fā)給服務(wù)側(cè);5)、將響應(yīng)數(shù)據(jù)對(duì)象的URL和目的地址信息發(fā)送給該信息的緩存和維護(hù)裝置,對(duì)相應(yīng) 的信息進(jìn)行查詢并刪除;6)、客戶側(cè)接收來自本地磁盤陣列的響應(yīng)數(shù)據(jù)對(duì)象,對(duì)數(shù)據(jù)對(duì)象進(jìn)行相應(yīng)的數(shù)據(jù)解壓 縮和緩存操作,并將解壓之后的數(shù)據(jù)對(duì)象和其相應(yīng)的URL信息發(fā)給輸出緩存,發(fā)給服務(wù)側(cè);7)、客戶側(cè)將來自本地磁盤陣列的響應(yīng)數(shù)據(jù)對(duì)象的URL和目的地址信息在該信息的緩 存維護(hù)部件中進(jìn)行查詢,并將查詢到的相同信息進(jìn)行刪除;8)、客戶側(cè)的中間維護(hù)部件中的目的主機(jī)和URL維護(hù)緩存,對(duì)該維護(hù)緩存中一定長度 時(shí)間后仍沒得到響應(yīng)的請(qǐng)求信息返回給HTTP封裝部件進(jìn)行重新封裝,生成新的HTTP請(qǐng)求 再輸出,再次交給資源搜索部件處理。將HTTP先進(jìn)行解析,提出所請(qǐng)求的數(shù)據(jù)對(duì)象和該對(duì)象的URL,再進(jìn)一步確定所請(qǐng) 求數(shù)據(jù)對(duì)象是在本地磁盤陣列還是在遠(yuǎn)端數(shù)據(jù)中心,不僅能夠及時(shí)更新本地磁盤陣列中的 數(shù)據(jù),而且還能避免數(shù)據(jù)對(duì)象重復(fù)由遠(yuǎn)端數(shù)據(jù)中心提供,進(jìn)而可以加快響應(yīng)HTTP請(qǐng)求和節(jié) 省有限的帶寬資源。本發(fā)明具有如下積極效果HOE作為服務(wù)提供側(cè),一方面完成與TCP的會(huì)話,輸入TCP負(fù)載和建立的TCP會(huì)話號(hào), 對(duì)基于HTTP的數(shù)據(jù)進(jìn)行解析,從中提取出所請(qǐng)求傳輸對(duì)象的域名和統(tǒng)一資源地址符URL并 進(jìn)行輸出;另一方面,服務(wù)側(cè)接收會(huì)話管理部分所查詢到的請(qǐng)求對(duì)象數(shù)據(jù)和該數(shù)據(jù)對(duì)應(yīng)的 URL,并對(duì)它們進(jìn)行HTTP的數(shù)據(jù)封裝,生成對(duì)應(yīng)的HTTP回應(yīng),完成此TCP的會(huì)話并釋放該 TCP連接。HOE作為客戶請(qǐng)求側(cè),一方面將服務(wù)側(cè)解析出的URL和目的主機(jī)地址等生成HTTP 報(bào)文,將請(qǐng)求的數(shù)據(jù)對(duì)象發(fā)給請(qǐng)求數(shù)據(jù)對(duì)象搜索部件,再由搜索部件查詢?cè)摂?shù)據(jù)對(duì)象所在 的目的主機(jī);另一方面,接收目的主機(jī)發(fā)回的含有請(qǐng)求對(duì)象數(shù)據(jù)的HTTP報(bào)文,輸出該報(bào)文 中的數(shù)據(jù)對(duì)象并發(fā)給HOE服務(wù)側(cè),所接收目的主機(jī)的HTTP報(bào)文可能來自本地的磁盤陣列, 也可能來自遠(yuǎn)端的數(shù)據(jù)中心。1) HOE中服務(wù)側(cè)服務(wù)側(cè)接收外來的TCP連接請(qǐng)求,并對(duì)TCP連接請(qǐng)求進(jìn)行緩存, 由HTTP解析等部件確立TCP會(huì)話號(hào)和對(duì)連接請(qǐng)求進(jìn)行HTTP的解析,此時(shí),一方面建立與輸 入端的TCP請(qǐng)求,生成相應(yīng)的會(huì)話號(hào)發(fā)給HTTP封裝部分,并由該部分將所建立的會(huì)話號(hào)發(fā) 送給TCP請(qǐng)求方,表示成功建立一個(gè)TCP連接,另一方面將會(huì)話號(hào)、源主機(jī)地址、目的主機(jī)地 址,解析出的URL和域名進(jìn)行緩存維護(hù),并以HTTP請(qǐng)求方式將所解析出的請(qǐng)求對(duì)象數(shù)據(jù)和 目的主機(jī)地址發(fā)送給HOE的客戶側(cè)。當(dāng)有HTTP請(qǐng)求返回來時(shí),響應(yīng)緩存對(duì)某一請(qǐng)求的數(shù)據(jù)對(duì)象和其對(duì)應(yīng)的域名信息 等進(jìn)行保存,此時(shí)由HTTP封裝部分在會(huì)話號(hào)等維護(hù)緩存中查詢?cè)揌TTP響應(yīng)中數(shù)據(jù)對(duì)象所 對(duì)應(yīng)的URL和源主機(jī)地址等信息,若查詢成功則將響應(yīng)數(shù)據(jù)對(duì)象、源主機(jī)地址,目的主機(jī)地 址等進(jìn)行HTTP封裝,加上該響應(yīng)的會(huì)話號(hào)生成TCP響應(yīng),送給輸出緩存并盡快輸出,同時(shí)由 HTTP封裝部分將該成功HTTP請(qǐng)求對(duì)應(yīng)的會(huì)話號(hào)、數(shù)據(jù)對(duì)象域名和URL等進(jìn)行刪除,空出緩存空間。整個(gè)過程中,輸入緩存和輸出緩存不僅僅用來存儲(chǔ)大量高速的請(qǐng)求和響應(yīng)數(shù)據(jù), 而且這兩個(gè)緩存還有助于成功建立TCP連接。會(huì)話號(hào)等維護(hù)部件,不僅將成功建立連接的 TCP會(huì)話號(hào)、解析出的域名和URL等進(jìn)行緩存,而且還對(duì)其進(jìn)行維護(hù),即一方面對(duì)成功的請(qǐng) 求響應(yīng)進(jìn)行核實(shí),并刪除對(duì)應(yīng)的URL等信息節(jié)省緩存資源,另一方面,對(duì)于失敗的或者經(jīng)過 一定時(shí)間長度后仍無HTTP請(qǐng)求數(shù)據(jù)對(duì)象響應(yīng)的URL等,再次返回給HTTP解析部件,再次生 成該HTTP請(qǐng)求,此處可依據(jù)一定的調(diào)度策略對(duì)失敗的請(qǐng)求進(jìn)行調(diào)度,若最終失敗則交給該 部件下方的HTTP封裝部分,以請(qǐng)求失敗的數(shù)據(jù)方式進(jìn)行TCP的會(huì)話輸出。HTTP解析部件不僅對(duì)TCP進(jìn)行域名、URL等解析,還對(duì)TCP請(qǐng)求的內(nèi)容類型進(jìn)行分 類和統(tǒng)計(jì),可將相同或相似的請(qǐng)求進(jìn)行集中的發(fā)送給客戶側(cè)。當(dāng)HTTP解析部件的負(fù)載壓力 一般時(shí),可依據(jù)請(qǐng)求內(nèi)容類型和數(shù)量等信息對(duì)維護(hù)部件中的功能模塊進(jìn)行可重構(gòu),對(duì)請(qǐng)求 緩存大小進(jìn)行可配置等靈活操作;HTTP解析部件的負(fù)載壓力較大或HTTP請(qǐng)求數(shù)量突增時(shí), 可迅速對(duì)請(qǐng)求緩存進(jìn)行配置來擴(kuò)充容量,同時(shí)也再硬件配置一個(gè)HTTP解析部件,和原有部 件以并行方式進(jìn)行解析,一定程度上減輕了服務(wù)側(cè)和客戶側(cè)的維護(hù)的連接數(shù)量壓力,起到 了對(duì)高通量請(qǐng)求負(fù)載壓力的均衡作用。2) HOE中客戶側(cè)客戶側(cè)接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求并對(duì)其進(jìn)行緩存,一方 面將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域名、URL和目的主機(jī)信息進(jìn)行緩存和維護(hù),另一方面將來自服 務(wù)側(cè)的請(qǐng)求以客戶端為“源地址”配合原有的目的主機(jī)地址信息等重新封裝,生成新的HTTP 請(qǐng)求傳送給請(qǐng)求輸出緩存,由資源搜索部件進(jìn)行處理。當(dāng)客戶側(cè)接收來自遠(yuǎn)端數(shù)據(jù)中心的HTTP相應(yīng)數(shù)據(jù)時(shí),先對(duì)該響應(yīng)進(jìn)行HTTP解析, 抽取其中的請(qǐng)求數(shù)據(jù)對(duì)象和對(duì)應(yīng)的URL、目的地址信息等,一方面將該響應(yīng)數(shù)據(jù)對(duì)象和其 URL等送給輸出緩存并發(fā)給服務(wù)側(cè),一方面將URL和目的地址信息等發(fā)送給該信息的緩存 和維護(hù)裝置,并對(duì)相應(yīng)的信息進(jìn)行查詢并刪除,以節(jié)省有限的緩存資源。當(dāng)客戶側(cè)接收來自本地磁盤陣列的響應(yīng)數(shù)據(jù)對(duì)象時(shí),由于該數(shù)據(jù)對(duì)象在本地磁盤 陣列中的存儲(chǔ)形式多樣,如為節(jié)省存儲(chǔ)空間進(jìn)行數(shù)據(jù)壓縮,此時(shí)就需要對(duì)這樣的數(shù)據(jù)對(duì)象 進(jìn)行相應(yīng)的數(shù)據(jù)解壓縮和緩存操作,并將解壓之后的數(shù)據(jù)對(duì)象和其相應(yīng)的URL等信息一方 面發(fā)給輸出緩存并發(fā)給服務(wù)側(cè),另一方面將URL和目的地址信息在該信息的緩存維護(hù)中進(jìn) 行查詢,并將查詢到的同樣信息進(jìn)行刪除以節(jié)省有限的緩存資源。HOE客戶側(cè)的中間部件存放目的主機(jī)和URL信息,其不僅是對(duì)這些信息進(jìn)行相應(yīng) 的保存和刪除,而且同時(shí)還對(duì)該維護(hù)緩存中一定長度時(shí)間后仍沒有得到響應(yīng)的信息返回給 HTTP封裝部件進(jìn)行重新封裝,生成新的HTTP請(qǐng)求再輸出,再次交給資源搜索部件處理。這 樣,不僅能提高整體響應(yīng)的成功率,而且還能及時(shí)處理一些過時(shí)的信息也可節(jié)省緩存空間。HTTP封裝部件不僅重新封裝來自服務(wù)側(cè)的請(qǐng)求,同時(shí)還依據(jù)客戶側(cè)的URL維護(hù)部 件內(nèi)統(tǒng)計(jì)和維護(hù)的請(qǐng)求內(nèi)容類型、大小、是否熱點(diǎn)請(qǐng)求和響應(yīng)數(shù)據(jù)來源等信息,決定將重新 封裝的請(qǐng)求發(fā)送給本地資源搜索部件時(shí)由本地搜索部件交給遠(yuǎn)端的數(shù)據(jù)中心處理還是直 接在本地進(jìn)行資源搜索,一定程度上不僅減輕本地搜索部件壓力,同時(shí)還增加了請(qǐng)求成功 得到響應(yīng)的概率。此時(shí),HTTP封裝部件和URL維護(hù)部件的協(xié)調(diào)工作在一定程度上起到對(duì)高 通量請(qǐng)求負(fù)載壓力的均衡作用,提升了整個(gè)客戶側(cè)的處理能力。面向云服務(wù)的多并發(fā)業(yè)務(wù)流環(huán)境下基于HTTP的業(yè)務(wù)流控制裝置,簡(jiǎn)稱為HOE8(HTTP Offload Engine)。
圖1為本發(fā)明的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置(HOE)的結(jié)構(gòu)示意圖。圖2為本發(fā)明的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置(HOE)的服務(wù)側(cè)內(nèi)部的結(jié)構(gòu)示意圖。圖3為本發(fā)明的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置(HOE)的服務(wù)側(cè)URL維護(hù)部 件內(nèi)部的結(jié)構(gòu)示意圖。圖4為本發(fā)明的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置(HOE)的客戶側(cè)內(nèi)部的結(jié)構(gòu) 示意圖。圖5為本發(fā)明的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置(HOE)的客戶側(cè)URL/內(nèi)容 類型部件內(nèi)部的結(jié)構(gòu)示意圖。圖6為本發(fā)明的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置(HOE)的客戶側(cè)緩存/解壓 縮部件內(nèi)部的結(jié)構(gòu)示意圖。
具體實(shí)施例方式如圖1所示,一種面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置,包括與外來TCP進(jìn)行雙向 連接的服務(wù)側(cè)、接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求對(duì)其進(jìn)行緩存并將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域名、 URL和目的主機(jī)信息進(jìn)行緩存和維護(hù)的客戶側(cè);服務(wù)側(cè)包括接收外來的TCP連接請(qǐng)求對(duì)其進(jìn)行緩存并確立TCP會(huì)話號(hào)和對(duì)連接請(qǐng)求進(jìn) 行HTTP解析的HTTP解析部件和接收生成的TCP會(huì)話號(hào)的HTTP封裝部件,服務(wù)側(cè)完成與 TCP的會(huì)話以及HTTP解析和HTTP封裝;客戶側(cè)包括會(huì)話管理部件,服務(wù)側(cè)的HTTP解析部件和HTTP封裝部件與客戶側(cè)的會(huì)話 管理部件相連接,會(huì)話管理部件接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求,并將請(qǐng)求數(shù)據(jù)對(duì)象返回給 HTTP封裝部件,會(huì)話管理部件與請(qǐng)求對(duì)象搜索部件相連接,實(shí)現(xiàn)會(huì)話管理部件將請(qǐng)求發(fā)給 請(qǐng)求對(duì)象搜索部件,會(huì)話管理部件與遠(yuǎn)端數(shù)據(jù)中心相連接,實(shí)現(xiàn)遠(yuǎn)端數(shù)據(jù)中心數(shù)據(jù)發(fā)給客 戶側(cè)會(huì)話管理部件,會(huì)話管理部件與本地磁盤陣列相連接,實(shí)現(xiàn)本地磁盤陣列數(shù)據(jù)發(fā)給客 戶側(cè)會(huì)話管理部件。如圖2所示,在服務(wù)側(cè)中,TCP會(huì)話輸入端通過輸入緩存部件與HTTP解析部件相 連接,HTTP解析部件又與請(qǐng)求緩存部件相連接,請(qǐng)求緩存部件連接HTTP請(qǐng)求輸出端,TCP會(huì) 話輸入發(fā)給到輸入緩存部件,輸入緩存部件再發(fā)給HTTP解析部件,HTTP解析部件發(fā)給請(qǐng)求 緩存部件并輸出HTTP請(qǐng)求;HTTP解析部件與中間部件雙向連接,HTTP封裝部件又與中間部 件雙向連接;HTTP請(qǐng)求響應(yīng)輸入端通過響應(yīng)緩存部件與HTTP封裝部件相連接,HTTP封裝部 件又與輸出緩存部件相連接,輸出緩存部件連接TCP會(huì)話輸出端,HTTP請(qǐng)求響應(yīng)輸入到響 應(yīng)緩存部件,響應(yīng)緩存部件將響應(yīng)緩存發(fā)給HTTP封裝部件,HTTP封裝部件將HTTP封裝發(fā) 給輸出緩存部件,由輸出緩存部件輸出TCP會(huì)話。如圖3所示,所述的連接在HTTP解析部件與HTTP封裝部件之間的中間部件包括 會(huì)話號(hào)部件、域名部件、URL部件和請(qǐng)求內(nèi)容、類型及數(shù)量部件。如圖4、5所示,在客戶側(cè)中,會(huì)話管理部件包括與HTTP請(qǐng)求輸出端相連接的封裝9HTTP請(qǐng)求部件、與封裝HTTP請(qǐng)求部件相連接的請(qǐng)求輸出緩存部件、與遠(yuǎn)端數(shù)據(jù)中心相連接 的HTTP解析緩存部件、與HTTP解析緩存部件相連接的輸出緩存部件、與封裝HTTP請(qǐng)求部 件雙向連接的中間部件、與中間部件相連接的緩存與解壓縮部件;請(qǐng)求輸出緩存部件還與 外部的請(qǐng)求對(duì)象搜索部件相連接,緩存與解壓縮部件還與本地磁盤陣列相連接,輸出緩存 部件還與HTTP請(qǐng)求響應(yīng)輸入端相連接,HTTP解析緩存部件也與中間部件相連接,緩存與解 壓縮部件還與輸出緩存部件相連接,HTTP解析緩存發(fā)給輸出緩存部件,HTTP封裝請(qǐng)求發(fā)給 請(qǐng)求輸出緩存部件,緩存與解壓縮發(fā)給URL維護(hù)與內(nèi)容類型部件,緩存與解壓縮部件發(fā)給 輸出緩存,本地磁盤陣列發(fā)給緩存解壓縮,HTTP解析還發(fā)給URL維護(hù)與內(nèi)容類型部件,URL 維護(hù)與內(nèi)容類型部件分為為目的主機(jī)部件、URL與域名部件、請(qǐng)求內(nèi)容、類型及數(shù)量部件和 負(fù)載均衡部件四個(gè)中間部件,封裝HTTP請(qǐng)求部件分別與上述的四個(gè)中間部件雙向連接,緩 存與解壓縮部件也分別與上述的四個(gè)中間部件雙向連接。如圖6所示,緩存與解壓縮部件包括與本地磁盤陣列相連接的本地響應(yīng)分類器、 與本地響應(yīng)分類器相連接的硬件解壓縮陣列、與硬件解壓縮陣列相連接的硬件分析URL、響 應(yīng)內(nèi)容部件、與硬件分析URL、響應(yīng)內(nèi)容部件相連接的URL維護(hù)與內(nèi)容類型部件、與硬件分 析URL、響應(yīng)內(nèi)容部件相連接的輸出緩存,輸出緩存與客戶側(cè)輸出緩存相連接。如圖1、2、3、4、5、6所示,一種如上述所述的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置 的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制方法,其特征在于其控制方法按如下步驟進(jìn)行首先是多并發(fā)業(yè)務(wù)流控制裝置的服務(wù)側(cè)控制方法按如下步驟進(jìn)行 1 )、服務(wù)側(cè)接收TCP連接請(qǐng)求,并對(duì)連接請(qǐng)求進(jìn)行緩存,由HTTP解析等部件確立TCP會(huì) 話號(hào)和對(duì)連接請(qǐng)求進(jìn)行HTTP的解析;2)、建立TCP請(qǐng)求,生成相應(yīng)的會(huì)話號(hào)發(fā)給HTTP封裝部分,并由該部分將所建立的會(huì)話 號(hào)發(fā)送給TCP請(qǐng)求方,表示成功建立一個(gè)TCP連接;3)、將會(huì)話號(hào)、源主機(jī)地址、目的主機(jī)地址,解析出的URL和域名進(jìn)行緩存維護(hù),并以 HTTP請(qǐng)求方式將所解析出的請(qǐng)求對(duì)象數(shù)據(jù)和目的主機(jī)地址發(fā)送給多并發(fā)業(yè)務(wù)流控制裝置 的客戶側(cè);4)、HTTP請(qǐng)求返回來,響應(yīng)緩存對(duì)請(qǐng)求的數(shù)據(jù)對(duì)象和其對(duì)應(yīng)的域名等進(jìn)行保存,此時(shí)由 HTTP封裝部分在維護(hù)緩存中查詢?cè)揌TTP響應(yīng)中數(shù)據(jù)對(duì)象所對(duì)應(yīng)的URL和源主機(jī)地址等信 息,若查詢成功則將響應(yīng)數(shù)據(jù)對(duì)象、源主機(jī)地址,目的主機(jī)地址等進(jìn)行HTTP封裝,加上該響 應(yīng)的會(huì)話號(hào)生成TCP響應(yīng),送給輸出緩存并盡快輸出,同時(shí)由HTTP封裝部分將該成功HTTP 請(qǐng)求對(duì)應(yīng)的會(huì)話號(hào)、數(shù)據(jù)對(duì)象域名和URL等進(jìn)行刪除,空出緩存空間;5)、對(duì)于失敗的或者經(jīng)過一定時(shí)間長度仍無HTTP請(qǐng)求數(shù)據(jù)對(duì)象響應(yīng)的URL,需再次返 回給HTTP解析部分,再次生成該HTTP請(qǐng)求,若最終失敗則交給該部件下方的HTTP封裝部 分,以請(qǐng)求失敗的數(shù)據(jù)方式進(jìn)行TCP的會(huì)話輸出。其次是多并發(fā)業(yè)務(wù)流控制裝置的客戶側(cè)控制方法按如下步驟進(jìn)行1 )、客戶側(cè)接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求并對(duì)其進(jìn)行緩存,并將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域 名、URL和目的主機(jī)信息進(jìn)行緩存和維護(hù);2)、客戶側(cè)將來自服務(wù)側(cè)的請(qǐng)求以客戶側(cè)為“源地址”配合原有的目的主機(jī)地址信息重 新封裝,生成新的HTTP請(qǐng)求傳送給客戶側(cè)的請(qǐng)求輸出緩存,交由資源搜索部件進(jìn)行處理;3)、客戶側(cè)接收來自遠(yuǎn)端數(shù)據(jù)中心的HTTP相應(yīng)數(shù)據(jù),先對(duì)該響應(yīng)進(jìn)行HTTP解析,抽取其中的請(qǐng)求數(shù)據(jù)對(duì)象和對(duì)應(yīng)的URL、目的地址信息;4)、將來自遠(yuǎn)端的響應(yīng)數(shù)據(jù)對(duì)象和其URL等送給輸出緩存并發(fā)給服務(wù)側(cè);5)、將響應(yīng)數(shù)據(jù)對(duì)象的URL和目的地址信息發(fā)送給該信息的緩存和維護(hù)裝置,對(duì)相應(yīng) 的信息進(jìn)行查詢并刪除;6)、客戶側(cè)接收來自本地磁盤陣列的響應(yīng)數(shù)據(jù)對(duì)象,對(duì)數(shù)據(jù)對(duì)象進(jìn)行相應(yīng)的數(shù)據(jù)解壓 縮和緩存操作,并將解壓之后的數(shù)據(jù)對(duì)象和其相應(yīng)的URL信息發(fā)給輸出緩存,發(fā)給服務(wù)側(cè);7)、客戶側(cè)將來自本地磁盤陣列的響應(yīng)數(shù)據(jù)對(duì)象的URL和目的地址信息在該信息的緩 存維護(hù)部件中進(jìn)行查詢,并將查詢到的相同信息進(jìn)行刪除。 8)、客戶側(cè)的中間維護(hù)部件中的目的主機(jī)和URL維護(hù)緩存,對(duì)該維護(hù)緩存中一定 長度時(shí)間后仍沒得到響應(yīng)的請(qǐng)求信息返回給HTTP封裝部件進(jìn)行重新封裝,生成新的HTTP 請(qǐng)求再輸出,再次交給資源搜索部件處理。
權(quán)利要求
1.一種面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置,包括與外來TCP進(jìn)行雙向連接的服務(wù) 側(cè)、接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求對(duì)其進(jìn)行緩存并將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域名、URL和目的 主機(jī)信息進(jìn)行緩存和維護(hù)的客戶側(cè),其特征在于服務(wù)側(cè)包括接收外來的TCP連接請(qǐng)求對(duì)其進(jìn)行緩存并確立TCP會(huì)話號(hào)和對(duì)連接請(qǐng)求進(jìn) 行HTTP解析的HTTP解析部件和接收生成TCP會(huì)話號(hào)的HTTP封裝部件,服務(wù)側(cè)完成與TCP 的會(huì)話以及HTTP解析和HTTP封裝;客戶側(cè)包括會(huì)話管理部件,服務(wù)側(cè)的HTTP解析部件和HTTP封裝部件與客戶側(cè)的會(huì)話 管理部件相連接,會(huì)話管理部件接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求,并將請(qǐng)求數(shù)據(jù)對(duì)象返回給 HTTP封裝部件,會(huì)話管理部件與請(qǐng)求對(duì)象搜索部件相連接,實(shí)現(xiàn)會(huì)話管理部件將請(qǐng)求發(fā)給 請(qǐng)求對(duì)象搜索部件,會(huì)話管理部件與遠(yuǎn)端數(shù)據(jù)中心相連接,實(shí)現(xiàn)遠(yuǎn)端數(shù)據(jù)中心數(shù)據(jù)發(fā)給客 戶側(cè)會(huì)話管理部件,會(huì)話管理部件與本地磁盤陣列相連接,實(shí)現(xiàn)本地磁盤陣列數(shù)據(jù)發(fā)給客 戶側(cè)會(huì)話管理部件。
2.根據(jù)權(quán)利要求1所述的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置,其特征在于在服務(wù) 側(cè)中,TCP會(huì)話輸入端通過輸入緩存部件與HTTP解析部件相連接,HTTP解析部件又與請(qǐng)求 緩存部件相連接,請(qǐng)求緩存部件連接HTTP請(qǐng)求輸出端,TCP會(huì)話輸入發(fā)給到輸入緩存部件,輸入緩存部件再發(fā)給HTTP解析部件,HTTP解析部 件發(fā)給請(qǐng)求緩存部件并輸出HTTP請(qǐng)求;HTTP解析部件與中間部件雙向連接,HTTP封裝部 件又與中間部件雙向連接;HTTP請(qǐng)求響應(yīng)輸入端通過響應(yīng)緩存部件與HTTP封裝部件相連 接,HTTP封裝部件又與輸出緩存部件相連接,輸出緩存部件連接TCP會(huì)話輸出端,HTTP請(qǐng)求 響應(yīng)輸入到響應(yīng)緩存部件,響應(yīng)緩存部件將響應(yīng)緩存發(fā)給HTTP封裝部件,HTTP封裝部件將 HTTP封裝發(fā)給輸出緩存部件,由輸出緩存部件輸出TCP會(huì)話。
3.根據(jù)權(quán)利要求2所述的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置,其特征在于所述的 連接在HTTP解析部件與HTTP封裝部件之間的中間部件包括會(huì)話號(hào)部件、域名部件、URL部 件和請(qǐng)求內(nèi)容、類型及數(shù)量部件。
4.根據(jù)權(quán)利要求1所述的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置,其特征在于在客戶 側(cè)中,會(huì)話管理部件包括與HTTP請(qǐng)求輸出端相連接的封裝HTTP請(qǐng)求部件、與封裝HTTP請(qǐng) 求部件相連接的請(qǐng)求輸出緩存部件、與遠(yuǎn)端數(shù)據(jù)中心相連接的HTTP解析緩存部件、與HTTP 解析緩存部件相連接的輸出緩存部件、與封裝HTTP請(qǐng)求部件雙向連接的中間部件、與中間 部件相連接的緩存與解壓縮部件;請(qǐng)求輸出緩存部件還與外部的請(qǐng)求對(duì)象搜索部件相連 接,緩存與解壓縮部件還與本地磁盤陣列相連接,輸出緩存部件還與HTTP請(qǐng)求響應(yīng)輸入端 相連接,HTTP解析緩存部件也與中間部件相連接,緩存與解壓縮部件還與輸出緩存部件相 連接,HTTP解析緩存發(fā)給輸出緩存部件,HTTP封裝請(qǐng)求發(fā)給請(qǐng)求輸出緩存部件,緩存與解 壓縮發(fā)給URL維護(hù)與內(nèi)容類型部件,緩存與解壓縮發(fā)給輸出緩存,本地磁盤陣列發(fā)給緩存 解壓縮,HTTP解析還發(fā)給URL維護(hù)與內(nèi)容類型部件,URL維護(hù)與內(nèi)容類型部件分為為目的主機(jī)部件、URL與域名部件、請(qǐng)求內(nèi)容、類型及數(shù) 量部件和負(fù)載均衡部件四個(gè)中間部件,封裝HTTP請(qǐng)求部件分別與上述的四個(gè)中間部件雙 向連接,緩存與解壓縮部件也分別與上述的四個(gè)中間部件雙向連接。
5.根據(jù)權(quán)利要求4所述的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置,其特征在于緩存與 解壓縮部件包括與本地磁盤陣列相連接的本地響應(yīng)分類器、與本地響應(yīng)分類器相連接的硬件解壓縮陣列、與硬件解壓縮陣列相連接的硬件分析URL、響應(yīng)內(nèi)容部件、與硬件分析URL、 響應(yīng)內(nèi)容部件相連接的URL維護(hù)與內(nèi)容類型部件、與硬件分析URL、響應(yīng)內(nèi)容部件相連接的 輸出緩存,輸出緩存與客戶側(cè)輸出緩存相連接。
6. 一種如上述權(quán)利要求所述的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置的面向云服務(wù)的 多并發(fā)業(yè)務(wù)流控制方法,其特征在于其控制方法按如下步驟進(jìn)行首先是多并發(fā)業(yè)務(wù)流控制裝置的服務(wù)側(cè)控制方法按如下步驟進(jìn)行.1)、服務(wù)側(cè)接收TCP連接請(qǐng)求,并對(duì)連接請(qǐng)求進(jìn)行緩存,由HTTP解析等部件確立TCP會(huì) 話號(hào)和對(duì)連接請(qǐng)求進(jìn)行HTTP的解析;.2)、建立TCP請(qǐng)求,生成相應(yīng)的會(huì)話號(hào)發(fā)給HTTP封裝部分,并由該部分將所建立的會(huì)話 號(hào)發(fā)送給TCP請(qǐng)求方,表示成功建立一個(gè)TCP連接;.3)、將會(huì)話號(hào)、源主機(jī)地址、目的主機(jī)地址,解析出的URL和域名進(jìn)行緩存維護(hù),并以 HTTP請(qǐng)求方式將所解析出的請(qǐng)求對(duì)象數(shù)據(jù)和目的主機(jī)地址發(fā)送給多并發(fā)業(yè)務(wù)流控制裝置 的客戶側(cè);.4)、HTTP請(qǐng)求返回來,響應(yīng)緩存對(duì)請(qǐng)求的數(shù)據(jù)對(duì)象和其對(duì)應(yīng)的域名等進(jìn)行保存,此時(shí)由 HTTP封裝部分在維護(hù)緩存中查詢?cè)揌TTP響應(yīng)中數(shù)據(jù)對(duì)象所對(duì)應(yīng)的URL和源主機(jī)地址等信 息,若查詢成功則將響應(yīng)數(shù)據(jù)對(duì)象、源主機(jī)地址,目的主機(jī)地址等進(jìn)行HTTP封裝,加上該響 應(yīng)的會(huì)話號(hào)生成TCP響應(yīng),送給輸出緩存并盡快輸出,同時(shí)由HTTP封裝部分將該成功HTTP 請(qǐng)求對(duì)應(yīng)的會(huì)話號(hào)、數(shù)據(jù)對(duì)象域名和URL等進(jìn)行刪除,空出緩存空間;.5)、對(duì)于失敗的或者經(jīng)過一定時(shí)間長度仍無HTTP請(qǐng)求數(shù)據(jù)對(duì)象響應(yīng)的URL,需再次返 回給HTTP解析部分,再次生成該HTTP請(qǐng)求,若最終失敗則交給該部件下方的HTTP封裝部 分,以請(qǐng)求失敗的數(shù)據(jù)方式進(jìn)行TCP的會(huì)話輸出;其次是多并發(fā)業(yè)務(wù)流控制裝置的客戶側(cè)控制方法按如下步驟進(jìn)行.1 )、客戶側(cè)接收服務(wù)側(cè)發(fā)送的HTTP請(qǐng)求并對(duì)其進(jìn)行緩存,并將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域 名、URL和目的主機(jī)信息進(jìn)行緩存和維護(hù);.2)、客戶側(cè)將來自服務(wù)側(cè)的請(qǐng)求以客戶側(cè)為“源地址”配合原有的目的主機(jī)地址信息重 新封裝,生成新的HTTP請(qǐng)求傳送給客戶側(cè)的請(qǐng)求輸出緩存,交由資源搜索部件進(jìn)行處理;.3)、客戶側(cè)接收來自遠(yuǎn)端數(shù)據(jù)中心的HTTP相應(yīng)數(shù)據(jù),先對(duì)該響應(yīng)進(jìn)行HTTP解析,抽取 其中的請(qǐng)求數(shù)據(jù)對(duì)象和對(duì)應(yīng)的URL、目的地址信息;.4)、將來自遠(yuǎn)端的響應(yīng)數(shù)據(jù)對(duì)象和其URL等送給輸出緩存并發(fā)給服務(wù)側(cè);.5)、將響應(yīng)數(shù)據(jù)對(duì)象的URL和目的地址信息發(fā)送給該信息的緩存和維護(hù)裝置,對(duì)相應(yīng) 的信息進(jìn)行查詢并刪除;.6)、客戶側(cè)接收來自本地磁盤陣列的響應(yīng)數(shù)據(jù)對(duì)象,對(duì)數(shù)據(jù)對(duì)象進(jìn)行相應(yīng)的數(shù)據(jù)解壓 縮和緩存操作,并將解壓之后的數(shù)據(jù)對(duì)象和其相應(yīng)的URL信息發(fā)給輸出緩存,發(fā)給服務(wù)側(cè);.7)、客戶側(cè)將來自本地磁盤陣列的響應(yīng)數(shù)據(jù)對(duì)象的URL和目的地址信息在該信息的緩 存維護(hù)部件中進(jìn)行查詢,并將查詢到的相同信息進(jìn)行刪除;.8)、客戶側(cè)的中間維護(hù)部件中的目的主機(jī)和URL維護(hù)緩存,對(duì)該維護(hù)緩存中一定長度 時(shí)間后仍沒得到響應(yīng)的請(qǐng)求信息返回給HTTP封裝部件進(jìn)行重新封裝,生成新的HTTP請(qǐng)求 再輸出,再次交給資源搜索部件處理。
全文摘要
本發(fā)明涉及一種多并發(fā)業(yè)務(wù)流環(huán)境下的基于HTTP的業(yè)務(wù)流管理及其維護(hù)機(jī)制的面向云服務(wù)的多并發(fā)業(yè)務(wù)流控制裝置及控制方法,包括與TCP雙向連接的服務(wù)側(cè)、接收服務(wù)側(cè)HTTP請(qǐng)求進(jìn)行緩存并將HTTP請(qǐng)求數(shù)據(jù)對(duì)象的域名、URL和目的主機(jī)信息進(jìn)行緩存和維護(hù)的客戶側(cè),服務(wù)側(cè)包括接收TCP連接請(qǐng)求進(jìn)行緩存并確立TCP會(huì)話號(hào)和HTTP解析部件及HTTP封裝部件,客戶側(cè)包括會(huì)話管理部件,HTTP解析部件、封裝部件與會(huì)話管理部件相連,會(huì)話管理部件與請(qǐng)求對(duì)象搜索部件、遠(yuǎn)端數(shù)據(jù)中心、本地磁盤陣列相連接,不僅能夠及時(shí)更新本地磁盤陣列中的數(shù)據(jù),還能避免數(shù)據(jù)對(duì)象由遠(yuǎn)端數(shù)據(jù)中心重復(fù)提供,進(jìn)而加快響應(yīng)HTTP請(qǐng)求和節(jié)省有限的帶寬資源。
文檔編號(hào)H04L29/06GK102055771SQ20111002559
公開日2011年5月11日 申請(qǐng)日期2011年1月24日 優(yōu)先權(quán)日2011年1月24日
發(fā)明者龐建民, 張俊杰, 張興明, 張帆, 張錚, 斯雪明, 李弋, 祝衛(wèi)華, 祝永新, 羅興國, 肖慶輝, 謝光偉, 鄔江興, 陳韜, 齊寧 申請(qǐng)人:上海紅神信息技術(shù)有限公司