本申請(qǐng)涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種單頁web應(yīng)用的頁面數(shù)據(jù)處理方法。本申請(qǐng)同時(shí)還涉及一種頁面數(shù)據(jù)處理設(shè)備。
背景技術(shù):
單頁Web應(yīng)用(single-page application簡(jiǎn)稱為SPA)是一種特殊的Web應(yīng)用。它將所有的活動(dòng)局限于一個(gè)Web頁面中,僅在該Web頁面初始化時(shí)加載相應(yīng)的HTML(HyperText Markup Language,超級(jí)文本標(biāo)記語言)、JavaScript和CSS(Cascading Style Sheets,層疊樣式表)。一旦頁面加載完成了,SPA不會(huì)因?yàn)橛脩舻牟僮鞫M(jìn)行頁面的重新加載或跳轉(zhuǎn)。取而代之的是利用JavaScript動(dòng)態(tài)的變換HTML的內(nèi)容,從而實(shí)現(xiàn)UI與用戶的交互。由于避免了頁面的重新加載,SPA可以提供流暢的用戶體驗(yàn)。
目前SPA大多應(yīng)用在PC端或是移動(dòng)端的網(wǎng)絡(luò)訪問客戶端(例如網(wǎng)絡(luò)瀏覽器)中。在應(yīng)用SPA后,用戶通過用戶設(shè)備的瀏覽器加載獨(dú)立的HTML頁面并且無需離開此導(dǎo)航頁面,與僅通過重繪界面上需要變化的部分來實(shí)現(xiàn)快速渲染和即時(shí)反饋的SPA相比,傳統(tǒng)的Web應(yīng)用都是由服務(wù)端來處理頁面數(shù)據(jù)與模板的渲染與拼接,當(dāng)服務(wù)端應(yīng)用程序從后端數(shù)據(jù)庫(kù)查詢出數(shù)據(jù)和模板后,可以根據(jù)實(shí)際應(yīng)用場(chǎng)景,對(duì)數(shù)據(jù)與模板進(jìn)行緩存,并將緩存數(shù)據(jù)提供給發(fā)送HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)請(qǐng)求的客戶端。因此許多用戶操作都會(huì)重繪整張頁面,結(jié)果是當(dāng)服務(wù)端從后臺(tái)服務(wù)器獲取數(shù)據(jù)時(shí),頁面往往會(huì)響應(yīng)緩慢。如果頁面很大,服務(wù)器又繁忙,或者網(wǎng)絡(luò)連接很慢,甚至還會(huì)導(dǎo)致客戶端發(fā)生假死的問題。
然而,申請(qǐng)人在實(shí)現(xiàn)本申請(qǐng)的過程中發(fā)現(xiàn),雖然在使用SPA的過程中用戶不需要重新刷新頁面以及頁面顯示流暢,但是一旦加載和執(zhí)行單個(gè)頁面應(yīng)用程序通常會(huì)有更多的響應(yīng),這就需要返回至后端Web服務(wù)器進(jìn)行處理。而在SPA中,模板與后端服務(wù)器是處于脫離狀態(tài),后端Web服務(wù)器僅執(zhí)行提供數(shù)據(jù)的功能,無法對(duì)緩存進(jìn)行處理,因此對(duì)于不需要經(jīng)過服務(wù)器解析直接傳送到客戶端的靜態(tài)頁面來說,單頁Web應(yīng)用無法由服務(wù)端完成頁面數(shù)據(jù)靜態(tài)化處理,后端Web服務(wù)器必需響應(yīng)來自于用戶的每一個(gè)HTTP請(qǐng)求,從而加重了服務(wù)器的負(fù)荷,造成資源的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N單頁web應(yīng)用的頁面數(shù)據(jù)處理方法。用以減少重復(fù)的HTTP請(qǐng)求以及數(shù)據(jù)庫(kù)查詢對(duì)服務(wù)器資源造成的消耗。
本申請(qǐng)?zhí)峁┝艘环N單頁web應(yīng)用的的頁面數(shù)據(jù)處理方法,所述方法應(yīng)用于客戶端中,所述客戶端中設(shè)置有用于存儲(chǔ)緩存數(shù)據(jù)的緩存區(qū)間,所述方法包括:
所述客戶端接收獲取網(wǎng)頁內(nèi)容的超文本傳輸協(xié)議HTTP請(qǐng)求;
查詢所述緩存區(qū)間中是否存在可用的緩存數(shù)據(jù);
若所述緩存區(qū)間中存在緩存數(shù)據(jù),且所述緩存數(shù)據(jù)可用,則利用所述緩存數(shù)據(jù)生成所述HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容;
否則,向服務(wù)器發(fā)送所述HTTP請(qǐng)求,接收所述服務(wù)器返回的數(shù)據(jù),生成所述HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容。
相應(yīng)地,本申請(qǐng)還提出了一種單頁web應(yīng)用的頁面數(shù)據(jù)處理設(shè)備,所述設(shè)備作為客戶端且設(shè)置有用于存儲(chǔ)緩存數(shù)據(jù)的緩存區(qū)間,所述設(shè)備包括:
接收模塊,用于接收獲取網(wǎng)頁內(nèi)容的超文本傳輸協(xié)議HTTP請(qǐng)求;
查詢模塊,用于查詢所述緩存區(qū)間中是否存在可用的緩存數(shù)據(jù);
處理模塊,用于在所述緩存區(qū)間中存在緩存數(shù)據(jù)且所述緩存數(shù)據(jù)可用時(shí),利用所述緩存數(shù)據(jù)生成所述HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容,否則通過發(fā)送模塊向所述服務(wù)器發(fā)送所述HTTP請(qǐng)求,利用所述接收模塊接收的所述服務(wù)器返回的數(shù)據(jù),生成所述HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容。
由此可見,通過應(yīng)用本申請(qǐng)的技術(shù)方案,通過在客戶端中設(shè)置用于存儲(chǔ)緩存數(shù)據(jù)的緩存區(qū)間,當(dāng)客戶端接收獲取網(wǎng)頁內(nèi)容的HTTP請(qǐng)求后,查詢緩存區(qū)間中是否存在可用的緩存數(shù)據(jù),并在緩存區(qū)間中存在緩存數(shù)據(jù)且緩存數(shù)據(jù)可用時(shí)利用緩存數(shù)據(jù)生成HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容,否則向服務(wù)器發(fā)送HTTP請(qǐng)求,接收服務(wù)器返回的數(shù)據(jù)并生成HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容。從而在節(jié)省資源的前提下在客戶端上實(shí)現(xiàn)了頁面靜態(tài)化處理,減少重復(fù)非必要的HTTP請(qǐng)求以及數(shù)據(jù)庫(kù)查詢對(duì)服務(wù)器資源造成的消耗。
附圖說明
圖1為本申請(qǐng)?zhí)岢龅囊环N單頁web應(yīng)用的頁面數(shù)據(jù)處理方法的流程示意圖;
圖2為本申請(qǐng)?zhí)岢龅囊环N單頁web應(yīng)用的頁面數(shù)據(jù)處理設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
如背景技術(shù)所述,盡管用戶在在使用單頁Web應(yīng)用的期間不會(huì)重新加載頁面,但是在現(xiàn)有的單頁Web應(yīng)用中無法由服務(wù)端完成頁面數(shù)據(jù)靜態(tài)化處理。作為RFC2616標(biāo)準(zhǔn)中定義的一種用戶設(shè)備的客戶端與服務(wù)端進(jìn)行數(shù)據(jù)交互的網(wǎng)絡(luò)協(xié)議,目前常用的HTTP請(qǐng)求包含獲取網(wǎng)頁內(nèi)容的請(qǐng)求GET、在服務(wù)器上創(chuàng)建資源的請(qǐng)求(POST)、在服務(wù)器上修改資源的請(qǐng)求(PUT)以及在服務(wù)器上刪除資源的請(qǐng)求(DELETE)等類型,其中GET類型的HTTP請(qǐng)求(后 續(xù)稱為GET請(qǐng)求)只查詢數(shù)據(jù),不會(huì)對(duì)數(shù)據(jù)進(jìn)行寫操作,而其他類型的HTTP請(qǐng)求僅對(duì)數(shù)據(jù)進(jìn)行寫操作。在單頁Web應(yīng)用中,由前端Web框架在網(wǎng)絡(luò)層對(duì)HTTP請(qǐng)求進(jìn)行攔截。
為了解決背景技術(shù)中所涉及的技術(shù)問題,本申請(qǐng)?zhí)岢隽艘环N單頁web應(yīng)用的頁面數(shù)據(jù)處理方法,該方法可以應(yīng)用在使用單頁Web應(yīng)用的用戶設(shè)備中,具體可以為PC端的瀏覽器或是手機(jī)APP。當(dāng)用戶通過客戶端第一次發(fā)起GET請(qǐng)求時(shí),客戶端將按照實(shí)際場(chǎng)景對(duì)服務(wù)端返回的數(shù)據(jù)進(jìn)行本地緩存。這樣當(dāng)用戶再次發(fā)起GET類型的HTTP請(qǐng)求時(shí),根據(jù)請(qǐng)求中攜帶的URI查詢是否存在相應(yīng)的緩存以及緩存是否可用,如果是則直接返回緩存數(shù)據(jù),以此減少網(wǎng)絡(luò)資源消耗和服務(wù)器資源消耗。而當(dāng)用戶發(fā)起UPDATE、PUT、DELETE等寫數(shù)據(jù)的HTTP請(qǐng)求時(shí),則更新本地緩存。具體地,緩存則為一個(gè)Web資源(如html頁面,圖片,js,數(shù)據(jù)等)存在于Web服務(wù)器和客戶端之間的副本,一般為數(shù)據(jù)緩存。
如圖1所示,為本申請(qǐng)?zhí)岢龅囊环N單頁web應(yīng)用的頁面數(shù)據(jù)處理方法的流程示意圖,該方法應(yīng)用于客戶端中。在介紹詳細(xì)流程之前,需要說明的是,本申請(qǐng)的預(yù)先在客戶端中設(shè)置有用于存儲(chǔ)緩存數(shù)據(jù)的緩存區(qū)間,該緩存區(qū)間可以為所述客戶端的緩存層的內(nèi)存區(qū)域;或是客戶端通過存儲(chǔ)接口提供的硬盤空間。在本申請(qǐng)的優(yōu)選實(shí)施例中,緩存數(shù)據(jù)存儲(chǔ)位置可采取以下兩種方案:
(1)內(nèi)存:通過在客戶端的緩存層維護(hù)一塊內(nèi)存區(qū)域,用以為緩存數(shù)據(jù)提供存儲(chǔ)空間。該方案的優(yōu)點(diǎn)在于無需瀏覽器特殊支持,適用范圍廣。但由于需要維護(hù)額外內(nèi)存空間,因此會(huì)使程序消耗內(nèi)存空間稍有增加。
(2)Local Storage:通過客戶端上應(yīng)用瀏覽器提供的存儲(chǔ)接口,將緩存數(shù)據(jù)存入作為L(zhǎng)ocal Storage的硬盤空間內(nèi)。該方案的優(yōu)點(diǎn)在于無需占用程序自身內(nèi)存空間,但同時(shí)可能會(huì)導(dǎo)致一定程度上的兼容性缺失,以及可能造成數(shù)據(jù)泄露。
在客戶端中的緩存區(qū)間設(shè)置完畢之后,該方法包括以下步驟:
S101,所述客戶端接收獲取網(wǎng)頁內(nèi)容的超文本傳輸協(xié)議HTTP請(qǐng)求。
在本申請(qǐng)優(yōu)選的實(shí)施例中,用于接收HTTP請(qǐng)求的設(shè)備可以設(shè)置于客戶端的網(wǎng)絡(luò)層,該設(shè)備將實(shí)時(shí)地獲取從所述客戶端發(fā)送至所述服務(wù)器的HTTP請(qǐng)求(HTTP請(qǐng)求中攜帶有統(tǒng)一資源標(biāo)識(shí)符URL)以及所述HTTP請(qǐng)求的類型,由于URI能夠用于標(biāo)識(shí)某一互聯(lián)網(wǎng)資源名稱的字符串,因此本實(shí)施例利用請(qǐng)求中攜帶的URI作為不同緩存數(shù)據(jù)的標(biāo)識(shí)。在客戶端與服務(wù)器之間設(shè)置獨(dú)立的網(wǎng)絡(luò)層并攔截進(jìn)出系統(tǒng)的所有HTTP請(qǐng)求之后,即對(duì)各HTTP請(qǐng)求的類型以及其中攜帶的URL進(jìn)行獲取。當(dāng)用戶在客戶端屏幕上顯示的頁面中點(diǎn)擊頁面內(nèi)容并發(fā)起HTTP請(qǐng)求時(shí),客戶端接收到用戶發(fā)起的HTTP請(qǐng)求。當(dāng)用戶請(qǐng)求某個(gè)網(wǎng)頁頁面時(shí),則發(fā)起的是獲取網(wǎng)頁內(nèi)容的HTTP請(qǐng)求(GET請(qǐng)求)。
S102,查詢所述緩存區(qū)間中是否存在可用的緩存數(shù)據(jù)。
基于S101中的說明,針對(duì)緩存區(qū)間中的眾多緩存數(shù)據(jù),該步驟首先獲取HTTP請(qǐng)求中攜帶的URL,隨后查詢緩存空間中是否存在與URL對(duì)應(yīng)的緩存數(shù)據(jù),并在查詢結(jié)果為存在時(shí)確定緩存數(shù)據(jù)是否可用。
由于本申請(qǐng)主要是為了避免重復(fù)或者無效的用于獲取網(wǎng)頁內(nèi)容的請(qǐng)求耗費(fèi)服務(wù)器的資源。因此在具體的應(yīng)用場(chǎng)景中,HTTP請(qǐng)求的類型還可以為在服務(wù)器上創(chuàng)建資源的請(qǐng)求、在服務(wù)器上修改資源的請(qǐng)求或在服務(wù)器上刪除資源的請(qǐng)求,向所述服務(wù)器發(fā)送所述HTTP請(qǐng)求。因此,若HTTP請(qǐng)求的類型為獲取GET的話,即查詢客戶端的緩存空間中是否存在與所述URL對(duì)應(yīng)的緩存數(shù)據(jù),并在查詢結(jié)果為存在時(shí)確定所述緩存數(shù)據(jù)是否可用。
而對(duì)于僅執(zhí)行其他操作的HTTP請(qǐng)求,例如在服務(wù)器上創(chuàng)建資源的請(qǐng)求POST、在服務(wù)器上修改資源的請(qǐng)求PUT或在服務(wù)器上刪除資源的請(qǐng)求DELETE等,如果HTTP請(qǐng)求的類型為POST、PUT或DELETE,該步驟將向所述服務(wù)器發(fā)送所述HTTP請(qǐng)求,并根據(jù)服務(wù)器返回的內(nèi)容分別進(jìn)行以下處 理:
(1)接收所述服務(wù)器返回的響應(yīng)結(jié)果,若所述服務(wù)器返回操作成功響應(yīng),將所述服務(wù)器中與所述URL對(duì)應(yīng)的數(shù)據(jù)進(jìn)行渲染,并在當(dāng)所述客戶端的更新狀態(tài)標(biāo)識(shí)為有效時(shí),在所述緩存區(qū)間中更新與所述URL對(duì)應(yīng)的緩存數(shù)據(jù),所述更新標(biāo)識(shí)為所述客戶端在初始化后與所述服務(wù)器交互設(shè)置的。
為了保持緩存數(shù)據(jù)的可用性,本申請(qǐng)還設(shè)置了緩存更新機(jī)制,該機(jī)制由客戶端在初始化后與所述服務(wù)器交互進(jìn)行設(shè)置。在優(yōu)選的實(shí)施例中,客戶端的在其中的程序第一次載入時(shí)向服務(wù)器詢問是否需要進(jìn)行緩存更新,并根據(jù)服務(wù)器返回的結(jié)果設(shè)置自身的更新狀態(tài)標(biāo)識(shí)為有效或是無效。對(duì)于發(fā)起請(qǐng)求的客戶端來說,在攔截寫數(shù)據(jù)的HTTP請(qǐng)求且在請(qǐng)求成功后即可更新對(duì)應(yīng)的緩存數(shù)據(jù),而對(duì)于網(wǎng)絡(luò)系統(tǒng)中的其他客戶端來說,則是利用服務(wù)器推送技術(shù),當(dāng)某一用戶通過POST、PUT或DELETE類型的HTTP請(qǐng)求對(duì)數(shù)據(jù)庫(kù)中某一資源執(zhí)行了寫操作后,將向相同網(wǎng)絡(luò)系統(tǒng)中的其他客戶端廣播更新事件,通知在線程序進(jìn)行緩存更新。具體方式如下:
向所述網(wǎng)絡(luò)系統(tǒng)中的其他客戶端廣播攜帶所述緩存數(shù)據(jù)及其對(duì)應(yīng)的URL的更新事件,以使所述網(wǎng)絡(luò)系統(tǒng)中的其他客戶端根據(jù)所述更新事件對(duì)自身緩存區(qū)間中的緩存數(shù)據(jù)進(jìn)行更新。
(2)若所述服務(wù)器返回操作失敗響應(yīng),執(zhí)行預(yù)設(shè)的錯(cuò)誤處理流程。
當(dāng)服務(wù)器返回操作失敗響應(yīng)的話,那么意味著本次請(qǐng)求有錯(cuò)誤發(fā)生,在緩存層不做任何操作,在程序上將控制權(quán)交給正常的業(yè)務(wù)處理邏輯,使程序進(jìn)入正常的錯(cuò)誤處理流程。
S103,若所述緩存區(qū)間中存在緩存數(shù)據(jù),且所述緩存數(shù)據(jù)可用,向所述客戶端返回所述緩存數(shù)據(jù)。
如果緩存數(shù)據(jù)可用,那么該步驟直接使用該緩存數(shù)據(jù)并將緩存數(shù)據(jù)返回至客戶端,不對(duì)服務(wù)器發(fā)起請(qǐng)求操作。
S104,否則,向所述服務(wù)器發(fā)送所述HTTP請(qǐng)求,接收所述服務(wù)器返回的數(shù)據(jù),生成所述HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容。
如果客戶端的緩存空間中不存在與所述URL對(duì)應(yīng)的緩存數(shù)據(jù),那么同樣需要向所述服務(wù)器發(fā)送所述HTTP請(qǐng)求,將所述服務(wù)器返回的數(shù)據(jù)作為與所述URL對(duì)應(yīng)的緩存數(shù)據(jù)存儲(chǔ)至所述緩存區(qū)間。
此外,如果緩存數(shù)據(jù)不可用,那么該步驟將向服務(wù)器發(fā)送該HTTP請(qǐng)求,獲取可用的數(shù)據(jù),并在服務(wù)器返回?cái)?shù)據(jù)后使用以及保存該數(shù)據(jù)。在保存數(shù)據(jù)的同時(shí)將請(qǐng)求的URI作為該數(shù)據(jù)標(biāo)識(shí)以進(jìn)行緩存,以備下次請(qǐng)求使用。在本申請(qǐng)具體實(shí)施例中,執(zhí)行過程如下:
將所述HTTP請(qǐng)求攜帶的URI作為所述服務(wù)器返回的數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí),并將所述數(shù)據(jù)標(biāo)識(shí)和所述服務(wù)器返回的數(shù)據(jù)存儲(chǔ)至所述緩存區(qū)間。
進(jìn)一步地,為避免緩存數(shù)據(jù)無限消耗存儲(chǔ)空間,可能需要引入定期緩存清理機(jī)制或者LRU等緩存淘汰機(jī)制,基于緩存區(qū)間的不同類型,具體處理方式如下:
(1)當(dāng)所述緩存區(qū)間為所述客戶端通過存儲(chǔ)接口提供的硬盤空間時(shí),根據(jù)預(yù)設(shè)的周期后對(duì)所述緩存區(qū)間中的緩存數(shù)據(jù)進(jìn)行清理;
(2)當(dāng)所述緩存區(qū)間為所述客戶端的緩存層的內(nèi)存區(qū)域時(shí),根據(jù)預(yù)設(shè)的最近最少使用LRU機(jī)制對(duì)所述緩存區(qū)間中的緩存數(shù)據(jù)進(jìn)行清理。
該方式中的LRU(Least recently used,最近最少使用)算法根據(jù)數(shù)據(jù)的歷史訪問記錄來進(jìn)行淘汰數(shù)據(jù),因此當(dāng)某個(gè)緩存數(shù)據(jù)最近被訪問過的話,那么即可以判定其將來被訪問的幾率也更高,據(jù)此對(duì)緩存區(qū)間中不常被讀取的緩存數(shù)據(jù)進(jìn)行淘汰。
相應(yīng)地,本申請(qǐng)還提出了一種單頁web應(yīng)用的頁面數(shù)據(jù)處理設(shè)備,所述設(shè)備應(yīng)用于包括客戶端以及服務(wù)器的網(wǎng)絡(luò)系統(tǒng)中,如圖2所示,該客戶端中設(shè)置有用于存儲(chǔ)緩存數(shù)據(jù)的緩存區(qū)間210,所述設(shè)備包括:
接收模塊220,用于接收獲取網(wǎng)頁內(nèi)容的超文本傳輸協(xié)議HTTP請(qǐng)求;
查詢模塊230,用于查詢所述緩存區(qū)間中是否存在可用的緩存數(shù)據(jù);
處理模塊240,用于在所述緩存區(qū)間中存在緩存數(shù)據(jù)且所述緩存數(shù)據(jù)可用時(shí),利用所述緩存數(shù)據(jù)生成所述HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容,否則通過發(fā)送模塊向所述服務(wù)器發(fā)送所述HTTP請(qǐng)求,利用所述接收模塊接收的所述服務(wù)器返回的數(shù)據(jù),生成所述HTTP請(qǐng)求所請(qǐng)求的網(wǎng)頁內(nèi)容。
在具體的應(yīng)用場(chǎng)景中,還包括:
存儲(chǔ)模塊,用于將所述HTTP請(qǐng)求攜帶的統(tǒng)一資源標(biāo)識(shí)符URI作為所述服務(wù)器返回的數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí),并將所述數(shù)據(jù)標(biāo)識(shí)和所述服務(wù)器返回的數(shù)據(jù)存儲(chǔ)至所述緩存區(qū)間。
在具體的應(yīng)用場(chǎng)景中,所述查詢模塊具體包括:
獲取子模塊,用于獲取所述HTTP請(qǐng)求中攜帶的URL;
查找子模塊,用于查詢所述緩存空間中是否存在與所述URL對(duì)應(yīng)的緩存數(shù)據(jù),并在查詢結(jié)果為存在時(shí)確定所述緩存數(shù)據(jù)是否可用。
在具體的應(yīng)用場(chǎng)景中,所述接收模塊接收的所述HTTP請(qǐng)求的類型為在服務(wù)器上創(chuàng)建資源的請(qǐng)求、在服務(wù)器上修改資源的請(qǐng)求或在服務(wù)器上刪除資源的請(qǐng)求,所述處理模塊通過所述發(fā)送模塊向所述服務(wù)器發(fā)送所述HTTP請(qǐng)求,所述接收模塊接收所述服務(wù)器返回的響應(yīng)結(jié)果,
所述處理模塊,用于在所述服務(wù)器返回操作成功響應(yīng)時(shí),將所述服務(wù)器中與所述URL對(duì)應(yīng)的數(shù)據(jù)進(jìn)行渲染,并在當(dāng)所述客戶端的更新狀態(tài)標(biāo)識(shí)為有效時(shí),利用所述存儲(chǔ)模塊在所述緩存區(qū)間中更新與所述URL對(duì)應(yīng)的緩存數(shù)據(jù),所述更新標(biāo)識(shí)為所述客戶端在初始化后與所述服務(wù)器交互設(shè)置的;
所述裝置還包括容錯(cuò)模塊,用于在所述服務(wù)器返回操作失敗響應(yīng)時(shí)執(zhí)行預(yù)設(shè)的錯(cuò)誤處理流程。
在具體的應(yīng)用場(chǎng)景中,還包括:
廣播模塊,用于向所述網(wǎng)絡(luò)系統(tǒng)中的其他客戶端廣播攜帶所述緩存數(shù)據(jù)及其對(duì)應(yīng)的URL的更新事件,以使所述網(wǎng)絡(luò)系統(tǒng)中的其他客戶端根據(jù)所述更新事件對(duì)自身緩存區(qū)間中的緩存數(shù)據(jù)進(jìn)行更新。
在具體的應(yīng)用場(chǎng)景中,所述緩存區(qū)間為所述客戶端的緩存層的內(nèi)存區(qū)域;或,所述緩存區(qū)間為所述客戶端通過存儲(chǔ)接口提供的硬盤空間。
在具體的應(yīng)用場(chǎng)景中,還包括:
清理模塊,用于在當(dāng)所述緩存區(qū)間為所述客戶端通過存儲(chǔ)接口提供的硬盤空間時(shí)根據(jù)預(yù)設(shè)的周期后對(duì)所述緩存區(qū)間中的緩存數(shù)據(jù)進(jìn)行清理;以及在當(dāng)所述緩存區(qū)間為所述客戶端的緩存層的內(nèi)存區(qū)域時(shí)根據(jù)預(yù)設(shè)的最近最少使用LRU機(jī)制對(duì)所述緩存區(qū)間中的緩存數(shù)據(jù)進(jìn)行清理。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施場(chǎng)景所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施場(chǎng)景的示意圖,附圖中的模塊或流程并不一定是實(shí)施本申請(qǐng)所必須的。
本領(lǐng)域技術(shù)人員可以理解實(shí)施場(chǎng)景中的裝置中的模塊可以按照實(shí)施場(chǎng)景描述進(jìn)行分布于實(shí)施場(chǎng)景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施場(chǎng)景的一個(gè)或多個(gè)裝置中。上述實(shí)施場(chǎng)景的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。
上述本申請(qǐng)序號(hào)僅僅為了描述,不代表實(shí)施場(chǎng)景的優(yōu)劣。
以上公開的僅為本申請(qǐng)的幾個(gè)具體實(shí)施場(chǎng)景,但是,本申請(qǐng)并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本申請(qǐng)的保護(hù)范圍。