本發(fā)明涉及文件管理領(lǐng)域,具體而言,涉及一種更新緩存文件的方法、裝置及系統(tǒng)。
背景技術(shù):
隨著科學(xué)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)已普遍出現(xiàn)在人們的生活、工作以及學(xué)習(xí)中。在日常生活中,隨處可見人們通過手機(jī)、平板等智能移動(dòng)設(shè)備等在獲取網(wǎng)絡(luò)上的信息。然而當(dāng)持有智能移動(dòng)設(shè)備或使用固定設(shè)備(例如,電腦)的用戶在網(wǎng)絡(luò)信號(hào)比較差的環(huán)境中進(jìn)行網(wǎng)頁瀏覽時(shí),用戶點(diǎn)擊網(wǎng)頁頁面上的鏈接之后,終端設(shè)備(即上述移動(dòng)設(shè)備或固定設(shè)備)從網(wǎng)絡(luò)上請(qǐng)求獲取待加載頁面的數(shù)據(jù),如果待加載頁面的數(shù)據(jù)量比較大,尤其是在網(wǎng)絡(luò)信號(hào)比較差的情況下,待加載頁面的打開速度比較慢,不僅浪費(fèi)了用戶的時(shí)間,而且還有可能造成瀏覽該網(wǎng)頁頁面的用戶的流失。
由于待加載的網(wǎng)頁頁面的資源或內(nèi)容大部分是不發(fā)生變化的,或者是在短期內(nèi)不發(fā)生變化,因此,可以在用戶訪問當(dāng)前頁面的同時(shí)緩存下一網(wǎng)頁鏈接的內(nèi)容。通過上述方法終端設(shè)備在加載網(wǎng)頁頁面時(shí)不需要每次去服務(wù)端去請(qǐng)求數(shù)據(jù),進(jìn)而加快了打開網(wǎng)頁頁面的速度。
然而,在待加載的網(wǎng)頁頁面的資源或內(nèi)容發(fā)生變化的情況下,例如,當(dāng)前網(wǎng)頁上增添了待加載網(wǎng)頁的網(wǎng)頁鏈接,上述對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行緩存的方法,可能會(huì)造成網(wǎng)頁信息加載不準(zhǔn)確的問題。
針對(duì)上述現(xiàn)有的對(duì)待加載的資源進(jìn)行緩存的方法不能準(zhǔn)確地對(duì)實(shí)時(shí)更新的待加載的資源進(jìn)行緩存的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種更新緩存文件的方法、裝置及系統(tǒng),以至少解決現(xiàn)有的對(duì)待加載的資源進(jìn)行緩存方法不能準(zhǔn)確地對(duì)實(shí)時(shí)更新的待加載的資源進(jìn)行緩存的技術(shù)問題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種更新緩存文件的方法,包括:檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;根據(jù)差異結(jié)果更新原始緩存文件。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種更新緩存文件的裝置,包括:檢測(cè)模塊,用于檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;第一更新模塊,用于在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;第二更新模塊,用于根據(jù)差異結(jié)果更新原始緩存文件。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種更新緩存文件的系統(tǒng),包括:服務(wù)器,用于檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果更新原始緩存文件;客戶端,與服務(wù)器通信連接,用于向服務(wù)器提供當(dāng)前頁面的待加載的資源。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)包括存儲(chǔ)的程序,其中,在程序運(yùn)行時(shí)控制存儲(chǔ)介質(zhì)所在設(shè)備執(zhí)行權(quán)利要求更新緩存文件的方法。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種處理器,該處理器用于運(yùn)行程序,其中,程序運(yùn)行時(shí)執(zhí)行更新緩存文件的方法。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種終端,包括:用于在檢測(cè)到當(dāng)前頁面的待加載的資源發(fā)生變化的情況下,根據(jù)待加載的資源與原始緩存文件的差異結(jié)果更新原始緩存文件;客戶端,與服務(wù)器通信連接,用于向服務(wù)器提供當(dāng)前頁面的待加載的資源;處理器,該處理器運(yùn)行程序,其中,程序運(yùn)行時(shí)對(duì)于從服務(wù)器和客戶端輸出的數(shù)據(jù)執(zhí)行更新緩存文件的方法。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種終端,包括:用于在檢測(cè)到當(dāng)前頁面的待加載的資源發(fā)生變化的情況下,根據(jù)待加載的資源與原始緩存文件的差異結(jié)果更新原始緩存文件;客戶端,與服務(wù)器通信連接,用于向服務(wù)器提供當(dāng)前頁面的待加載的資源;存儲(chǔ)介質(zhì),用于存儲(chǔ)程序,其中,程序在運(yùn)行時(shí)對(duì)于從服務(wù)器和客戶端輸出的數(shù)據(jù)執(zhí)行更新緩存文件的方法。
在本發(fā)明實(shí)施例中,采用對(duì)頁面資源文件進(jìn)行管理的方式,通過檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,并在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果,最后根據(jù)差異結(jié)果更新原始緩存文件,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息,達(dá)到了在待加載資源實(shí)時(shí)更新的情況下準(zhǔn)確對(duì)待加載的資源進(jìn)行準(zhǔn)確緩存的目的,從而實(shí)現(xiàn)了加快對(duì)待加載的資源的訪問速度并節(jié)省用戶訪問資源的流量的技術(shù)效果,進(jìn)而解決了現(xiàn)有的對(duì)待加載的資源進(jìn)行緩存方法不能準(zhǔn)確地對(duì)實(shí)時(shí)更新的待加載的資源進(jìn)行緩存的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種更新緩存文件的方法流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的用戶終端的界面顯示示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的緩存文件格式的示意圖;
圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的更新緩存文件的方法流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例的一種可選的更新緩存文件的方法流程圖;
圖6是根據(jù)本發(fā)明實(shí)施例的一種可選的更新緩存文件的方法流程圖;
圖7是根據(jù)本發(fā)明實(shí)施例的一種可選的更新緩存文件的方法流程圖;
圖8是根據(jù)本發(fā)明實(shí)施例的一種更新緩存文件的裝置結(jié)構(gòu)示意圖;以及
圖9是根據(jù)本發(fā)明實(shí)施例的一種更新緩存文件的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先,在對(duì)本申請(qǐng)實(shí)施例進(jìn)行描述的過程中出現(xiàn)的部分名詞或術(shù)語適用于如下解釋:
json串:javascriptobjectnatation,即js對(duì)象標(biāo)記,為一種輕量級(jí)的數(shù)據(jù)交換格式。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種更新緩存文件的方法實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的更新緩存文件的方法流程圖,如圖1所示,該方法包括如下步驟:
步驟s102,檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;
步驟s104,在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;
步驟s106,根據(jù)差異結(jié)果更新原始緩存文件。
需要說明的是,上述頁面可以為但不限于網(wǎng)頁頁面以及react-native。上述當(dāng)前頁面為用戶通過終端設(shè)備正在訪問的頁面,上述待加載的資源為用戶通過當(dāng)前頁面可能要訪問的資源,例如,如圖2所示的一種可選的用戶終端的界面顯示示意圖,由圖2可知,用戶通過用戶終端正在訪問上海這個(gè)城市的特價(jià)酒店,并且搜索到了三個(gè)特價(jià)酒店,分別是酒店1、酒店2和酒店3。此時(shí),用戶可以通過點(diǎn)擊圖2中的酒店1、酒店2或酒店3分別進(jìn)入到各個(gè)酒店所對(duì)應(yīng)的網(wǎng)頁,或者通過選擇城市來查看其它城市的特價(jià)酒店。圖2所示的界面即為上述當(dāng)前頁面,而用戶將要訪問的酒店1、酒店2、酒店3以及其他城市的特價(jià)酒店的界面為上述待加載頁面。
由于直接加載用戶所要訪問的待加載頁面可能會(huì)出現(xiàn)加載頁面比較慢的問題,為了提高加載頁面的速度,需要將待加載頁面的資源進(jìn)行緩存,當(dāng)用戶訪問待加載的資源時(shí),直接從緩存文件中讀取,因此,可以提高加載資源的速度。但對(duì)于實(shí)時(shí)更新的待加載的資源,上述方法可能會(huì)導(dǎo)致不能準(zhǔn)確加載的問題。因此,可以通過獲取待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果來更新緩存文件的方法可以有效的解決上述問題。
具體的,服務(wù)器檢測(cè)用戶當(dāng)前訪問的界面上的待加載的資源是否發(fā)生變化,如果發(fā)生變化,則獲取到待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果對(duì)原始緩存文件進(jìn)行更新處理。
在一種可選的實(shí)施例中,上述待加載的資源以一種文件格式進(jìn)行緩存,該文件格式可以為如圖3所示的一種可選的緩存文件格式的示意圖。在圖3中,qp表示緩存文件的類型,一般為2字節(jié),即len1=2;“緩存長(zhǎng)度”表示該緩存文件的長(zhǎng)度,一般為4字節(jié),len2=4;“緩存內(nèi)容”表示緩存文件的信息,其中,該內(nèi)容以json串的格式存儲(chǔ);數(shù)據(jù)1、數(shù)據(jù)2以及數(shù)據(jù)3等表示待加載資源的具體內(nèi)容。其中,待加載資源的具體內(nèi)容存儲(chǔ)在filedata中,而待加載資源的地址存儲(chǔ)在“緩存內(nèi)容”中。以圖2為例,假設(shè)酒店3所對(duì)應(yīng)的待加載的資源的內(nèi)容存儲(chǔ)在數(shù)據(jù)3中,當(dāng)酒店3的資源內(nèi)容變?yōu)榫频?(圖2中并未示出)時(shí),服務(wù)器檢測(cè)到酒店3所對(duì)應(yīng)的待加載的資源的地址發(fā)生了變化,并將緩存文件格式的“緩存內(nèi)容”中的酒店3所對(duì)應(yīng)的地址更新為酒店4的資源地址,數(shù)據(jù)3中存儲(chǔ)的酒店3的內(nèi)容更新為與酒店4所對(duì)應(yīng)的待加載的資源的內(nèi)容。
需要說明的是,json串的具體內(nèi)容如下:
其中,files為各個(gè)資源的集合;url為離線資源對(duì)應(yīng)的線上地址;sl表示起始位置和緩存長(zhǎng)度,即待加載的資源的具體內(nèi)容在該緩存文件中的起始位置以及長(zhǎng)度,如圖3所示,數(shù)據(jù)1從sl_1的位置開始存儲(chǔ),數(shù)據(jù)2從sl_2的位置開始存儲(chǔ),數(shù)據(jù)3從sl_3的位置開始存儲(chǔ),其他的內(nèi)容從sl_4的位置開始存儲(chǔ),len4、len5以及l(fā)en6分別表示數(shù)據(jù)1、數(shù)據(jù)2以及數(shù)據(jù)3的長(zhǎng)度;md5為對(duì)url進(jìn)行加密后的結(jié)果,可用于安全校驗(yàn),保證數(shù)據(jù)的安全;hybridid表示業(yè)務(wù)的唯一標(biāo)識(shí),即當(dāng)前頁面的標(biāo)識(shí);version表示緩存文件的版本;ios_vid表示該緩存文件所支持的ios客戶端的最低版本;android_vid表示支持android客戶端的最低版本,其中,該內(nèi)容可以包含多個(gè)不同的android版本。
需要說明的是,使用上述文件格式當(dāng)客戶端根據(jù)緩存文件加載資源時(shí),客戶端不需要對(duì)緩存文件進(jìn)行解壓處理,因此,客戶端加載資源的速度比較快。此外,由于上述緩存文件僅為一個(gè)文件,因此,不需要將多個(gè)文件進(jìn)行合并,減少了合并文件的復(fù)雜度。
還需要說明的是,在得到各個(gè)待加載的資源的具體內(nèi)容之后,還需要對(duì)各個(gè)待加載的資源的具體內(nèi)容進(jìn)行拼接處理,從而將多個(gè)待加載的資源拼接成一個(gè)文件。
基于上述實(shí)施例步驟s102至步驟s106所公開的方案,可以獲知通過檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,并在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果,最后根據(jù)差異結(jié)果更新原始緩存文件,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息。
容易注意到的是,在待加載的資源實(shí)時(shí)更新變化的情況下,在通過緩存文件對(duì)待加載的資源進(jìn)行加載的方法可能會(huì)出現(xiàn)加載不準(zhǔn)確的問題,基于此,本申請(qǐng)通過判斷待加載的資源與原始緩存文件是否存在差異,并在存在差異的情況下,根據(jù)差異更新原始緩存文件,從而當(dāng)根據(jù)緩存文件加載資源時(shí)可以準(zhǔn)確的加載資源。此外,本申請(qǐng)還提出了一種緩存文件的格式,使用上述緩存文件的格式使得緩存文件僅為一個(gè)文件,因此,不需要再對(duì)緩存文件進(jìn)行解壓縮處理,而且還減少了合并文件的復(fù)雜度,進(jìn)一步提高了客戶端加載資源的速度。
因此,通過本申請(qǐng)實(shí)施例所提供的方案,可以達(dá)到在待加載資源實(shí)時(shí)更新的情況下準(zhǔn)確對(duì)待加載的資源進(jìn)行準(zhǔn)確緩存的目的,從而實(shí)現(xiàn)了加快對(duì)待加載的資源的訪問速度并節(jié)省用戶訪問資源的流量的技術(shù)效果。
由此,本申請(qǐng)的上述實(shí)施例1的方案解決了現(xiàn)有的對(duì)待加載的資源進(jìn)行緩存方法不能準(zhǔn)確地對(duì)實(shí)時(shí)更新的待加載的資源進(jìn)行緩存的技術(shù)問題。
根據(jù)本申請(qǐng)上述實(shí)施例以及圖4所示的一種可選的更新緩存文件的方法流程圖,步驟s102,檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,可以包括如下步驟:
步驟s402,獲取至少一個(gè)待加載頁面的頁面信息;
步驟s404,檢測(cè)至少一個(gè)待加載頁面的頁面信息是否發(fā)生變化;
步驟s406,在頁面信息發(fā)生變化的情況下,確定當(dāng)前頁面的待加載的資源發(fā)生變化。
在一種可選的實(shí)施例中,服務(wù)器獲取到用戶當(dāng)前正在訪問的網(wǎng)頁頁面(例如圖2所示的網(wǎng)頁界面),此時(shí),服務(wù)器基于當(dāng)前網(wǎng)頁頁面獲取到待加載網(wǎng)頁的頁面信息,其中,待加載網(wǎng)頁的頁面信息至少包括待加載網(wǎng)頁的網(wǎng)頁地址,例如,在圖2中,服務(wù)器獲取酒店1、酒店2、酒店3以及點(diǎn)擊其他城市時(shí)所對(duì)應(yīng)的網(wǎng)頁地址。并判斷待加載的網(wǎng)頁的地址是否發(fā)生變化,例如,酒店3所對(duì)應(yīng)的網(wǎng)頁地址變成了酒店4所對(duì)應(yīng)的網(wǎng)頁地址,或者,酒店3所對(duì)應(yīng)的網(wǎng)頁地址不存在(例如,該地址已被刪除),又或者,當(dāng)前網(wǎng)頁頁面的待加載網(wǎng)頁增添了其他的待加載資源(例如,增加了酒店4所對(duì)應(yīng)的待加載的資源)。如果檢測(cè)到至少一個(gè)待加載網(wǎng)頁的頁面信息發(fā)生了上述任意一項(xiàng)或多項(xiàng)變化,則確定當(dāng)前網(wǎng)頁頁面的待加載的資源發(fā)生了變化。
需要說明的是,上述待加載頁面的頁面信息可以為但不限于待加載頁面的地址、待加載頁面的內(nèi)容。此外,可以通過對(duì)比原始緩存文件(即之前已經(jīng)緩存下來的文件)與至少一個(gè)待加載頁面的頁面信息是否一致來判斷至少一個(gè)待加載頁面的頁面信息是否發(fā)生變化。
在一種可選的實(shí)施例中,圖5示出了一種可選的更新緩存文件的方法流程圖,如圖5所示,步驟s104,在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果,可以包括如下步驟:
步驟s502,獲取基于待加載的資源的頁面信息;
步驟s504,獲取基于原始緩存文件的頁面信息;
步驟s506,對(duì)比待加載的資源的頁面信息以及基于原始緩存文件的頁面信息,得到對(duì)比結(jié)果;
步驟s508,根據(jù)對(duì)比結(jié)果確定差異結(jié)果。
具體的,服務(wù)器獲取待加載的資源的頁面信息以及已經(jīng)緩存在服務(wù)器中的原始緩存文件的頁面信息,其中,原始緩存文件的文件格式可以為如圖3所示的文件格式。在一種可選的實(shí)施例中,通過判斷待加載的資源地址信息是否與原始緩存文件中“緩存內(nèi)容”下的url相匹配,如果兩者不完全一致,則上述對(duì)比結(jié)果指示兩者存在差異,此時(shí)服務(wù)器獲取兩者所存在的差異內(nèi)容;如果兩者完全一致,則確定原始緩存文件與待加載的資源的內(nèi)容一致,此時(shí),不需要對(duì)緩存文件進(jìn)行更新,即客戶端直接通過原始緩存文件加載頁面。
在另一種可選的實(shí)施例中,在待加載的資源的地址信息與原始緩存文件中“緩存內(nèi)容”下的url相匹配的情況下,還可以通過判斷待加載的資源的內(nèi)容是否與原始緩存文件中的網(wǎng)頁的具體內(nèi)容相匹配來確定兩者是否存在差異。即如果待加載網(wǎng)頁頁面的內(nèi)容發(fā)生了變化,則確定待加載的資源發(fā)生了變化,此時(shí),服務(wù)器通過對(duì)原始緩存文件中網(wǎng)頁的具體內(nèi)容進(jìn)行更新,并將更新后的緩存文件發(fā)送到客戶端。同樣,如果兩者完全一致,則確定原始緩存文件與待加載的資源的內(nèi)容一致,此時(shí),服務(wù)器不對(duì)緩存文件進(jìn)行更新處理。
可選的,如圖6所示的一種可選的更新緩存文件的方法流程圖,步驟s106,根據(jù)差異結(jié)果更新原始緩存文件,可以包括如下步驟:
步驟s602,獲取當(dāng)前頁面的標(biāo)識(shí)信息;
步驟s604,根據(jù)當(dāng)前頁面的標(biāo)識(shí)信息確定與標(biāo)識(shí)信息相匹配的原始緩存文件;
步驟s606,基于發(fā)生變化的待加載的資源對(duì)原始緩存文件進(jìn)行更新處理。
需要說明的是,用戶使用同一個(gè)客戶端可能會(huì)同時(shí)訪問多個(gè)頁面,服務(wù)器中可能存在多個(gè)緩存文件,因此,服務(wù)器需要識(shí)別出與當(dāng)前頁面相對(duì)應(yīng)的原始緩存文件。其中,服務(wù)器通過判斷頁面的標(biāo)識(shí)信息與多個(gè)緩存文件的標(biāo)識(shí)信息是否相匹配來確定當(dāng)前頁面的原始緩存文件。
在一種可選的實(shí)施例中,每個(gè)頁面都具有一個(gè)唯一標(biāo)識(shí)頁面的信息,即上述標(biāo)識(shí)信息,該頁面具有一個(gè)與該頁面對(duì)應(yīng)的緩存文件,該緩存文件具有一個(gè)與該頁面相對(duì)應(yīng)的標(biāo)識(shí)。由于頁面的標(biāo)識(shí)信息與緩存文件的標(biāo)識(shí)具有一定的對(duì)應(yīng)關(guān)系,因此,可以通過匹配頁面的標(biāo)識(shí)與緩存文件的標(biāo)識(shí)來查詢到與頁面相匹配的緩存文件,并在待加載的資源發(fā)生變化的情況下,根據(jù)待加載的資源與原始緩存文件的差異來對(duì)原始緩存文件進(jìn)行更新處理。
根據(jù)本申請(qǐng)上述實(shí)施例以及圖7所示的一種可選的更新緩存文件的方法流程圖,在步驟s106,根據(jù)差異結(jié)果更新原始緩存文件之后,更新緩存文件的方法還可以包括如下步驟:
步驟s702,對(duì)更新后的緩存文件進(jìn)行解析處理,得到解析結(jié)果;
步驟s704,根據(jù)解析結(jié)果確定至少一個(gè)待加載頁面的頁面信息;
步驟s706,基于解析后的至少一個(gè)待加載頁面的頁面信息加載頁面。
具體的,服務(wù)器在對(duì)原始緩存文件進(jìn)行更新處理之后,服務(wù)器將更新后的緩存文件發(fā)送到客戶端上,客戶端在接收到緩存文件之后,對(duì)該緩存文件進(jìn)行解析處理。當(dāng)用戶在當(dāng)前頁面上選擇了待加載的資源之后,客戶端從解析后的文件中獲取到與用戶選擇的待加載的資源的地址相對(duì)應(yīng)的內(nèi)容,并將該內(nèi)容加載到當(dāng)前頁面上。
在一種可選的實(shí)施例中,用戶點(diǎn)擊了圖2中的酒店1,客戶端獲取到待加載頁面的地址,并從緩存文件中獲取到與該地址相匹配的內(nèi)容(即酒店1所對(duì)應(yīng)的頁面),然后客戶端將獲取到的與該地址相對(duì)應(yīng)的內(nèi)容進(jìn)行加載,并顯示在客戶端的顯示界面上。
需要說明的是,使用圖3所示的格式來設(shè)計(jì)緩存文件,使得緩存文件的文件結(jié)構(gòu)簡(jiǎn)單,并易于開發(fā)者生成或解析緩存文件,從而降低了系統(tǒng)的維護(hù)成本。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,還提供了一種更新緩存文件的裝置實(shí)施例。
圖8是根據(jù)本發(fā)明實(shí)施例的更新緩存文件的裝置結(jié)構(gòu)示意圖,如圖8所示,該裝置包括:檢測(cè)模塊801、第一更新模塊803以及第二更新模塊805。
檢測(cè)模塊801,用于檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;
第一更新模塊803,用于在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;
第二更新模塊805,用于根據(jù)差異結(jié)果更新原始緩存文件。
需要說明的是,上述當(dāng)前頁面為用戶通過終端設(shè)備正在訪問的頁面,上述待加載的資源為用戶通過當(dāng)前頁面可能要訪問的資源,例如,如圖2所示的一種可選的用戶終端的界面顯示示意圖,由圖2可知,用戶通過用戶終端正在訪問上海這個(gè)城市的特價(jià)酒店,并且搜索到了三個(gè)特價(jià)酒店,分別是酒店1、酒店2和酒店3。此時(shí),用戶可以通過點(diǎn)擊圖2中的酒店1、酒店2或酒店3分別進(jìn)入到各個(gè)酒店所對(duì)應(yīng)的網(wǎng)頁,或者通過選擇城市來查看其它城市的特價(jià)酒店。圖2所示的界面即為上述當(dāng)前頁面,而用戶將要訪問的酒店1、酒店2、酒店3以及其他城市的特價(jià)酒店的界面為上述待加載頁面。
由于直接加載用戶所要訪問的待加載資源可能會(huì)出現(xiàn)加載資源比較慢的問題,為了提高加載頁面的速度,需要將待加載的頁面的資源進(jìn)行緩存,當(dāng)用戶訪問待加載的資源時(shí),直接從緩存文件中讀取,因此,可以提高加載頁面的速度。但對(duì)于實(shí)時(shí)更新的待加載的資源,上述方法可能會(huì)導(dǎo)致不能準(zhǔn)確加載的問題。因此,可以通過獲取待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果來更新緩存文件的方法可以有效的解決上述問題。
具體的,服務(wù)器檢測(cè)用戶當(dāng)前訪問的界面上的待加載的資源是否發(fā)生變化,如果發(fā)生變化,則獲取到待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果對(duì)原始緩存文件進(jìn)行更新處理。
在一種可選的實(shí)施例中,上述待加載的資源以一種文件格式進(jìn)行緩存,該文件格式可以為如圖3所示的一種可選的緩存文件格式的示意圖。在圖3中,qp表示緩存文件的類型,一般為2字節(jié),即len1=2;“緩存長(zhǎng)度”表示該緩存文件的長(zhǎng)度,一般為4字節(jié),len2=4;“緩存內(nèi)容”表示緩存文件的信息,其中,該內(nèi)容以json串的格式存儲(chǔ);數(shù)據(jù)1、數(shù)據(jù)2以及數(shù)據(jù)3等表示待加載資源的具體內(nèi)容。其中,待加載頁面的具體內(nèi)容存儲(chǔ)在filedata中,而待加載頁面的網(wǎng)頁地址存儲(chǔ)在“緩存內(nèi)容”中。以圖2為例,假設(shè)酒店3所對(duì)應(yīng)的待加載的資源的內(nèi)容存儲(chǔ)在數(shù)據(jù)3中,當(dāng)酒店3的網(wǎng)頁內(nèi)容變?yōu)榫频?(圖2中并未示出)時(shí),服務(wù)器檢測(cè)到酒店3所對(duì)應(yīng)的待加載的資源的地址發(fā)生了變化,并將緩存文件格式的“緩存內(nèi)容”中的酒店3的網(wǎng)頁地址更新為酒店4的網(wǎng)頁地址,數(shù)據(jù)3中存儲(chǔ)的酒店3的內(nèi)容更新為與酒店4所對(duì)應(yīng)的待加載的資源的內(nèi)容。
需要說明的是,json串的具體內(nèi)容如下:
其中,files為各個(gè)資源的集合;url為離線資源對(duì)應(yīng)的線上地址;sl表示起始位置和緩存長(zhǎng)度,即待加載的資源的具體內(nèi)容在該緩存文件中的起始位置以及長(zhǎng)度,如圖3所示,數(shù)據(jù)1從sl_1的位置開始存儲(chǔ),數(shù)據(jù)2從sl_2的位置開始存儲(chǔ),數(shù)據(jù)3從sl_3的位置開始存儲(chǔ),其他的內(nèi)容從sl_4的位置開始存儲(chǔ),len4、len5以及l(fā)en6分別表示數(shù)據(jù)1、數(shù)據(jù)2以及數(shù)據(jù)3的長(zhǎng)度;md5為對(duì)url進(jìn)行加密后的結(jié)果,可用于安全校驗(yàn),保證數(shù)據(jù)的安全;hybridid表示業(yè)務(wù)的唯一標(biāo)識(shí),即當(dāng)前頁面的標(biāo)識(shí);version表示緩存文件的版本;ios_vid表示該緩存文件所支持的ios客戶端的最低版本;android_vid表示支持android客戶端的最低版本,其中,該內(nèi)容可以包含多個(gè)不同的android版本。
需要說明的是,使用上述文件格式當(dāng)客戶端根據(jù)緩存文件加載資源時(shí),客戶端不需要對(duì)緩存文件進(jìn)行解壓處理,因此,客戶端加載資源的速度比較快。此外,由于上述緩存文件僅為一個(gè)文件,因此,不需要將多個(gè)文件進(jìn)行合并,減少了合并文件的復(fù)雜度。
還需要說明的是,在得到各個(gè)待加載的資源的具體內(nèi)容之后,還需要對(duì)各個(gè)待加載的資源的具體內(nèi)容進(jìn)行拼接處理,從而將多個(gè)待加載的資源拼接成一個(gè)文件。
由上可知,通過檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,并在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果,最后根據(jù)差異結(jié)果更新原始緩存文件,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息。
容易注意到的是,在待加載的資源實(shí)時(shí)更新變化的情況下,在通過緩存文件對(duì)待加載的資源進(jìn)行加載的方法可能會(huì)出現(xiàn)加載不準(zhǔn)確的問題,基于此,本申請(qǐng)通過判斷待加載的資源與原始緩存文件是否存在差異,并在存在差異的情況下,根據(jù)差異更新原始緩存文件,從而當(dāng)根據(jù)緩存文件加載資源時(shí)可以準(zhǔn)確的加載資源。此外,本申請(qǐng)還提出了一種緩存文件的格式,使用上述緩存文件的格式使得緩存文件僅為一個(gè)文件,因此,不需要再對(duì)緩存文件進(jìn)行解壓縮處理,而且還減少了合并文件的復(fù)雜度,進(jìn)一步提高了客戶端加載資源的速度。
因此,通過本申請(qǐng)實(shí)施例所提供的方案,可以達(dá)到在待加載資源實(shí)時(shí)更新的情況下準(zhǔn)確對(duì)待加載的資源進(jìn)行準(zhǔn)確緩存的目的,從而實(shí)現(xiàn)了加快對(duì)待加載的資源的訪問速度并節(jié)省用戶訪問資源的流量的技術(shù)效果。
由此,本申請(qǐng)的上述實(shí)施例2的方案解決了現(xiàn)有的對(duì)待加載的資源進(jìn)行緩存方法不能準(zhǔn)確地對(duì)實(shí)時(shí)更新的待加載的資源進(jìn)行緩存的技術(shù)問題。
需要說明的是,上述檢測(cè)模塊801、第一更新模塊803以及第二更新模塊805對(duì)應(yīng)于實(shí)施例1中的步驟s102至步驟s106,三個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。
可選的,檢測(cè)模塊包括:第一獲取模塊、第一檢測(cè)模塊以及第一確定模塊。其中,第一獲取模塊,用于獲取至少一個(gè)待加載頁面的頁面信息;第一檢測(cè)模塊,用于檢測(cè)至少一個(gè)待加載頁面的頁面信息是否發(fā)生變化;第一確定模塊,用于在頁面信息發(fā)生變化的情況下,確定當(dāng)前頁面的待加載的資源發(fā)生變化。
需要說明的是,上述第一獲取模塊、第一檢測(cè)模塊以及第一確定模塊對(duì)應(yīng)于實(shí)施例1中的步驟s402至步驟s406,三個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。
可選的,第一更新模塊包括:第二獲取模塊、第三獲取模塊、對(duì)比模塊以及第二確定模塊。其中,第二獲取模塊,用于獲取基于待加載的資源的頁面信息;第三獲取模塊,用于獲取基于原始緩存文件的頁面信息;對(duì)比模塊,用于對(duì)比待加載的資源的頁面信息以及基于原始緩存文件的頁面信息,得到對(duì)比結(jié)果;第二確定模塊,用于根據(jù)對(duì)比結(jié)果確定差異結(jié)果。
需要說明的是,上述第二獲取模塊、第三獲取模塊、對(duì)比模塊以及第二確定模塊對(duì)應(yīng)于實(shí)施例1中的步驟s502至步驟s508,四個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。
可選的,第二更新模塊件包括:第四獲取模塊、第三確定模塊以及第三更新模塊。其中,第四獲取模塊,用于獲取當(dāng)前頁面的標(biāo)識(shí)信息;第三確定模塊,用于根據(jù)當(dāng)前頁面的標(biāo)識(shí)信息確定與標(biāo)識(shí)信息相匹配的原始緩存文件;第三更新模塊,用于基于發(fā)生變化的待加載的資源對(duì)原始緩存文件進(jìn)行更新處理。
需要說明的是,上述第四獲取模塊、第三確定模塊以及第三更新模塊對(duì)應(yīng)于實(shí)施例1中的步驟s602至步驟s606,三個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。
可選的,更新緩存文件的裝置還包括:解析模塊、第四確定模塊以及加載模塊。其中,解析模塊,用于對(duì)更新后的緩存文件進(jìn)行解析處理,得到解析結(jié)果;第四確定模塊,用于根據(jù)解析結(jié)果確定至少一個(gè)待加載頁面的頁面信息;加載模塊,用于基于解析后的至少一個(gè)待加載頁面的頁面信息加載頁面。
需要說明的是,上述解析模塊、第四確定模塊以及加載模塊對(duì)應(yīng)于實(shí)施例1中的步驟s702至步驟s706,三個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。
實(shí)施例3
根據(jù)本發(fā)明實(shí)施例,還提供了一種更新緩存文件的系統(tǒng)實(shí)施例。
圖9是根據(jù)本發(fā)明實(shí)施例的更新緩存文件的系統(tǒng)結(jié)構(gòu)示意圖,如圖9所示,該系統(tǒng)包括:服務(wù)器901以及客戶端903。
服務(wù)器901,用于檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果更新原始緩存文件;
客戶端903,與服務(wù)器通信連接,用于向服務(wù)器提供當(dāng)前頁面的待加載的資源。
需要說明的是,上述當(dāng)前頁面為用戶通過終端設(shè)備正在訪問的頁面,上述待加載的資源為用戶通過當(dāng)前頁面可能要訪問的資源,例如,如圖2所示的一種可選的用戶終端的界面顯示示意圖,由圖2可知,用戶通過用戶終端正在訪問上海這個(gè)城市的特價(jià)酒店,并且搜索到了三個(gè)特價(jià)酒店,分別是酒店1、酒店2和酒店3。此時(shí),用戶可以通過點(diǎn)擊圖2中的酒店1、酒店2或酒店3分別進(jìn)入到各個(gè)酒店所對(duì)應(yīng)的網(wǎng)頁,或者通過選擇城市來查看其它城市的特價(jià)酒店。圖2所示的界面即為上述當(dāng)前頁面,而用戶將要訪問的酒店1、酒店2、酒店3以及其他城市的特價(jià)酒店的界面為上述待加載頁面。
具體的,服務(wù)器檢測(cè)用戶當(dāng)前訪問的界面上的待加載的資源是否發(fā)生變化,如果發(fā)生變化,則獲取到待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果對(duì)原始緩存文件進(jìn)行更新處理。
在一種可選的實(shí)施例中,服務(wù)器獲取到客戶端當(dāng)前正在訪問的頁面的信息,并根據(jù)當(dāng)前頁面的信息獲取到待加載的資源。然后服務(wù)器通過對(duì)比待加載的資源與已經(jīng)緩存在服務(wù)器本地的緩存文件來確定兩者之間存在的差異,并根據(jù)差異來對(duì)原始緩存文件進(jìn)行更新處理,從而得到更新后的緩存文件。之后服務(wù)器將更新后的緩存文件發(fā)送到客戶端,客戶端接收更新后的緩存文件,并對(duì)緩存文件進(jìn)行解析處理,以便客戶端可以直接使用緩存文件中的相關(guān)內(nèi)容。當(dāng)用戶點(diǎn)擊當(dāng)前頁面上的相關(guān)鏈接或與上述網(wǎng)頁鏈接相關(guān)的其他按鈕或圖標(biāo)之后,該鏈接或圖標(biāo)所對(duì)應(yīng)的待加載的頁面即為需要加載的頁面??蛻舳双@取到該鏈接之后,通過與解析后的緩存文件中的內(nèi)容進(jìn)行匹配,加載與該鏈接相匹配的內(nèi)容。
需要說明的是,上述客戶端在加載內(nèi)容的過程中處于離線狀態(tài)或處在網(wǎng)絡(luò)信號(hào)比較差的環(huán)境中。
由上可知,服務(wù)器檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果,并根據(jù)差異結(jié)果更新原始緩存文件,與服務(wù)器通信連接的客戶端向服務(wù)器提供當(dāng)前頁面的待加載的資源。
容易注意到的是,在待加載的資源實(shí)時(shí)更新變化的情況下,在通過緩存文件對(duì)待加載的資源進(jìn)行加載的方法可能會(huì)出現(xiàn)加載不準(zhǔn)確的問題,基于此,本申請(qǐng)通過判斷待加載的資源與原始緩存文件是否存在差異,并在存在差異的情況下,根據(jù)差異更新原始緩存文件,從而當(dāng)根據(jù)緩存文件加載資源時(shí)可以準(zhǔn)確的加載資源。此外,本申請(qǐng)還提出了一種緩存文件的格式,使用上述緩存文件的格式使得緩存文件僅為一個(gè)文件,因此,不需要再對(duì)緩存文件進(jìn)行解壓縮處理,而且還減少了合并文件的復(fù)雜度,進(jìn)一步提高了客戶端加載資源的速度。
因此,通過本申請(qǐng)實(shí)施例所提供的方案,可以達(dá)到在待加載資源實(shí)時(shí)更新的情況下準(zhǔn)確對(duì)待加載的資源進(jìn)行準(zhǔn)確緩存的目的,從而實(shí)現(xiàn)了加快對(duì)待加載的資源的訪問速度并節(jié)省用戶訪問資源的流量的技術(shù)效果。
由此,本申請(qǐng)的上述實(shí)施例1的方案解決了現(xiàn)有的對(duì)待加載的資源進(jìn)行緩存方法不能準(zhǔn)確地對(duì)實(shí)時(shí)更新的待加載的資源進(jìn)行緩存的技術(shù)問題。
進(jìn)一步的,上述服務(wù)器還用于獲取至少一個(gè)待加載頁面的頁面信息;檢測(cè)至少一個(gè)待加載頁面的頁面信息是否發(fā)生變化;在頁面信息發(fā)生變化的情況下,確定當(dāng)前頁面的待加載的資源發(fā)生變化。
此外,上述服務(wù)器還用于獲取基于待加載的資源的頁面信息;獲取基于原始緩存文件的頁面信息;對(duì)比基于上述待加載的資源的頁面信息以及基于原始緩存文件的頁面信息,得到對(duì)比結(jié)果;根據(jù)對(duì)比結(jié)果確定差異結(jié)果。
在一種可選的實(shí)施例中,上述服務(wù)器還用于獲取當(dāng)前頁面的標(biāo)識(shí)信息;根據(jù)當(dāng)前頁面的標(biāo)識(shí)信息確定與標(biāo)識(shí)信息相匹配的原始緩存文件;基于發(fā)生變化的待加載的資源對(duì)原始緩存文件進(jìn)行更新處理。
在另一種可選的實(shí)施例中,上述客戶端還用于對(duì)更新后的緩存文件進(jìn)行解析處理,得到解析結(jié)果;根據(jù)解析結(jié)果確定至少一個(gè)待加載頁面的頁面信息;基于解析后的至少一個(gè)待加載頁面的頁面信息加載頁面。
實(shí)施例4
根據(jù)本發(fā)明實(shí)施例,還提供了一種存儲(chǔ)介質(zhì)。
可選的,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于保存上述實(shí)施例1所提供的更新緩存文件的方法所執(zhí)行的程序代碼。
可選的,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于計(jì)算機(jī)網(wǎng)絡(luò)中計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端中,或者位于移動(dòng)終端群中的任意一個(gè)移動(dòng)終端中。
可選的,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;根據(jù)差異結(jié)果更新原始緩存文件。
可選的,在本實(shí)施例中,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:獲取至少一個(gè)待加載頁面的頁面信息;檢測(cè)至少一個(gè)待加載頁面的頁面信息是否發(fā)生變化;在頁面信息發(fā)生變化的情況下,確定當(dāng)前頁面的待加載的資源發(fā)生變化。
可選的,在本實(shí)施例中,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:獲取基于待加載的資源的頁面信息;獲取基于原始緩存文件的頁面信息;對(duì)比基于上述待加載的資源的頁面信息以及基于原始緩存文件的頁面信息,得到對(duì)比結(jié)果;根據(jù)對(duì)比結(jié)果確定差異結(jié)果。
可選的,在本實(shí)施例中,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:獲取當(dāng)前頁面的標(biāo)識(shí)信息;根據(jù)當(dāng)前頁面的標(biāo)識(shí)信息確定與標(biāo)識(shí)信息相匹配的原始緩存文件;基于發(fā)生變化的待加載的資源對(duì)原始緩存文件進(jìn)行更新處理。
可選的,在本實(shí)施例中,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:對(duì)更新后的緩存文件進(jìn)行解析處理,得到解析結(jié)果;根據(jù)解析結(jié)果確定至少一個(gè)待加載頁面的頁面信息;基于解析后的至少一個(gè)待加載頁面的頁面信息加載頁面。
實(shí)施例5
根據(jù)本發(fā)明實(shí)施例,提供了一種處理器。
可選的,在本實(shí)施例中,上述處理器可以用于執(zhí)行上述實(shí)施例1所提供的更新緩存文件的方法的程序代碼。
處理器可以通過傳輸裝置調(diào)用存儲(chǔ)器存儲(chǔ)的信息及應(yīng)用程序,以執(zhí)行下述步驟:檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;根據(jù)差異結(jié)果更新原始緩存文件。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:獲取至少一個(gè)待加載頁面的頁面信息;檢測(cè)至少一個(gè)待加載頁面的頁面信息是否發(fā)生變化;在頁面信息發(fā)生變化的情況下,確定當(dāng)前頁面的待加載的資源發(fā)生變化。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:獲取基于待加載的資源的頁面信息;獲取基于原始緩存文件的頁面信息;對(duì)比基于上述待加載的資源的頁面信息以及基于原始緩存文件的頁面信息,得到對(duì)比結(jié)果;根據(jù)對(duì)比結(jié)果確定差異結(jié)果。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:獲取當(dāng)前頁面的標(biāo)識(shí)信息;根據(jù)當(dāng)前頁面的標(biāo)識(shí)信息確定與標(biāo)識(shí)信息相匹配的原始緩存文件;基于發(fā)生變化的待加載的資源對(duì)原始緩存文件進(jìn)行更新處理。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:對(duì)更新后的緩存文件進(jìn)行解析處理,得到解析結(jié)果;根據(jù)解析結(jié)果確定至少一個(gè)待加載頁面的頁面信息;基于解析后的至少一個(gè)待加載頁面的頁面信息加載頁面。
實(shí)施例6
根據(jù)本發(fā)明實(shí)施例,還提供了一種終端。
可選的,該終端包括:服務(wù)器、客戶端以及處理器。
其中,服務(wù)器,用于在檢測(cè)到當(dāng)前頁面的待加載的資源發(fā)生變化的情況下,根據(jù)待加載的資源與原始緩存文件的差異結(jié)果更新原始緩存文件;客戶端,與服務(wù)器通信連接,用于向服務(wù)器提供當(dāng)前頁面的待加載的資源;處理器,處理器運(yùn)行程序,其中,程序運(yùn)行時(shí)對(duì)于從服務(wù)器和客戶端輸出的數(shù)據(jù)執(zhí)行如下處理步驟:
檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;
在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;
根據(jù)差異結(jié)果更新原始緩存文件。
實(shí)施例7
根據(jù)本發(fā)明實(shí)施例,還提供了一種終端。
可選的,該終端包括:服務(wù)器、客戶端以及存儲(chǔ)介質(zhì)。
其中,服務(wù)器,用于在檢測(cè)到當(dāng)前頁面的待加載的資源發(fā)生變化的情況下,根據(jù)待加載的資源與原始緩存文件的差異結(jié)果更新原始緩存文件;客戶端,與服務(wù)器通信連接,用于向服務(wù)器提供當(dāng)前頁面的待加載的資源;存儲(chǔ)介質(zhì),用于存儲(chǔ)程序,其中,程序在運(yùn)行時(shí)對(duì)于從服務(wù)器和客戶端輸出的數(shù)據(jù)執(zhí)行如下處理步驟:
檢測(cè)當(dāng)前頁面的待加載的資源是否發(fā)生變化,其中,待加載的資源至少包括:至少一個(gè)待加載頁面的頁面信息;
在檢測(cè)到待加載的資源發(fā)生變化的情況下,獲取待加載的資源與原始緩存文件的差異結(jié)果;
根據(jù)差異結(jié)果更新原始緩存文件。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。