本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)資源更新的方法和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)的發(fā)展,人們?cè)桨l(fā)依賴(lài)互聯(lián)網(wǎng)獲取信息,一般通過(guò)客戶(hù)端瀏覽器向萬(wàn)維網(wǎng)(Web)服務(wù)器發(fā)送各種請(qǐng)求,并對(duì)從服務(wù)器發(fā)來(lái)的網(wǎng)絡(luò)資源在頁(yè)面中進(jìn)行展示。
現(xiàn)有技術(shù)中,一般通過(guò)超文本傳輸協(xié)議(英文全稱(chēng):Hyper Text Transfer Protocol,英文縮寫(xiě):HTTP)緩存技術(shù)實(shí)現(xiàn)加速網(wǎng)頁(yè)訪問(wèn)。具體的,當(dāng)用戶(hù)在客戶(hù)端上使用瀏覽器訪問(wèn)某個(gè)統(tǒng)一資源定位符(英文全稱(chēng):Uniform Resource Locator,英文縮寫(xiě):URL)時(shí),瀏覽器發(fā)送請(qǐng)求信息給服務(wù)器,該請(qǐng)求信息中包括該URL,服務(wù)器針對(duì)該URL返回一個(gè)包含頁(yè)面文件的響應(yīng)信息給客戶(hù)端的瀏覽器,瀏覽器將該頁(yè)面文件緩存在瀏覽器緩存內(nèi)并根據(jù)該頁(yè)面文件進(jìn)行頁(yè)面展示,其中,該響應(yīng)信息還包括用于指示緩存期限的信息,在緩存期限內(nèi)該頁(yè)面文件一直被緩存在瀏覽器緩存內(nèi)。當(dāng)用戶(hù)使用瀏覽器再次訪問(wèn)該URL時(shí),若當(dāng)前處于緩存期限內(nèi),則瀏覽器從瀏覽器緩存中讀取訪問(wèn)文件,不再向服務(wù)器發(fā)送http請(qǐng)求;如果超出緩存期限,則瀏覽器向服務(wù)器請(qǐng)求頁(yè)面文件。
然而,由于要考慮頁(yè)面文件的及時(shí)更新問(wèn)題,該緩存期限一般設(shè)置的比較短,這導(dǎo)致用戶(hù)使用瀏覽器再次訪問(wèn)該URL時(shí),很大概率上要向遠(yuǎn)程服務(wù)器請(qǐng)求訪問(wèn)文件。而從遠(yuǎn)程服務(wù)器獲取訪問(wèn)文件延時(shí)較大,受網(wǎng)絡(luò)環(huán)境因素影響,特別是在網(wǎng)絡(luò)環(huán)境質(zhì)量較差的情況下網(wǎng)絡(luò)資源加載慢,導(dǎo)致用戶(hù)等待時(shí)間長(zhǎng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種網(wǎng)絡(luò)資源更新的方法和裝置,能夠縮短加載預(yù)置網(wǎng)絡(luò)資源的時(shí)長(zhǎng)。
第一方面,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)資源更新的方法,包括:
在頁(yè)面開(kāi)始初始化到頁(yè)面關(guān)閉期間,定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件;
將所述更新文件緩存到瀏覽器緩存中;
對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行刷新或者進(jìn)行訪問(wèn)時(shí),根據(jù)所述瀏覽器緩存中的更新文件對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行展示。
第二方面,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)資源更新的裝置,包括:
獲取模塊,用于在頁(yè)面開(kāi)始初始化到頁(yè)面關(guān)閉期間,定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件;
緩存模塊,用于將所述更新文件緩存到瀏覽器緩存中;
展示模塊,用于對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行刷新或者進(jìn)行訪問(wèn)時(shí),根據(jù)所述瀏覽器緩存中的更新文件對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行展示。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
本發(fā)明中,由于在頁(yè)面開(kāi)始加載后定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件,并緩存到瀏覽器緩存中,相比現(xiàn)有技術(shù)中是僅在預(yù)置網(wǎng)絡(luò)資源被訪問(wèn)時(shí)發(fā)現(xiàn)緩存文件過(guò)期后從服務(wù)器加載時(shí)才緩存到瀏覽器緩存中,在對(duì)預(yù)置網(wǎng)絡(luò)資源進(jìn)行訪問(wèn)時(shí),本發(fā)明中該預(yù)置網(wǎng)絡(luò)資源在瀏覽器緩存中的過(guò)期概率更小,也即在加載預(yù)置網(wǎng)絡(luò)資源時(shí)采用本發(fā)明中的方案能夠使得從瀏覽器緩存中加載該預(yù)置網(wǎng)絡(luò)資源的概率更大,實(shí)際應(yīng)用中,從瀏覽器緩存加載文件所耗時(shí)長(zhǎng)和從服務(wù)器加載文件所耗時(shí)長(zhǎng)一般是兩個(gè)不同數(shù)量級(jí),因此,采用本發(fā)明中的方案能夠極大縮短了加載預(yù)置網(wǎng)絡(luò)資源的時(shí)長(zhǎng),進(jìn)而降低了用戶(hù)在訪問(wèn)頁(yè)面時(shí)的等待耗時(shí)及受網(wǎng)絡(luò)環(huán)境因素的影響。
附圖說(shuō)明
圖1為本發(fā)明的網(wǎng)絡(luò)資源更新的方法的一個(gè)實(shí)施例的流程示意圖;
圖2為本發(fā)明的網(wǎng)絡(luò)資源更新的方法的一個(gè)實(shí)際應(yīng)用場(chǎng)景的流程示意圖;
圖3為本發(fā)明的網(wǎng)絡(luò)資源更新的裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖4為本發(fā)明的終端的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
請(qǐng)參閱圖1,圖1為本發(fā)明的網(wǎng)絡(luò)資源更新的方法的一個(gè)實(shí)施例的流程示意圖。本實(shí)施例中,網(wǎng)絡(luò)資源更新的方法包括:
101、在頁(yè)面開(kāi)始初始化到頁(yè)面關(guān)閉期間,定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件。
瀏覽器通過(guò)統(tǒng)一資源定位符(英文全稱(chēng):Uniform Resource Locator,英文縮寫(xiě):URL)對(duì)頁(yè)面內(nèi)容進(jìn)行訪問(wèn)時(shí),從服務(wù)器下載該頁(yè)面內(nèi)容,對(duì)頁(yè)面進(jìn)行初始化,以對(duì)該頁(yè)面內(nèi)容進(jìn)行展示,并對(duì)該頁(yè)面內(nèi)容進(jìn)行緩存。在頁(yè)面開(kāi)始初始化后到頁(yè)面關(guān)閉該期間內(nèi),瀏覽器定期從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件,其中,該定期指的是每隔預(yù)置時(shí)間,或者指的是在預(yù)定時(shí)間上,在此不作限制。其中,所述預(yù)置網(wǎng)絡(luò)資源可以是當(dāng)前打開(kāi)的頁(yè)面的更新文件,也可以是其他頁(yè)面的更新文件,可以是當(dāng)前打開(kāi)的頁(yè)面中相關(guān)預(yù)置網(wǎng)絡(luò)資源(例如樣式或者腳本語(yǔ)言),也可以是其他頁(yè)面中的相關(guān)預(yù)置網(wǎng)絡(luò)資源(例如樣式或者腳本語(yǔ)言),在此不作限制。其中,該預(yù)置網(wǎng)絡(luò)資源可以是默認(rèn)設(shè)置的網(wǎng)絡(luò)資源,也可以是通過(guò)接收對(duì)預(yù)置網(wǎng)絡(luò)資源的設(shè)置來(lái)確定的網(wǎng)絡(luò)資源,在此不作限制。
由于只有在瀏覽器中有頁(yè)面打開(kāi)的情況下,瀏覽器才能從服務(wù)器請(qǐng)求文件,因此,本實(shí)施例中,是在頁(yè)面開(kāi)始初始化到頁(yè)面關(guān)閉期間來(lái)定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件。優(yōu)選的,本實(shí)施例中,在頁(yè)面完成初始化到頁(yè)面關(guān)閉期間來(lái)定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件,這樣,可以避免影響頁(yè)面的加載速度。
其中,瀏覽器定期從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件的方法有多種。例如,
具體的,瀏覽器定期向服務(wù)器發(fā)送更新請(qǐng)求,以從服務(wù)器獲取當(dāng)前服務(wù)器所存儲(chǔ)的預(yù)置網(wǎng)絡(luò)資源并進(jìn)行緩存。然而,瀏覽器每一次從服務(wù)器獲取到的預(yù)置網(wǎng)絡(luò)資源相比本地所緩存的預(yù)置網(wǎng)絡(luò)資源并不一定有更新。
因此,優(yōu)選的,本實(shí)施例中,瀏覽器定期從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件時(shí),具體為:瀏覽器定期向服務(wù)器發(fā)送對(duì)所述預(yù)置網(wǎng)絡(luò)資源的資源包頭請(qǐng)求,在接收到所述服務(wù)器對(duì)所述資源包頭請(qǐng)求響應(yīng)的資源包頭信息時(shí),根據(jù)所述資源包頭信息判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新;當(dāng)確定所述預(yù)置網(wǎng)絡(luò)資源有更新時(shí),從所述服務(wù)器獲取所述預(yù)置網(wǎng)絡(luò)資源的更新文件。由于先對(duì)服務(wù)器發(fā)送資源包頭請(qǐng)求,這樣服務(wù)器只需返回資源包頭信息,而不需要返回更新文件的整個(gè)資源包,大大減少數(shù)據(jù)的傳輸量。
其中,根據(jù)所述資源包頭信息判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新的方法有多種。例如,該資源包頭信息中包括預(yù)置網(wǎng)絡(luò)資源的更新時(shí)間。在根據(jù)所述資源包頭信息判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新時(shí),根據(jù)所述預(yù)置網(wǎng)絡(luò)資源的更新時(shí)間判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新。具體的,獲取本地所緩存的預(yù)置網(wǎng)絡(luò)資源的更新時(shí)間,若本地緩存的預(yù)置網(wǎng)絡(luò)資源的更新時(shí)間晚于資源包頭信息中的預(yù)置網(wǎng)絡(luò)資源的更新時(shí)間,則可確定預(yù)置網(wǎng)絡(luò)資源有更新,否則,可確定該預(yù)置網(wǎng)絡(luò)資源沒(méi)有更新。
又例如,該資源包頭信息中包括預(yù)置網(wǎng)絡(luò)資源的更新標(biāo)志位,所述更新標(biāo)志位用于指示所述預(yù)置網(wǎng)絡(luò)資源的更新內(nèi)容。在根據(jù)所述資源包頭信息判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新時(shí),根據(jù)所述預(yù)置網(wǎng)絡(luò)資源的更新標(biāo)志位判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新。具體的,獲取本地所緩存的預(yù)置網(wǎng)絡(luò)資源的更新標(biāo)志位,若本地緩存的預(yù)置網(wǎng)絡(luò)資源的更新標(biāo)志位和資源包頭信息中的預(yù)置網(wǎng)絡(luò)資源的更新標(biāo)志位不同,則可確定預(yù)置網(wǎng)絡(luò)資源有更新,否則,可確定該預(yù)置網(wǎng)絡(luò)資源沒(méi)有更新。
本實(shí)施例中,瀏覽器定期向服務(wù)器發(fā)送更新請(qǐng)求的發(fā)送方法有多種。可選的,瀏覽器通過(guò)異步JavaScript和XML(英文全稱(chēng):Asynchronous Javascript And XML,英文縮寫(xiě):AJAX)向服務(wù)器發(fā)送更新請(qǐng)求,來(lái)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件。例如,瀏覽器每隔預(yù)置時(shí)間向服務(wù)器發(fā)送get請(qǐng)求或者post請(qǐng)求來(lái)獲取預(yù)置網(wǎng)絡(luò)資源的更新文件。
優(yōu)選的,瀏覽器定期向服務(wù)器發(fā)送更新請(qǐng)求時(shí),具體的,瀏覽器定期向服務(wù)器發(fā)送head請(qǐng)求,接收到服務(wù)器響應(yīng)的響應(yīng)頭信息后,根據(jù)該響應(yīng)頭信息確定預(yù)置網(wǎng)絡(luò)資源有更新時(shí),才向服務(wù)器發(fā)送get請(qǐng)求或者post請(qǐng)求來(lái)獲取更新文件的完整文件,當(dāng)然,也可以通過(guò)發(fā)送其他請(qǐng)求來(lái)獲取完整文件,在此不作限制。
102、將所述更新文件緩存到瀏覽器緩存中。
從服務(wù)器獲取到預(yù)置網(wǎng)絡(luò)資源的更新文件后,瀏覽器將該預(yù)置網(wǎng)絡(luò)資源的更新文件緩存到瀏覽器緩存中。實(shí)際應(yīng)用中,預(yù)置網(wǎng)絡(luò)資源在瀏覽器緩存中一般具有一定的緩存期限。瀏覽器從服務(wù)器獲取到該更新文件的數(shù)據(jù)包時(shí),該數(shù)據(jù)包中還攜帶有緩存期限。瀏覽器從該數(shù)據(jù)包中獲取該緩存期限,并根據(jù)該緩存期限確定該更新文件在本地中的緩存期限。具體的,數(shù)據(jù)包中所攜帶的緩存期限可以為一個(gè)緩存時(shí)長(zhǎng),也可以為一個(gè)緩存截止時(shí)間點(diǎn),在此不作限制。其中,服務(wù)器設(shè)置在緩存期限的方法主要有兩種,一種是采用默認(rèn)設(shè)置,一種是瀏覽器在向服務(wù)器請(qǐng)求文件時(shí)會(huì)發(fā)送緩存時(shí)長(zhǎng)請(qǐng)求,服務(wù)器根據(jù)該緩存時(shí)長(zhǎng)請(qǐng)求在響應(yīng)頭信息中設(shè)置文件的緩存期限。
103、對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行訪問(wèn)時(shí),根據(jù)所述瀏覽器緩存中的更新文件對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行展示。
在頁(yè)面展示過(guò)程中,可能會(huì)接收到對(duì)預(yù)置網(wǎng)絡(luò)資源的刷新請(qǐng)求。在接收到預(yù)置網(wǎng)絡(luò)資源的刷新請(qǐng)求時(shí),瀏覽器無(wú)需從服務(wù)器中加載預(yù)置網(wǎng)絡(luò)資源的更新文件,而是直接從瀏覽器緩存中加載該更新文件,并對(duì)該預(yù)置網(wǎng)絡(luò)資源進(jìn)行展示。
在頁(yè)面關(guān)閉后,當(dāng)接收到對(duì)該預(yù)置網(wǎng)絡(luò)資源的訪問(wèn)請(qǐng)求時(shí),也無(wú)需從服務(wù)器中加載預(yù)置網(wǎng)絡(luò)資源的更新文件,而是直接從瀏覽器緩存中加載該更新文件,并對(duì)該預(yù)置網(wǎng)絡(luò)資源進(jìn)行展示。
可選的,本實(shí)施例中,在根據(jù)瀏覽器緩存的更新文件對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行展示時(shí),首先檢測(cè)所述瀏覽器緩存的更新文件是否過(guò)期,具體可通過(guò)該更新文件的緩存期限和當(dāng)前時(shí)間僅對(duì)對(duì)比來(lái)確定該更新文件是否過(guò)期。當(dāng)所述更新文件沒(méi)有過(guò)期時(shí),從所述瀏覽器緩存中讀取所述更新文件。當(dāng)該更新文件過(guò)去時(shí),從服務(wù)器中加載該更新文件。
本實(shí)施例中,由于在頁(yè)面開(kāi)始加載后預(yù)置網(wǎng)絡(luò)資源更新的裝置定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件,并緩存到瀏覽器緩存中,相比現(xiàn)有技術(shù)中是僅在預(yù)置網(wǎng)絡(luò)資源被訪問(wèn)時(shí)發(fā)現(xiàn)緩存文件過(guò)期后從服務(wù)器加載時(shí)才緩存到瀏覽器緩存中,在對(duì)預(yù)置網(wǎng)絡(luò)資源進(jìn)行訪問(wèn)時(shí),本發(fā)明中該預(yù)置網(wǎng)絡(luò)資源在瀏覽器緩存中的過(guò)期概率更小,也即在加載預(yù)置網(wǎng)絡(luò)資源時(shí)采用本發(fā)明中的方案能夠使得從瀏覽器緩存中加載該預(yù)置網(wǎng)絡(luò)資源的概率更大,實(shí)際應(yīng)用中,從瀏覽器緩存加載文件所耗時(shí)長(zhǎng)和從服務(wù)器加載文件所耗時(shí)長(zhǎng)一般是兩個(gè)不同數(shù)量級(jí),因此,采用本發(fā)明中的方案能夠極大縮短了加載預(yù)置網(wǎng)絡(luò)資源的時(shí)長(zhǎng),進(jìn)而降低了用戶(hù)在訪問(wèn)頁(yè)面時(shí)的等待耗時(shí)及受網(wǎng)絡(luò)環(huán)境因素的影響。尤其在現(xiàn)有技術(shù)的單頁(yè)面應(yīng)用中,該單頁(yè)面應(yīng)用只有一個(gè)頁(yè)面,特點(diǎn)是頁(yè)面內(nèi)容切換時(shí)不刷新頁(yè)面,依靠腳本動(dòng)態(tài)控制加載和展現(xiàn),其中不刷新頁(yè)面意味著頁(yè)面不更新,只有用戶(hù)主動(dòng)刷新或者瀏覽器重新啟動(dòng)時(shí)才會(huì)從服務(wù)器加載更新,在加載過(guò)程中容易受網(wǎng)絡(luò)環(huán)境影響,無(wú)法應(yīng)對(duì)緊急情況需要立即更新的情況。而在本發(fā)明中,在頁(yè)面展示期間定時(shí)從服務(wù)器獲取頁(yè)面的更新文件,在單頁(yè)面應(yīng)用中刷新或?yàn)g覽器重新啟動(dòng)時(shí)可以立即從緩存中加載到更新文件,避免了加載更新文件過(guò)程中受網(wǎng)絡(luò)環(huán)境影響的情況。
可選的,本實(shí)施例中,在瀏覽器通過(guò)AJAX技術(shù)定時(shí)向服務(wù)器發(fā)送更新請(qǐng)求時(shí),該更新請(qǐng)求還包括用于指示緩存時(shí)長(zhǎng)請(qǐng)求,以便所述服務(wù)器根據(jù)所述緩存時(shí)長(zhǎng)請(qǐng)求設(shè)置所述更新文件在所述瀏覽器緩存中的緩存期限。本實(shí)施例中,由于瀏覽器獲取到的頁(yè)面的更新文件的更新時(shí)間較靠近當(dāng)前時(shí)間,因此瀏覽器發(fā)送的緩存時(shí)長(zhǎng)請(qǐng)求中所請(qǐng)求的緩存時(shí)長(zhǎng)可以比現(xiàn)有技術(shù)中的緩存時(shí)長(zhǎng)長(zhǎng)一些。
為方便理解本發(fā)明,下面結(jié)合一個(gè)實(shí)際應(yīng)用場(chǎng)景對(duì)本發(fā)明的網(wǎng)絡(luò)資源更新的方法進(jìn)行舉例描述。
如圖2所示,圖2為本發(fā)明的網(wǎng)絡(luò)資源更新的方法的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例中,瀏覽器打開(kāi)一個(gè)頁(yè)面時(shí),當(dāng)檢測(cè)到本地沒(méi)有該頁(yè)面的緩存時(shí),或者本地所緩存的頁(yè)面文件過(guò)期時(shí),向服務(wù)器發(fā)送請(qǐng)求,并接收服務(wù)器的響應(yīng)數(shù)據(jù)包,該響應(yīng)數(shù)據(jù)包包括頁(yè)面文件以及頁(yè)面的更新標(biāo)志位。瀏覽器根據(jù)服務(wù)器返回的響應(yīng)數(shù)據(jù)包對(duì)頁(yè)面進(jìn)行初始化。瀏覽器還將該頁(yè)面文件和頁(yè)面的更新標(biāo)志位一并緩存在瀏覽器緩存中。
從頁(yè)面開(kāi)始初始化開(kāi)始,瀏覽器每隔預(yù)置時(shí)間通過(guò)AJAX向服務(wù)器發(fā)送head請(qǐng)求,以定時(shí)檢測(cè)頁(yè)面文件是否有更新。具體的,瀏覽器接收從服務(wù)器對(duì)該head請(qǐng)求響應(yīng)的響應(yīng)頭信息。其中,該響應(yīng)頭信息中包括該頁(yè)面的更新標(biāo)志位,該更新標(biāo)志位用于指示頁(yè)面的更新內(nèi)容。瀏覽器每一次獲取到的服務(wù)器對(duì)head請(qǐng)求響應(yīng)的響應(yīng)頭信息時(shí),將該響應(yīng)頭信息中的更新標(biāo)志位與當(dāng)前緩存在瀏覽器緩存中的頁(yè)面文件的更新標(biāo)志位進(jìn)行比較,當(dāng)該兩個(gè)更新標(biāo)志位相同時(shí),表示頁(yè)面沒(méi)有更新,那么瀏覽器繼續(xù)等待下一次發(fā)送head請(qǐng)求;當(dāng)該兩個(gè)更新標(biāo)志位不同時(shí),表示頁(yè)面有更新,那么瀏覽器通過(guò)AJAX向服務(wù)器發(fā)送get請(qǐng)求,以獲取頁(yè)面的更新文件。
瀏覽器接收到服務(wù)器對(duì)該get請(qǐng)求的響應(yīng)數(shù)據(jù)包時(shí),對(duì)該響應(yīng)數(shù)據(jù)包進(jìn)行緩存。等待預(yù)置時(shí)間后,瀏覽器再次向服務(wù)器發(fā)送head請(qǐng)求,以此往復(fù),直至頁(yè)面關(guān)閉??蛇x的,在瀏覽器獲取到頁(yè)面的更新文件后,停止向服務(wù)器發(fā)送head請(qǐng)求,在此不作限制。
在頁(yè)面刷新或者頁(yè)面關(guān)閉后再一次打開(kāi)時(shí),從瀏覽器緩存中讀取頁(yè)面文件,并加載該頁(yè)面。實(shí)際應(yīng)用中,從瀏覽器緩存加載頁(yè)面文件的耗時(shí)一般為10ms級(jí)別的時(shí)長(zhǎng),從遠(yuǎn)程服務(wù)器加載頁(yè)面文件的耗時(shí)一般為100ms級(jí)別的時(shí)長(zhǎng),而且受網(wǎng)絡(luò)質(zhì)量影響一般耗時(shí)更長(zhǎng),本發(fā)明中能夠大幅度縮短用戶(hù)訪問(wèn)預(yù)置網(wǎng)絡(luò)資源時(shí)的等待耗時(shí)。
上面對(duì)本發(fā)明的網(wǎng)絡(luò)資源更新的方法進(jìn)行了描述,下面將對(duì)本發(fā)明的網(wǎng)絡(luò)資源更新的裝置進(jìn)行描述。
請(qǐng)參閱圖3,圖3為本發(fā)明的網(wǎng)絡(luò)資源更新的裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例中,網(wǎng)絡(luò)資源更新的裝置300包括:
獲取模塊301,用于在頁(yè)面開(kāi)始初始化到頁(yè)面關(guān)閉期間,定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件;
緩存模塊302,用于將所述更新文件緩存到瀏覽器緩存中;
展示模塊303,用于對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行刷新或者進(jìn)行訪問(wèn)時(shí),根據(jù)所述瀏覽器緩存中的更新文件對(duì)所述預(yù)置網(wǎng)絡(luò)資源進(jìn)行展示。
本實(shí)施例中,由于在頁(yè)面開(kāi)始加載后預(yù)置網(wǎng)絡(luò)資源更新的裝置定時(shí)從服務(wù)器獲取預(yù)置網(wǎng)絡(luò)資源的更新文件,并緩存到瀏覽器緩存中,相比現(xiàn)有技術(shù)中是僅在預(yù)置網(wǎng)絡(luò)資源被訪問(wèn)時(shí)發(fā)現(xiàn)緩存文件過(guò)期后從服務(wù)器加載時(shí)才緩存到瀏覽器緩存中,在對(duì)預(yù)置網(wǎng)絡(luò)資源進(jìn)行訪問(wèn)時(shí),本發(fā)明中該預(yù)置網(wǎng)絡(luò)資源在瀏覽器緩存中的過(guò)期概率更小,也即在加載預(yù)置網(wǎng)絡(luò)資源時(shí)采用本發(fā)明中的方案能夠使得從瀏覽器緩存中加載該預(yù)置網(wǎng)絡(luò)資源的概率更大,實(shí)際應(yīng)用中,從瀏覽器緩存加載文件所耗時(shí)長(zhǎng)和從服務(wù)器加載文件所耗時(shí)長(zhǎng)一般是兩個(gè)不同數(shù)量級(jí),因此,采用本發(fā)明中的方案能夠極大縮短了加載預(yù)置網(wǎng)絡(luò)資源的時(shí)長(zhǎng),進(jìn)而降低了用戶(hù)在訪問(wèn)預(yù)置網(wǎng)絡(luò)資源時(shí)的等待耗時(shí)及受網(wǎng)絡(luò)環(huán)境因素的影響。
可選的,所述展示模塊303具體用于:
檢測(cè)所述瀏覽器緩存的更新文件是否過(guò)期;
當(dāng)所述更新文件沒(méi)有過(guò)期時(shí),從所述瀏覽器緩存中讀取所述更新文件。
可選的,所述獲取模塊301具體用于通過(guò)AJAX技術(shù)定時(shí)向服務(wù)器發(fā)送更新請(qǐng)求,所述更新請(qǐng)求用于請(qǐng)求所述預(yù)置網(wǎng)絡(luò)資源的更新文件。
可選的,所述更新請(qǐng)求還包括用于指示緩存時(shí)長(zhǎng)請(qǐng)求,以便所述服務(wù)器根據(jù)所述緩存時(shí)長(zhǎng)請(qǐng)求設(shè)置所述更新文件在所述瀏覽器緩存中的緩存期限。
可選的,所述獲取模塊301具體用于:
定時(shí)向服務(wù)器發(fā)送對(duì)所述預(yù)置網(wǎng)絡(luò)資源的資源包頭請(qǐng)求;
接收所述服務(wù)器對(duì)所述資源包頭請(qǐng)求響應(yīng)的資源包頭信息;
根據(jù)所述資源包頭信息判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新;
當(dāng)確定所述預(yù)置網(wǎng)絡(luò)資源有更新時(shí),從所述服務(wù)器獲取所述預(yù)置網(wǎng)絡(luò)資源的更新文件。
可選的,所述獲取模塊301在定時(shí)向服務(wù)器發(fā)送對(duì)所述預(yù)置網(wǎng)絡(luò)資源的資源包頭請(qǐng)求時(shí),具體用于定時(shí)向服務(wù)器發(fā)送所述預(yù)置網(wǎng)絡(luò)資源的head請(qǐng)求。
可選的,所述資源包頭信息包括所述預(yù)置網(wǎng)絡(luò)資源的更新時(shí)間和/或更新標(biāo)志位,所述更新標(biāo)志位用于指示所述預(yù)置網(wǎng)絡(luò)資源的更新內(nèi)容;
所述獲取模塊301在根據(jù)所述資源包頭信息判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新時(shí),具體用于根據(jù)所述預(yù)置網(wǎng)絡(luò)資源的更新時(shí)間和/或更新標(biāo)志位判斷所述預(yù)置網(wǎng)絡(luò)資源是否有更新。
本發(fā)明實(shí)施例還提供了另一種終端,如圖4所示,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例方法部分。該終端可以為包括手機(jī)、平板電腦、PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)、POS(Point of Sales,銷(xiāo)售終端)、車(chē)載電腦等任意終端設(shè)備,以終端為手機(jī)為例:
圖4示出的是與本發(fā)明實(shí)施例提供的終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖4,手機(jī)包括:射頻(Radio Frequency,RF)電路1010、存儲(chǔ)器1020、輸入單元1030、顯示單元1040、傳感器1050、音頻電路1060、無(wú)線保真(wireless fidelity,WiFi)模塊1070、處理器1080、以及電源1090等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖4對(duì)手機(jī)的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
RF電路1010可用于收發(fā)信息或通話過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器1080處理;另外,將設(shè)計(jì)上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路1010包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路1010還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無(wú)線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(Global System of Mobile communication,GSM)、通用分組無(wú)線服務(wù)(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access,WCDMA)、長(zhǎng)期演進(jìn)(Long Term Evolution,LTE)、電子郵件、短消息服務(wù)(Short Messaging Service,SMS)等。
存儲(chǔ)器1020可用于存儲(chǔ)軟件程序以及模塊,處理器1080通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器1020的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器1020可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器1020可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
輸入單元1030可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶(hù)設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,輸入單元1030可包括觸控面板1031以及其他輸入設(shè)備1032。觸控面板1031,也稱(chēng)為觸摸屏,可收集用戶(hù)在其上或附近的觸摸操作(比如用戶(hù)使用手指、觸筆等任何適合的物體或附件在觸控面板1031上或在觸控面板1031附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置。可選的,觸控面板1031可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶(hù)的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器1080,并能接收處理器1080發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類(lèi)型實(shí)現(xiàn)觸控面板1031。除了觸控面板1031,輸入單元1030還可以包括其他輸入設(shè)備1032。具體地,其他輸入設(shè)備1032可以包括但不限于物理鍵盤(pán)、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元1040可用于顯示由用戶(hù)輸入的信息或提供給用戶(hù)的信息以及手機(jī)的各種菜單。顯示單元1040可包括顯示面板1041,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機(jī)發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來(lái)配置顯示面板1041。進(jìn)一步的,觸控面板1031可覆蓋顯示面板1041,當(dāng)觸控面板1031檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器1080以確定觸摸事件的類(lèi)型,隨后處理器1080根據(jù)觸摸事件的類(lèi)型在顯示面板1041上提供相應(yīng)的視覺(jué)輸出。雖然在圖4中,觸控面板1031與顯示面板1041是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板1031與顯示面板1041集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
手機(jī)還可包括至少一種傳感器1050,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來(lái)調(diào)節(jié)顯示面板1041的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板1041和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路1060、揚(yáng)聲器1061,傳聲器1062可提供用戶(hù)與手機(jī)之間的音頻接口。音頻電路1060可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器1061,由揚(yáng)聲器1061轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器1062將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路1060接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器1080處理后,經(jīng)RF電路1010以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器1020以便進(jìn)一步處理。
WiFi屬于短距離無(wú)線傳輸技術(shù),手機(jī)通過(guò)WiFi模塊1070可以幫助用戶(hù)收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體等,它為用戶(hù)提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問(wèn)。雖然圖4示出了WiFi模塊1070,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器1080是手機(jī)的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器1020內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器1020內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控。可選的,處理器1080可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器1080可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶(hù)界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器1080中。
手機(jī)還包括給各個(gè)部件供電的電源1090(比如電池),優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器1080邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
在本發(fā)明實(shí)施例中,該終端所包括的處理器1080還具有控制執(zhí)行以上由網(wǎng)絡(luò)資源更新的裝置執(zhí)行的方法流程。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(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盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(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ù)方案的精神和范圍。