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

Web請(qǐng)求調(diào)度方法及系統(tǒng)的制作方法

文檔序號(hào):6348131閱讀:184來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):Web請(qǐng)求調(diào)度方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種Web請(qǐng)求調(diào)度方法及系統(tǒng)。
背景技術(shù)
在復(fù)雜的網(wǎng)絡(luò)系統(tǒng)中,可以由多臺(tái)服務(wù)器提供萬(wàn)維網(wǎng)(Web)服務(wù),每臺(tái)服務(wù)器可能具有不同的功能定位,例如緩存服務(wù)器、負(fù)載均衡服務(wù)器、Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器等。 通過(guò)抽象,Web請(qǐng)求在服務(wù)器端將經(jīng)過(guò)若干轉(zhuǎn)發(fā)單元的轉(zhuǎn)發(fā),最終由處理單元處理。在轉(zhuǎn)發(fā)單元和/或處理單元中可能存有緩存數(shù)據(jù)以提高訪問(wèn)速度?;诂F(xiàn)有方案,在緩存時(shí)是依據(jù)統(tǒng)一資源定位符(Uniform Resource Locator, URL)緩存對(duì)應(yīng)的數(shù)據(jù),當(dāng)同樣的兩套網(wǎng)站系統(tǒng)部署在分布式Web環(huán)境中,且訪問(wèn)URL不同, 會(huì)造成對(duì)這兩套同樣的系統(tǒng)在同一個(gè)轉(zhuǎn)發(fā)單元或者處理單元上會(huì)緩存兩份實(shí)際上相同的數(shù)據(jù)。而從全系統(tǒng)角度觀察,對(duì)于同一個(gè)URL請(qǐng)求,由于轉(zhuǎn)發(fā)單元在處理算法上的選擇還可能造成同一個(gè)URL(或者不同URL但是請(qǐng)求文件的實(shí)際內(nèi)容一致)的請(qǐng)求被轉(zhuǎn)發(fā)至不同的轉(zhuǎn)發(fā)單元或處理單元上,這樣會(huì)造成在不同轉(zhuǎn)發(fā)單元或者處理單元上存在實(shí)際上相同的緩存數(shù)據(jù)。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例是提供一種Web請(qǐng)求調(diào)度方法及系統(tǒng),用以解決現(xiàn)有技術(shù)中存在的請(qǐng)求實(shí)質(zhì)內(nèi)容相同的Web請(qǐng)求對(duì)應(yīng)多份相同數(shù)據(jù)引起的資源浪費(fèi)問(wèn)題,實(shí)現(xiàn)提高緩存利用率,降低Web服務(wù)環(huán)境的成本。本發(fā)明實(shí)施例提供了一種Web請(qǐng)求調(diào)度方法,包括解析接收的Web請(qǐng)求獲取文件路徑信息,并發(fā)送緩存請(qǐng)求,攜帶所述文件路徑信息;獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),其中,文件標(biāo)識(shí)碼與緩存數(shù)據(jù)為一一對(duì)應(yīng)關(guān)系。本發(fā)明實(shí)施例提供了一種Web請(qǐng)求調(diào)度系統(tǒng),包括請(qǐng)求處理模塊,用于解析接收的Web請(qǐng)求獲取文件路徑信息,并發(fā)送緩存請(qǐng)求,攜帶所述文件路徑信息;本地緩存模塊,用于獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),其中,文件標(biāo)識(shí)碼與緩存數(shù)據(jù)為一一對(duì)應(yīng)關(guān)系。由上述技術(shù)方案可知,本發(fā)明實(shí)施例的Web請(qǐng)求調(diào)度方法及系統(tǒng),通過(guò)每個(gè)文件標(biāo)識(shí)碼對(duì)應(yīng)唯一的緩存數(shù)據(jù),可以使得請(qǐng)求實(shí)質(zhì)內(nèi)容相同的Web請(qǐng)求對(duì)應(yīng)同一份緩存數(shù)據(jù),可以提升緩存的利用率、降低Web服務(wù)環(huán)境的成本。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他
的附圖。
圖1為本發(fā)明第一實(shí)施例的方法流程示意圖2為本發(fā)明實(shí)施例對(duì)應(yīng)的系統(tǒng)架構(gòu)圖一;
圖3為本發(fā)明實(shí)施例中共享緩存單元的結(jié)構(gòu)示意圖一;
圖4為本發(fā)明實(shí)施例對(duì)應(yīng)的系統(tǒng)架構(gòu)圖二;
圖5為本發(fā)明實(shí)施例中共享緩存單元的結(jié)構(gòu)示意圖二;
圖6為本發(fā)明第二實(shí)施例的方法流程示意圖7為本發(fā)明第三實(shí)施例的方法流程示意圖8為本發(fā)明第四實(shí)施例的方法流程示意圖9為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程一的示意圖10為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程二的示意圖11為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程三的示意圖12為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程四的示意圖13為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程五的示意圖14為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程六的示意 圖。圖15為本發(fā)明實(shí)施例中緩存數(shù)據(jù)、文件路徑信息、文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系示意
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明第一實(shí)施例的方法流程示意圖,包括步驟11 :Web請(qǐng)求調(diào)度系統(tǒng)解析接收的Web請(qǐng)求獲取文件路徑信息,并發(fā)送緩存請(qǐng)求,攜帶所述文件路徑信息;步驟12 =Web請(qǐng)求調(diào)度系統(tǒng)獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),其中,文件標(biāo)識(shí)碼與緩存數(shù)據(jù)為一一對(duì)應(yīng)關(guān)系。本實(shí)施例通過(guò)每個(gè)文件標(biāo)識(shí)碼對(duì)應(yīng)唯一的緩存數(shù)據(jù),可以使得請(qǐng)求實(shí)質(zhì)內(nèi)容相同的Web請(qǐng)求對(duì)應(yīng)同一份緩存數(shù)據(jù),可以提升緩存的利用率、降低Web服務(wù)環(huán)境的成本。圖2為本發(fā)明實(shí)施例對(duì)應(yīng)的系統(tǒng)架構(gòu)圖一,包括轉(zhuǎn)發(fā)單元/處理單元21、文件元數(shù)據(jù)存儲(chǔ)單元22、共享緩存單元23和文件系統(tǒng)M,轉(zhuǎn)發(fā)單元/處理單元21包括請(qǐng)求處理模塊211和本地緩存模塊212。請(qǐng)求處理模塊211和本地緩存模塊212之間的接口為H2接口,本地緩存模塊212與文件元數(shù)據(jù)存儲(chǔ)單元22之間的接口為Fl接口,本地緩存模塊212 與共享緩存單元23之間的接口為T(mén)l接口,共享緩存單元23與文件系統(tǒng)M之間的接口為 F2接口,文件元數(shù)據(jù)存儲(chǔ)單元22與共享緩存單元23之間的接口為Fl接口。其中,請(qǐng)求處理模塊211主要負(fù)責(zé)Web請(qǐng)求的解析,例如,解析URL、請(qǐng)求頭等。解析之后通過(guò)H2接口來(lái)請(qǐng)求查詢(xún)?cè)揥eb請(qǐng)求是否對(duì)應(yīng)緩存數(shù)據(jù),緩存數(shù)據(jù)可以為對(duì)應(yīng)的文件、腳本文件的字節(jié)碼或者腳本文件解析后的內(nèi)存數(shù)據(jù)。其中,腳本是指使用腳本編程語(yǔ)言編寫(xiě)的程序,如PHP、Ruby等程序語(yǔ)言編寫(xiě)的程序。本地緩存模塊212是緩存數(shù)據(jù)查找的引擎,現(xiàn)有技術(shù)中本地緩存模塊212中保存的是文件路徑信息與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,例如,URL與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系及URL可以查詢(xún)獲取對(duì)應(yīng)的緩存數(shù)據(jù)。本發(fā)明實(shí)施例中,本地緩存模塊212還需要保存文件標(biāo)識(shí)碼與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,文件標(biāo)識(shí)碼可以唯一代表文件內(nèi)容,例如文件的md5 值。并且,本發(fā)明實(shí)施例中,每個(gè)文件標(biāo)識(shí)碼只對(duì)應(yīng)一份緩存數(shù)據(jù)。請(qǐng)求處理模塊211和本地緩存模塊212之間可以通過(guò)內(nèi)部接口 H2進(jìn)行通信,例如,請(qǐng)求處理模塊211接收到Web請(qǐng)求后,向本地緩存模塊212發(fā)送緩存請(qǐng)求,攜帶文件路徑信息和緩存類(lèi)型,緩存類(lèi)型是指請(qǐng)求的緩存數(shù)據(jù)為文件緩存還是腳本緩存,如果本地緩存模塊212中有對(duì)應(yīng)的緩存數(shù)據(jù),則可以通過(guò)H2接口返回給請(qǐng)求處理模塊211 ;如果本地緩存模塊212中沒(méi)有對(duì)應(yīng)的緩存數(shù)據(jù),則可以通過(guò)Tl接口從共享緩存單元23中獲取緩存數(shù)據(jù)并返回給請(qǐng)求處理模塊211,T1接口可以為遠(yuǎn)程通信接口。文件元數(shù)據(jù)存儲(chǔ)單元22是指存儲(chǔ)所有Web應(yīng)用文件元數(shù)據(jù)的存儲(chǔ)單元,元數(shù)據(jù)存儲(chǔ)單元中的元數(shù)據(jù)需要包含文件的信息,文件的信息包括但不限于文件標(biāo)識(shí)碼、文件路徑信息。文件標(biāo)識(shí)碼可以唯一標(biāo)識(shí)一份文件,如文件的md5值。文件元數(shù)據(jù)存儲(chǔ)單元22可以通過(guò)Fl接口對(duì)外開(kāi)放元數(shù)據(jù)查詢(xún)接口。使用Fl接口可以通過(guò)文件路徑信息及文件元數(shù)據(jù)存儲(chǔ)單元22中保存的文件路徑信息與文件元數(shù)據(jù)的對(duì)應(yīng)關(guān)系查詢(xún)到文件標(biāo)識(shí)碼。共享緩存單元23獨(dú)立于轉(zhuǎn)發(fā)單元/處理單元21來(lái)提供共享的緩存存儲(chǔ),并通過(guò) Tl接口對(duì)外開(kāi)放緩存查詢(xún)。當(dāng)接收到緩存查詢(xún)請(qǐng)求時(shí),如果共享緩存單元23上不存在緩存數(shù)據(jù),共享緩存單元23可以通過(guò)F2接口從文件系統(tǒng)讀取數(shù)據(jù);對(duì)于腳本緩存,可以在文件系統(tǒng)中獲取腳本文件后再經(jīng)過(guò)編譯得到腳本緩存。共享緩存單元23提供通過(guò)文件路徑信息或者文件標(biāo)識(shí)碼的方式來(lái)查詢(xún)緩存數(shù)據(jù),可以提供文件緩存、字節(jié)碼緩存或者腳本編譯后的內(nèi)存結(jié)構(gòu)緩存。圖3為本發(fā)明實(shí)施例中共享緩存單元的結(jié)構(gòu)示意圖一,包括文件緩存模塊31、腳本緩存模塊32和腳本引擎模塊33。在共享緩存單元中,可以將圖2所示的Tl接口分解為 Tl. 1和Tl. 2兩種接口,Tl. 1接口對(duì)應(yīng)文件緩存讀取請(qǐng)求,Tl. 2接口對(duì)應(yīng)腳本緩存讀取請(qǐng)求。當(dāng)然,Tl. 1接口與Tl. 2接口也可以合并,通過(guò)輸入?yún)?shù)增加獲取緩存的類(lèi)型,再由內(nèi)部調(diào)度模塊來(lái)分別處理。其中,文件緩存模塊31負(fù)責(zé)文件類(lèi)型緩存操作,當(dāng)收到文件緩存時(shí)通過(guò)攜帶參數(shù)的文件路徑信息或者文件標(biāo)識(shí)碼,文件緩存模塊會(huì)查詢(xún)自身是否已經(jīng)緩存了對(duì)應(yīng)的數(shù)據(jù), 如果存在則返回存在的數(shù)據(jù),判斷方法為通過(guò)文件路徑的緩存請(qǐng)求如果通過(guò)文件路徑信息無(wú)法查詢(xún)到,將通過(guò)Fl接口查詢(xún)文件標(biāo)識(shí)碼,再通過(guò)文件標(biāo)識(shí)碼查詢(xún)?cè)撐募?biāo)識(shí)碼對(duì)應(yīng)的數(shù)據(jù)是否緩存,同時(shí)文件路徑信息和/或文件標(biāo)識(shí)碼到緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系也會(huì)被緩存,如果通過(guò)文件路徑信息及文件標(biāo)識(shí)碼都不能獲取緩存的數(shù)據(jù),則文件緩存模塊31通過(guò) F2接口向文件系統(tǒng)M獲取數(shù)據(jù),從文件系統(tǒng)M獲取的數(shù)據(jù)可以由文件緩存模塊31緩存, 以供下次緩存查詢(xún)。腳本緩存讀取請(qǐng)求由腳本緩存模塊32和腳本引擎模塊33共同完成處理,腳本緩
7存模塊32收到腳本緩存讀取請(qǐng)求后,將查詢(xún)自身是否存在腳本緩存。其中,類(lèi)似于文件緩存,腳本緩存讀取請(qǐng)求中可以攜帶腳本文件的文件路徑信息或者文件標(biāo)識(shí)碼。在查詢(xún)緩存時(shí),也可以類(lèi)似于文件緩存,可以通過(guò)文件路徑信息或者文件標(biāo)識(shí)碼查詢(xún)緩存數(shù)據(jù),并建立文件路徑信息、文件標(biāo)識(shí)碼與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。如果有將返回緩存數(shù)據(jù),如果沒(méi)有,腳本緩存模塊32將通過(guò)m請(qǐng)求腳本引擎模塊33讀取并編譯腳本文件。腳本引擎模塊33收到W接口調(diào)用后,將通過(guò)F2接口讀取腳本文件,讀取后將編譯腳本文件,并將編譯后的腳本數(shù)據(jù)返回給腳本緩存模塊32,編譯后的腳本數(shù)據(jù)可以為字節(jié)碼或者其他代表腳本的可執(zhí)行性的內(nèi)存結(jié)構(gòu)。獲取后的腳本數(shù)據(jù)可以由腳本緩存模塊32進(jìn)行緩存以供下次緩存查詢(xún)。圖4為本發(fā)明實(shí)施例對(duì)應(yīng)的系統(tǒng)架構(gòu)圖二,圖5為本發(fā)明實(shí)施例中共享緩存單元的結(jié)構(gòu)示意圖二。與圖2-3不同的是,用文件標(biāo)識(shí)碼計(jì)算模塊41、51替代上述的文件元數(shù)據(jù)存儲(chǔ)單元,文件標(biāo)識(shí)碼計(jì)算模塊用于計(jì)算緩存數(shù)據(jù)的文件標(biāo)識(shí)碼文件標(biāo)識(shí)碼例如為緩存數(shù)據(jù)的MD5值。以文件緩存為例,本地緩存模塊根據(jù)文件路徑信息查詢(xún)不到對(duì)應(yīng)的文件緩存數(shù)據(jù)后,則向文件系統(tǒng)獲取文件數(shù)據(jù),獲取文件數(shù)據(jù)后使用文件標(biāo)識(shí)碼計(jì)算模塊計(jì)算出文件內(nèi)容的標(biāo)識(shí)碼。由文件緩存模塊建立文件標(biāo)識(shí)碼與緩存數(shù)據(jù)以及文件路徑信息與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。后續(xù)請(qǐng)求如果發(fā)現(xiàn)計(jì)算出來(lái)的文件標(biāo)識(shí)碼已經(jīng)存在緩存模塊,則直接建立文件路徑與已存在的緩存數(shù)據(jù)的關(guān)系,而不需要再緩存一份同樣的數(shù)據(jù)。其余模塊功能與上述相同,不再贅述。下面將以圖2或圖3所示的結(jié)構(gòu)圖為例說(shuō)明本發(fā)明實(shí)施例,圖4-5所示的結(jié)構(gòu)可以參照?qǐng)?zhí)行。本發(fā)明實(shí)施例的具體流程可以具體參見(jiàn)下述各實(shí)施例。圖6為本發(fā)明第二實(shí)施例的方法流程示意圖,本實(shí)施例以本地存在文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù)為例。參見(jiàn)圖6,本實(shí)施例包括步驟601 請(qǐng)求處理模塊接收Web請(qǐng)求。步驟602 請(qǐng)求處理模塊對(duì)Web請(qǐng)求進(jìn)行解析,獲取對(duì)應(yīng)的文件路徑信息,并向本地緩存模塊發(fā)送緩存請(qǐng)求,攜帶文件路徑信息。步驟603 本地緩存模塊以文件路徑信息查詢(xún)本地是否存在文件緩存數(shù)據(jù)。步驟604:如果存在對(duì)應(yīng)的文件緩存數(shù)據(jù),本地緩存模塊向請(qǐng)求處理模塊返回文件緩存數(shù)據(jù)。其中,本地緩存模塊中保存文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到緩存請(qǐng)求中攜帶的文件路徑信息是否存在對(duì)應(yīng)的文件緩存數(shù)據(jù)。進(jìn)一步地,如果存在對(duì)應(yīng)的文件緩存數(shù)據(jù),可以返回該查詢(xún)到的文件緩存數(shù)據(jù)。圖7為本發(fā)明第三實(shí)施例的方法流程示意圖,本實(shí)施例以本地不存在文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù),但存在文件標(biāo)識(shí)碼對(duì)應(yīng)的文件緩存數(shù)據(jù)為例。參見(jiàn)圖7,本實(shí)施例包括步驟701 請(qǐng)求處理模塊接收Web請(qǐng)求。步驟702 請(qǐng)求處理模塊對(duì)Web請(qǐng)求進(jìn)行解析,獲取對(duì)應(yīng)的文件路徑信息,并向本地緩存模塊發(fā)送緩存請(qǐng)求,攜帶文件路徑信息。步驟703 本地緩存模塊以文件路徑信息查詢(xún)本地是否存在文件緩存數(shù)據(jù)。步驟704 如果不存在對(duì)應(yīng)的文件緩存數(shù)據(jù),本地緩存模塊向文件元數(shù)據(jù)存儲(chǔ)單元發(fā)送查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求,攜帶文件路徑信息。
步驟705 文件元數(shù)據(jù)存儲(chǔ)單元向本地緩存模塊返回文件標(biāo)識(shí)碼。其中,文件元數(shù)據(jù)存儲(chǔ)單元中保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到與查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求中攜帶的文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼。步驟706 本地緩存模塊以文件標(biāo)識(shí)碼查詢(xún)本地是否存在文件緩存數(shù)據(jù)。步驟707 如果存在對(duì)應(yīng)的文件緩存數(shù)據(jù),本地緩存模塊建立文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。步驟708 本地緩存模塊向請(qǐng)求處理模塊返回文件緩存數(shù)據(jù)。本地緩存模塊中保存文件標(biāo)識(shí)碼與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系, 可以查詢(xún)到文件標(biāo)識(shí)碼是否存在對(duì)應(yīng)的文件緩存數(shù)據(jù)。進(jìn)一步地,如果存在對(duì)應(yīng)的文件緩存數(shù)據(jù),可以返回給文件緩存數(shù)據(jù)。并且,為了下次可以較快的獲取文件緩存數(shù)據(jù),還可以通過(guò)文件標(biāo)識(shí)碼建立文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。圖8為本發(fā)明第四實(shí)施例的方法流程示意圖,本實(shí)施例以本地不存在文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù),也不存在文件標(biāo)識(shí)碼對(duì)應(yīng)的文件緩存數(shù)據(jù)為例。參見(jiàn)圖8,本實(shí)施例包括步驟801 請(qǐng)求處理模塊接收Web請(qǐng)求。步驟802 請(qǐng)求處理模塊對(duì)Web請(qǐng)求進(jìn)行解析,獲取對(duì)應(yīng)的文件路徑信息,并向本地緩存模塊發(fā)送緩存請(qǐng)求,攜帶文件路徑信息。步驟803 本地緩存模塊以文件路徑信息查詢(xún)本地是否存在文件緩存數(shù)據(jù)。步驟804:如果不存在對(duì)應(yīng)的文件緩存數(shù)據(jù),本地緩存模塊向文件元數(shù)據(jù)存儲(chǔ)單元發(fā)送查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求,攜帶文件路徑信息。步驟805 文件元數(shù)據(jù)存儲(chǔ)單元箱本地緩存模塊返回文件標(biāo)識(shí)碼。其中,文件元數(shù)據(jù)存儲(chǔ)單元中保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到與查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求中攜帶的文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼。步驟806 本地緩存模塊以文件標(biāo)識(shí)碼查詢(xún)本地是否存在文件緩存數(shù)據(jù)。步驟807 如果不存在對(duì)應(yīng)的文件緩存數(shù)據(jù),本地緩存模塊向共享緩存單元發(fā)送緩存查詢(xún)請(qǐng)求,攜帶文件路徑信息或者文件標(biāo)識(shí)碼。步驟808 共享緩存單元執(zhí)行內(nèi)部流程,獲取文件緩存數(shù)據(jù)。具體可以參見(jiàn)圖9-15所示的實(shí)施例。步驟809 共享緩存單元將獲取的文件緩存數(shù)據(jù)返回給本地緩存模塊。步驟810 本地緩存模塊建立文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系以及文件標(biāo)識(shí)碼與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。步驟811 本地緩存模塊向請(qǐng)求處理模塊返回文件緩存數(shù)據(jù)。圖9為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程一的示意圖,本實(shí)施例以獲取文件緩存且存在文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù)為例。參見(jiàn)圖9,本實(shí)施例包括步驟901 本地緩存模塊向文件緩存模塊發(fā)送文件緩存讀取請(qǐng)求,攜帶文件路徑 fn息ο步驟902 文件緩存模塊查詢(xún)本地是否存在該文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù)。步驟903 如果存在,文件緩存模塊將該對(duì)應(yīng)的文件緩存數(shù)據(jù)返回給本地緩存模塊。其中,文件緩存模塊中保存文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到文件緩存讀取請(qǐng)求中攜帶的文件路徑信息是否存在對(duì)應(yīng)的文件緩存數(shù)據(jù)。進(jìn)一步地,如果存在對(duì)應(yīng)的文件緩存數(shù)據(jù),可以返回該文件緩存數(shù)據(jù)。圖10為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程二的示意圖,本實(shí)施例以獲取文件緩存且不存在文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù)為例。參見(jiàn)圖10,本實(shí)施例包括步驟1001 本地緩存模塊向文件緩存模塊發(fā)送文件緩存讀取請(qǐng)求,攜帶文件路徑 fn息ο步驟1002 文件緩存模塊查詢(xún)本地是否存在該文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù)。步驟1003 如果不存在對(duì)應(yīng)的文件緩存數(shù)據(jù),文件緩存模塊向文件元數(shù)據(jù)存儲(chǔ)單元發(fā)送查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求,攜帶文件路徑信息。步驟1004 文件元數(shù)據(jù)存儲(chǔ)單元向文件緩存模塊返回文件標(biāo)識(shí)碼。其中,文件元數(shù)據(jù)存儲(chǔ)單元中保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到與查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求中攜帶的文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼。步驟1005 文件緩存模塊查詢(xún)本地是否存在與該文件標(biāo)識(shí)碼對(duì)應(yīng)的文件緩存數(shù)據(jù)。步驟1006 如果存在對(duì)應(yīng)的文件緩存數(shù)據(jù),文件緩存模塊建立文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。步驟1007 文件緩存模塊向本地緩存模塊返回文件緩存數(shù)據(jù)。文件緩存模塊中保存文件標(biāo)識(shí)碼與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系, 可以查詢(xún)到文件標(biāo)識(shí)碼是否存在對(duì)應(yīng)的文件緩存數(shù)據(jù)。進(jìn)一步地,如果存在對(duì)應(yīng)的文件緩存數(shù)據(jù),可以返回給文件緩存數(shù)據(jù)。并且,為了下次可以較快的獲取文件緩存數(shù)據(jù),還可以通過(guò)文件標(biāo)識(shí)碼建立文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。圖11為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程三的示意圖,本實(shí)施例以獲取文件緩存且不存在文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù)以及不存在文件標(biāo)識(shí)碼對(duì)應(yīng)的文件緩存數(shù)據(jù)為例。參見(jiàn)圖11,本實(shí)施例包括步驟1101 本地緩存模塊向文件緩存模塊發(fā)送文件緩存讀取請(qǐng)求,攜帶文件路徑 fn息ο步驟1102 文件緩存模塊查詢(xún)本地是否存在該文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù)。步驟1103 如果不存在對(duì)應(yīng)的文件緩存數(shù)據(jù),文件緩存模塊向文件元數(shù)據(jù)存儲(chǔ)單元發(fā)送查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求,攜帶文件路徑信息。步驟1104 文件元數(shù)據(jù)存儲(chǔ)單元向文件緩存模塊返回文件標(biāo)識(shí)碼。其中,文件元數(shù)據(jù)存儲(chǔ)單元中保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到與查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求中攜帶的文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)
10碼。步驟1105 文件緩存模塊以文件標(biāo)識(shí)碼查詢(xún)本地是否存在文件緩存數(shù)據(jù)。步驟1106 如果不存在對(duì)應(yīng)的文件緩存數(shù)據(jù),文件緩存模塊向文件系統(tǒng)發(fā)送讀取文件數(shù)據(jù)請(qǐng)求,攜帶文件標(biāo)識(shí)碼。步驟1107 文件系統(tǒng)向文件緩存模塊返回與該文件標(biāo)識(shí)碼對(duì)應(yīng)的文件數(shù)據(jù)?;蛘呶募彺婺K向文件系統(tǒng)發(fā)送的讀取文件數(shù)據(jù)請(qǐng)求中攜帶文件路徑信息,文件系統(tǒng)根據(jù)文件路徑信息獲取對(duì)應(yīng)的文件數(shù)據(jù)。步驟1108 文件緩存模塊緩存文件系統(tǒng)返回的文件數(shù)據(jù),建立文件路徑信息與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系以及文件標(biāo)識(shí)碼與文件緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。步驟1109 文件緩存模塊向本地緩存模塊返回文件緩存數(shù)據(jù)。圖9-11所示的實(shí)施例共享緩存的內(nèi)部流程的示意,并不限于上述實(shí)施例,也可以是,在本地緩存模塊向文件緩存模塊發(fā)送的文件緩存讀取請(qǐng)求中既攜帶文件路徑信息,也攜帶文件標(biāo)識(shí)碼,此時(shí),對(duì)應(yīng)的步驟1003-1004無(wú)需再執(zhí)行,直接根據(jù)該攜帶的文件標(biāo)識(shí)碼查詢(xún)是否存在文件緩存數(shù)據(jù)。另外,也可以是上述的文件緩存讀取請(qǐng)求中攜帶文件標(biāo)識(shí)碼, 而不攜帶文件路徑信息,此時(shí)步驟902、903、步驟1002-1004以及步驟1102-1104無(wú)需執(zhí)行, 直接根據(jù)查詢(xún)?cè)摂y帶的文件標(biāo)識(shí)碼是否存在文件緩存數(shù)據(jù)。上述是以文件緩存為例,對(duì)應(yīng)的緩存數(shù)據(jù)為文件緩存數(shù)據(jù),下面將以腳本緩存為例,對(duì)應(yīng)的緩存數(shù)據(jù)為腳本緩存數(shù)據(jù)。圖12為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程四的示意圖,本實(shí)施例以獲取腳本緩存且存在文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù)為例。參見(jiàn)圖12,本實(shí)施例包括步驟1201 本地緩存模塊向腳本緩存模塊發(fā)送腳本緩存讀取請(qǐng)求,攜帶文件路徑 fn息ο步驟1202 腳本緩存模塊查詢(xún)本地是否存在該文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù)。步驟1203 如果存在,腳本緩存模塊將該對(duì)應(yīng)的腳本緩存數(shù)據(jù)返回給本地緩存模塊。其中,腳本緩存模塊中保存文件路徑信息與腳本緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到文件緩存讀取請(qǐng)求中攜帶的文件路徑信息是否存在對(duì)應(yīng)的腳本緩存數(shù)據(jù)。進(jìn)一步地,如果存在對(duì)應(yīng)的腳本緩存數(shù)據(jù),可以返回該腳本緩存數(shù)據(jù)。圖13為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程五的示意圖,本實(shí)施例以獲取腳本緩存且不存在文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù)為例。參見(jiàn)圖13,本實(shí)施例包括步驟1301 本地緩存模塊向腳本緩存模塊發(fā)送腳本緩存讀取請(qǐng)求,攜帶文件路徑 fn息ο步驟1302 腳本緩存模塊查詢(xún)本地是否存在該文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù)。步驟1303 如果不存在對(duì)應(yīng)的腳本緩存數(shù)據(jù),腳本緩存模塊向文件元數(shù)據(jù)存儲(chǔ)單元發(fā)送查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求,攜帶文件路徑信息。步驟1304 文件元數(shù)據(jù)存儲(chǔ)單元向腳本緩存模塊返回文件標(biāo)識(shí)碼。其中,文件元數(shù)據(jù)存儲(chǔ)單元中保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到與查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求中攜帶的文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼。步驟1305 腳本緩存模塊以文件標(biāo)識(shí)碼查詢(xún)本地是否存在腳本緩存數(shù)據(jù)。步驟1306 如果存在對(duì)應(yīng)的腳本緩存數(shù)據(jù),腳本緩存模塊建立文件路徑信息與腳本緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。步驟1307 腳本緩存模塊向本地緩存模塊返回腳本緩存數(shù)據(jù)。腳本緩存模塊中保存文件標(biāo)識(shí)碼與腳本緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系, 可以查詢(xún)到文件標(biāo)識(shí)碼是否存在對(duì)應(yīng)的腳本緩存數(shù)據(jù)。進(jìn)一步地,如果存在對(duì)應(yīng)的腳本緩存數(shù)據(jù),可以返回給腳本緩存數(shù)據(jù)。并且,為了下次可以較快的獲取腳本緩存數(shù)據(jù),還可以通過(guò)文件標(biāo)識(shí)碼建立文件路徑信息與腳本緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。圖14為本發(fā)明實(shí)施例中共享緩存單元的內(nèi)部流程六的示意圖,本實(shí)施例以獲取腳本緩存且不存在文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù)以及不存在文件標(biāo)識(shí)碼對(duì)應(yīng)的腳本緩存數(shù)據(jù)為例。參見(jiàn)圖14,本實(shí)施例包括步驟1401 本地緩存模塊向腳本緩存模塊發(fā)送腳本緩存讀取請(qǐng)求,攜帶文件路徑 fn息ο步驟1402 腳本緩存模塊查詢(xún)本地是否存在該文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù)。步驟1403 如果不存在對(duì)應(yīng)的腳本緩存數(shù)據(jù),腳本緩存模塊向文件元數(shù)據(jù)存儲(chǔ)單元發(fā)送查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求,攜帶文件路徑信息。步驟1404 文件元數(shù)據(jù)存儲(chǔ)單元向腳本緩存模塊返回文件標(biāo)識(shí)碼。其中,文件元數(shù)據(jù)存儲(chǔ)單元中保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,可以查詢(xún)到與查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求中攜帶的文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼。步驟1405 腳本緩存模塊以文件標(biāo)識(shí)碼查詢(xún)本地是否存在腳本緩存數(shù)據(jù)。步驟1406 如果不存在對(duì)應(yīng)的腳本緩存數(shù)據(jù),腳本緩存模塊向腳本引擎模塊發(fā)送編譯請(qǐng)求,攜帶文件路徑信息。步驟1407 腳本引擎模塊向文件系統(tǒng)發(fā)送讀取腳本數(shù)據(jù)請(qǐng)求,攜帶與文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼。步驟1408 文件系統(tǒng)向腳本引擎模塊返回腳本數(shù)據(jù)。步驟1409 腳本引擎模塊對(duì)該腳本數(shù)據(jù)進(jìn)行編譯。編譯是指將腳本數(shù)據(jù)轉(zhuǎn)化為字節(jié)碼數(shù)據(jù)或者腳本文件解析后的可以代表腳本執(zhí)行的內(nèi)存結(jié)構(gòu)數(shù)據(jù)。步驟1410 腳本引擎模塊向腳本緩存模塊返回編譯后的腳本數(shù)據(jù)。步驟1411 腳本緩存模塊緩存編譯后的腳本數(shù)據(jù),建立文件路徑信息與腳本緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系以及文件標(biāo)識(shí)碼與腳本緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。步驟1412 腳本緩存模塊向本地緩存模塊返回腳本緩存數(shù)據(jù)。圖12-14所示的實(shí)施例共享緩存的內(nèi)部流程的示意,并不限于上述實(shí)施例,也可以是,在本地緩存模塊向文件緩存模塊發(fā)送的腳本緩存讀取請(qǐng)求中既攜帶文件路徑信息, 也攜帶文件標(biāo)識(shí)碼,此時(shí),對(duì)應(yīng)的步驟1303-1304無(wú)需再執(zhí)行,直接根據(jù)該攜帶的文件標(biāo)識(shí)碼查詢(xún)是否存在腳本緩存數(shù)據(jù)。另外,也可以是上述的文件緩存讀取請(qǐng)求中攜帶文件標(biāo)識(shí)碼,而不攜帶文件路徑信息,此時(shí)步驟1202、1203、步驟1302-1304以及步驟1402-1404無(wú)需執(zhí)行,直接根據(jù)查詢(xún)?cè)摂y帶的文件標(biāo)識(shí)碼是否存在腳本緩存數(shù)據(jù)。在上述各流程中,緩存數(shù)據(jù)、文件路徑、文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系可以參見(jiàn)圖15,圖 15為本發(fā)明實(shí)施例中緩存數(shù)據(jù)、文件路徑信息、文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系示意圖,參見(jiàn)圖15, 假設(shè)緩存數(shù)據(jù)為datal、data2. . . dataN,文件路徑信息為urll、url2. . . urlN,文件標(biāo)識(shí)碼為keyl、key2. . . keyN。其中該對(duì)應(yīng)關(guān)系可以通過(guò)hash算法或者其他算法進(jìn)行查找獲取。 其中,文件標(biāo)識(shí)碼與緩存數(shù)據(jù)是一一對(duì)應(yīng)關(guān)系,例如keyl對(duì)應(yīng)data3,key3對(duì)應(yīng)data3 ;緩存數(shù)據(jù)與文件路徑信息可以為一對(duì)多或者多對(duì)一或者一一對(duì)應(yīng)關(guān)系,例如,urll和url2均
d£it£i30可以理解的是,上述方法及設(shè)備中的相關(guān)特征可以相互參考。另外,上述實(shí)施例中的“第一”、“第二”等是用于區(qū)分各實(shí)施例,而并不代表各實(shí)施例的優(yōu)劣。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種Web請(qǐng)求調(diào)度方法,其特征在于,包括解析接收的Web請(qǐng)求獲取文件路徑信息,并發(fā)送緩存請(qǐng)求,攜帶所述文件路徑信息;獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),其中,文件標(biāo)識(shí)碼與緩存數(shù)據(jù)為一一對(duì)應(yīng)關(guān)系。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,包括本地緩存模塊向文件元數(shù)據(jù)存儲(chǔ)單元發(fā)送查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求,所述查詢(xún)文件標(biāo)識(shí)碼請(qǐng)求中攜帶所述文件路徑信息;接收所述文件元數(shù)據(jù)存儲(chǔ)單元返回的與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,所述文件元數(shù)據(jù)存儲(chǔ)單元中保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系;或者,本地緩存模塊從文件標(biāo)識(shí)碼計(jì)算模塊獲取所述文件標(biāo)識(shí)碼。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),包括如果本地緩存模塊中保存有與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),則返回本地保存的緩存數(shù)據(jù)。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),包括如果本地緩存模塊中沒(méi)有保存有與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),則向共享緩存單元發(fā)送緩存查詢(xún)請(qǐng)求,所述緩存查詢(xún)請(qǐng)求中攜帶所述文件路徑信息和/或文件標(biāo)識(shí)碼;接收所述共享緩存單元返回的與所述文件路徑信息和/或文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù);返回所述緩存數(shù)據(jù),并建立文件標(biāo)識(shí)碼與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系以及文件路徑信息與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括共享緩存單元接收所述緩存查詢(xún)請(qǐng)求;如果所述共享緩存單元中沒(méi)有保存與所述文件路徑信息對(duì)應(yīng)的緩存數(shù)據(jù),則獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼;如果所述共享緩存單元中保存有與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),則向所述本地緩存模塊返回對(duì)應(yīng)的緩存數(shù)據(jù),并建立文件路徑信息與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括共享緩存單元接收所述緩存查詢(xún)請(qǐng)求;如果所述共享緩存單元中沒(méi)有保存與所述文件路徑信息對(duì)應(yīng)的緩存數(shù)據(jù),則獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼;如果所述共享緩存單元中沒(méi)有保存與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),則從文件系統(tǒng)獲取并緩存數(shù)據(jù);共享緩存單元向所述本地緩存模塊返回對(duì)應(yīng)的緩存數(shù)據(jù),并建立文件路徑信息與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系以及文件標(biāo)識(shí)碼與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,包括如果所述緩存查詢(xún)請(qǐng)求中攜帶文件標(biāo)識(shí)碼,則從所述緩存查詢(xún)請(qǐng)求中獲取所述文件標(biāo)識(shí)碼;或者,如果所述緩存查詢(xún)請(qǐng)求中沒(méi)有攜帶文件標(biāo)識(shí)碼,則接收文件元數(shù)據(jù)存儲(chǔ)單元根據(jù)文件路徑信息以及文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系,獲取的文件標(biāo)識(shí)碼;或者,如果所述緩存查詢(xún)請(qǐng)求中沒(méi)有攜帶文件標(biāo)識(shí)碼,則從文件標(biāo)識(shí)碼計(jì)算模塊中獲取所述文件標(biāo)識(shí)碼。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述從文件系統(tǒng)獲取并緩存數(shù)據(jù)包括如果要獲取文件緩存數(shù)據(jù),則共享緩存模塊向文件系統(tǒng)發(fā)送讀取文件數(shù)據(jù)請(qǐng)求,所述讀取文件數(shù)據(jù)請(qǐng)求中攜帶文件標(biāo)識(shí)碼;并接收所述文件系統(tǒng)根據(jù)所述文件標(biāo)識(shí)碼返回的文件數(shù)據(jù);或者,如果要獲取腳本緩存數(shù)據(jù),則共享緩存模塊向文件系統(tǒng)發(fā)送讀取腳本數(shù)據(jù)請(qǐng)求,所述讀取腳本數(shù)據(jù)請(qǐng)求中攜帶文件標(biāo)識(shí)碼;并接收所述文件系統(tǒng)根據(jù)所述文件標(biāo)識(shí)碼返回的腳本數(shù)據(jù);對(duì)所述腳本數(shù)據(jù)進(jìn)行編譯,緩存編譯后的腳本數(shù)據(jù)。
9.一種Web請(qǐng)求調(diào)度系統(tǒng),其特征在于,包括請(qǐng)求處理模塊,用于解析接收的Web請(qǐng)求獲取文件路徑信息,并發(fā)送緩存請(qǐng)求,攜帶所述文件路徑信息;本地緩存模塊,用于獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),其中,文件標(biāo)識(shí)碼與緩存數(shù)據(jù)為一一對(duì)應(yīng)關(guān)系。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,還包括文件元數(shù)據(jù)存儲(chǔ)單元,用于保存文件路徑信息與文件標(biāo)識(shí)碼的對(duì)應(yīng)關(guān)系;所述本地緩存模塊具體用于根據(jù)所述文件路徑信息從所述文件元數(shù)據(jù)存儲(chǔ)單元獲取對(duì)應(yīng)的文件標(biāo)識(shí)碼。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,還包括文件標(biāo)識(shí)碼計(jì)算模塊,用于計(jì)算文件標(biāo)識(shí)碼;所述本地緩存模塊具體用于從所述文件標(biāo)識(shí)碼計(jì)算模塊獲取所述文件標(biāo)識(shí)碼。
12.根據(jù)權(quán)利要求9-11任一項(xiàng)所述的系統(tǒng),其特征在于,所述本地緩存模塊具體用于如果本地緩存模塊中保存有與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),則返回本地保存的緩存數(shù)據(jù)。
13.根據(jù)權(quán)利要求9-11任一項(xiàng)所述的系統(tǒng),其特征在于,還包括共享緩存單元,用于根據(jù)所述文件路徑信息和/或文件標(biāo)識(shí)碼向所述本地緩存模塊返回緩存數(shù)據(jù);所述本地緩存模塊具體用于如果本地緩存模塊中沒(méi)有保存有與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),則向共享緩存單元發(fā)送緩存查詢(xún)請(qǐng)求,所述緩存查詢(xún)請(qǐng)求中攜帶所述文件路徑信息和/或文件標(biāo)識(shí)碼;接收所述共享緩存單元返回的與所述文件路徑信息和/或文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù);返回所述緩存數(shù)據(jù),并建立文件標(biāo)識(shí)碼與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系以及文件路徑信息與緩存數(shù)據(jù)的對(duì)應(yīng)關(guān)系。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述共享緩存單元包括文件緩存模塊,用于如果沒(méi)有保存有與所述文件路徑信息對(duì)應(yīng)的文件緩存數(shù)據(jù),則向文件系統(tǒng)發(fā)送讀取文件數(shù)據(jù)請(qǐng)求,所述讀取文件數(shù)據(jù)請(qǐng)求中攜帶文件標(biāo)識(shí)碼;所述系統(tǒng)還包括文件系統(tǒng),用于根據(jù)所述文件標(biāo)識(shí)碼獲取并向所述文件緩存模塊返回對(duì)應(yīng)的文件緩存數(shù)據(jù)。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述共享緩存單元包括腳本緩存模塊,用于如果保存有與所述文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù),則向所述本地緩存模塊返回對(duì)應(yīng)的腳本緩存數(shù)據(jù)。
16.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述共享緩存單元包括腳本緩存模塊和腳本引擎模塊,所述腳本緩存模塊用于如果沒(méi)有保存有與所述文件路徑信息對(duì)應(yīng)的腳本緩存數(shù)據(jù),則向腳本引擎模塊發(fā)送編譯請(qǐng)求; 所述腳本引擎模塊向文件系統(tǒng)發(fā)送讀取腳本請(qǐng)求所述讀取腳本請(qǐng)求中攜帶文件標(biāo)識(shí)碼;所述系統(tǒng)還包括文件系統(tǒng),用于根據(jù)所述文件標(biāo)識(shí)碼獲取并向所述腳本引擎模塊返回對(duì)應(yīng)的腳本數(shù)據(jù);所述腳本引擎模塊還用于對(duì)所述腳本數(shù)據(jù)進(jìn)行編譯;所述腳本緩存模塊還用于接收并緩存編譯后的腳本數(shù)據(jù)。
全文摘要
本發(fā)明提供一種Web請(qǐng)求調(diào)度方法及系統(tǒng)。該方法包括解析接收的Web請(qǐng)求獲取文件路徑信息,并發(fā)送緩存請(qǐng)求,攜帶所述文件路徑信息;獲取與所述文件路徑信息對(duì)應(yīng)的文件標(biāo)識(shí)碼,獲取并返回與所述文件標(biāo)識(shí)碼對(duì)應(yīng)的緩存數(shù)據(jù),其中,文件標(biāo)識(shí)碼與緩存數(shù)據(jù)為一一對(duì)應(yīng)關(guān)系。本發(fā)明實(shí)施例可以提升緩存的利用率并降低成本。
文檔編號(hào)G06F17/30GK102216930SQ201080004691
公開(kāi)日2011年10月12日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2010年12月14日
發(fā)明者陳普 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1