緩存更新方法、終端和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了緩存更新方法、終端和系統(tǒng)。緩存更新方法包括:?jiǎn)?dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間,接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求,若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳,判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不需要更新AJAX緩存數(shù)據(jù);否貝IJ,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。本技術(shù)方案只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù),不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),從而以較小代價(jià)保證緩存數(shù)據(jù)的正確性。
【專利說(shuō)明】緩存更新方法、終端和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)頁(yè)開(kāi)發(fā)【技術(shù)領(lǐng)域】,尤其涉及緩存更新方法、終端和系統(tǒng)。
【背景技術(shù)】
[0002] AJAX 是指 Asynchronous JavaScript and XML (異步 JavaScript 和 XML),AJAX 是一種用于創(chuàng)建交互性Web應(yīng)用程序的技術(shù)。通過(guò)AJAX, JavaScript可以使用JavaScript 的XMLHttpRequest對(duì)象直接與服務(wù)器進(jìn)行通信,通過(guò)這個(gè)對(duì)象,JavaScript可以在不重載 頁(yè)面的情況與Web服務(wù)器交換數(shù)據(jù)。
[0003] 現(xiàn)有的標(biāo)準(zhǔn)Http緩存和Html5的本地存儲(chǔ)技術(shù)local Storage,都可以在斷網(wǎng)的情 況下,用來(lái)為離線應(yīng)用提供數(shù)據(jù)。
[0004] 在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題: Html5的本地存儲(chǔ)技術(shù)localStorage不會(huì)自己淘汰和更新緩存數(shù)據(jù),而且存儲(chǔ)空間有限。 標(biāo)準(zhǔn)Http緩存雖然可以通過(guò)設(shè)置緩存超時(shí)時(shí)間來(lái)自動(dòng)淘汰緩存,但是時(shí)間粒度不好控制, 設(shè)置過(guò)大或過(guò)小都不能滿足實(shí)際需要;雖然可以在請(qǐng)求加上If-Modify-Since頭,來(lái)得到 最新數(shù)據(jù),但是每次請(qǐng)求都要進(jìn)行校驗(yàn),需要發(fā)起網(wǎng)絡(luò)連接,導(dǎo)致更新效率低。以上兩種方 案都僅為解決存儲(chǔ)問(wèn)題,不能有效地和后臺(tái)服務(wù)器同步更新數(shù)據(jù),無(wú)法用較小代價(jià)保證緩 存數(shù)據(jù)的正確性。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供緩存更新方法、終端和系統(tǒng),其能夠以較小代價(jià)保證緩存數(shù)據(jù) 的正確性。
[0006] 本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0007] 第一方面,本發(fā)明實(shí)施例提供一種緩存更新方法,包括:
[0008] 啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0009] 接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0010] 若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取AJAX緩存數(shù)據(jù)中的記錄 后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳;
[0011] 判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不需要更新AJAX緩存數(shù)據(jù);否則,向 應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,根據(jù)后臺(tái)服務(wù)器的 返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0012] 第二方面,本發(fā)明實(shí)施例提供一種緩存更新方法,包括:
[0013] 終端啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0014] 終端接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0015] 若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端獲取AJAX緩存數(shù)據(jù)中的 記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳;
[0016] 終端判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不需要更新AJAX緩存數(shù)據(jù);否 貝1J,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求;
[0017] 后臺(tái)服務(wù)器接收AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存數(shù)據(jù),根據(jù)校驗(yàn)結(jié) 果向終端返回?cái)?shù)據(jù);
[0018] 終端根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0019] 第三方面,本發(fā)明實(shí)施例提供一種用于執(zhí)行緩存更新方法的終端,包括:
[0020] 應(yīng)用程序啟動(dòng)單元,用于啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0021] 下載請(qǐng)求接收單元,用于接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0022] 時(shí)間戳獲取單元,用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取 AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳;
[0023] 第一校驗(yàn)請(qǐng)求發(fā)送單元,用于判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不需要 更新AJAX緩存數(shù)據(jù);否則,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校 驗(yàn)請(qǐng)求,
[0024] 第一緩存數(shù)據(jù)更新單元,用于根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0025] 第四方面,本發(fā)明實(shí)施例提供一種用于執(zhí)行緩存更新方法的系統(tǒng),包括終端和后 臺(tái)服務(wù)器,終端包括應(yīng)用程序啟動(dòng)單元、下載請(qǐng)求接收單元、時(shí)間戳獲取單元、第一校驗(yàn)請(qǐng) 求發(fā)送單元、第一緩存數(shù)據(jù)更新單元,后臺(tái)服務(wù)器包括第一數(shù)據(jù)校驗(yàn)單元:
[0026] 應(yīng)用程序啟動(dòng)單元,用于啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0027] 下載請(qǐng)求接收單元,用于接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0028] 時(shí)間戳獲取單元,用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端獲 取AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳;
[0029] 第一校驗(yàn)請(qǐng)求發(fā)送單元,用于終端判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不 需要更新AJAX緩存數(shù)據(jù);否則,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù) 據(jù)校驗(yàn)請(qǐng)求;
[0030] 第一數(shù)據(jù)校驗(yàn)單元,用于接收AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存數(shù) 據(jù),根據(jù)校驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù);
[0031] 第一緩存數(shù)據(jù)更新單元,用于根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0032] 本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果:
[0033] 在接收Web應(yīng)用程序的應(yīng)用請(qǐng)求時(shí),若本地存儲(chǔ)有應(yīng)用請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù) 據(jù),獲取AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳,判斷Web應(yīng)用程序的啟動(dòng) 時(shí)間是否小于等于時(shí)間戳,如果是,說(shuō)明該AJAX緩存數(shù)據(jù)是在Web應(yīng)用程序啟動(dòng)后下載的 緩存數(shù)據(jù),不需要更新AJAX緩存數(shù)據(jù),否則,說(shuō)明該AJAX緩存數(shù)據(jù)是在Web應(yīng)用程序啟動(dòng) 前下載的緩存數(shù)據(jù),需要進(jìn)行校驗(yàn),向應(yīng)用請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)校驗(yàn)請(qǐng)求,根據(jù) 后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù);本發(fā)明實(shí)施例只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載 的緩存數(shù)據(jù),對(duì)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù)進(jìn)行更新,不校驗(yàn)Web應(yīng)用程序啟動(dòng)后 下載的緩存數(shù)據(jù),不需要更新Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),從而有效地和后臺(tái)服 務(wù)器同步更新數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性,提升設(shè)備的數(shù)據(jù)處理性能。
【專利附圖】
【附圖說(shuō)明】
[0034] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例描述中所 需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施 例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)本發(fā)明實(shí)施 例的內(nèi)容和這些附圖獲得其他的附圖。
[0035] 圖1是本發(fā)明實(shí)施例的緩存更新方法的第一個(gè)實(shí)施例的方法流程圖。
[0036] 圖2是本發(fā)明實(shí)施例的緩存更新方法的第二個(gè)實(shí)施例的方法流程圖。
[0037] 圖3是本發(fā)明實(shí)施例的緩存更新方法的第三個(gè)實(shí)施例的方法流程圖。
[0038] 圖4是本發(fā)明實(shí)施例的緩存更新方法的第四個(gè)實(shí)施例的方法流程圖。
[0039] 圖5是本發(fā)明實(shí)施例的緩存更新方法的第五個(gè)實(shí)施例的方法流程圖。
[0040] 圖6是本發(fā)明實(shí)施例的緩存更新方法的第六個(gè)實(shí)施例的流程示意圖。
[0041] 圖7是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的終端第一實(shí)施例的結(jié)構(gòu)方框圖。
[0042] 圖8是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的終端第二實(shí)施例的結(jié)構(gòu)方框圖。
[0043] 圖9是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的系統(tǒng)第一實(shí)施例的結(jié)構(gòu)方框圖。
[0044] 圖10是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的系統(tǒng)第二實(shí)施例的結(jié)構(gòu)方框 圖。
【具體實(shí)施方式】
[0045] 為使本發(fā)明解決的技術(shù)問(wèn)題、采用的技術(shù)方案和達(dá)到的技術(shù)效果更加清楚,下面 將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述,顯然,所描述的實(shí)施例僅僅 是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在 沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046] 請(qǐng)參考圖1,其是本發(fā)明實(shí)施例的緩存更新方法的第一個(gè)實(shí)施例的方法流程圖。 本實(shí)施例主要應(yīng)用于能夠運(yùn)行Web應(yīng)用程序的終端,包括智能手機(jī)、電子書(shū)閱讀器、MP3 (Moving Picture Experts Group Audio Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3) 播放器、MP4 (Moving Picture Experts Group Audio Layer IV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音 頻層面4)播放器、個(gè)人電腦、筆記本電腦、平板電腦等。該方法包括:
[0047] S101、啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間。
[0048] Web應(yīng)用程序泛指基于B/S架構(gòu)的應(yīng)用程序,Web應(yīng)用程序與Web服務(wù)器進(jìn)行數(shù)據(jù) 交互,Web應(yīng)用程序可以為瀏覽器、支持后臺(tái)下載的電子圖書(shū)閱讀器等。
[0049] S102、接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求。
[0050] 終端根據(jù)用戶的指令,或Web應(yīng)用程序默認(rèn)的指令,接收Web應(yīng)用程序發(fā)出的應(yīng)用 下載請(qǐng)求。比如,瀏覽器發(fā)出下載網(wǎng)頁(yè)內(nèi)容請(qǐng)求,電子圖書(shū)閱讀器發(fā)出下載圖書(shū)章節(jié)請(qǐng)求。
[0051] S103、若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取該AJAX緩存數(shù)據(jù)中 的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳。
[0052] 接收到應(yīng)用下載請(qǐng)求后,判斷本地緩存空間存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩 存數(shù)據(jù)時(shí),則獲取該AJAX緩存數(shù)據(jù)的時(shí)間戳。本發(fā)明實(shí)施例的后臺(tái)服務(wù)器,指能夠響應(yīng)Web 應(yīng)用的Web服務(wù)器;后臺(tái)服務(wù)器下發(fā)數(shù)據(jù)時(shí),會(huì)產(chǎn)生一個(gè)時(shí)間屬性,該時(shí)間屬性可以作為 AJAX緩存數(shù)據(jù)的時(shí)間戳。
[0053] 本發(fā)明實(shí)施例的AJAX緩存數(shù)據(jù)優(yōu)選為JS0N格式或XML格式,這兩種格式可以支 持復(fù)雜的對(duì)象化存儲(chǔ);當(dāng)然,還可以為其它格式。
[0054] S104、判斷Web應(yīng)用程序的啟動(dòng)時(shí)間是否小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,如果 是,繼續(xù)步驟S105,否則,繼續(xù)步驟S106。
[0055] S105、不需要更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,可以直接將該AJAX緩存數(shù) 據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0056] Web應(yīng)用程序的啟動(dòng)時(shí)間小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX緩存數(shù)據(jù)是 打開(kāi)Web應(yīng)用程序后才下載的緩存數(shù)據(jù),相當(dāng)于在線實(shí)時(shí)請(qǐng)求的數(shù)據(jù),故認(rèn)為是有效的,不 需要校驗(yàn),不需要更新,可以直接響應(yīng)給應(yīng)用下載請(qǐng)求。
[0057] 需要說(shuō)明的是,本發(fā)明實(shí)施例提供的是緩存更新方法,如不需要更新AJAX緩存數(shù) 據(jù),則該方法結(jié)束,后續(xù)使用該AJAX緩存數(shù)據(jù)響應(yīng)給Web應(yīng)用程序的應(yīng)用下載請(qǐng)求是該方 法的延伸,本領(lǐng)域普通技術(shù)人員可根據(jù)現(xiàn)有技術(shù)理解緩存數(shù)據(jù)響應(yīng)應(yīng)用下載請(qǐng)求的過(guò)程, 在此不再進(jìn)行贅述。
[0058] S106、向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0059] Web應(yīng)用程序的啟動(dòng)時(shí)間大于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX緩存數(shù)據(jù)是打開(kāi) Web應(yīng)用程序前下載的緩存數(shù)據(jù),屬于上一次啟動(dòng)Web應(yīng)用程序緩存的數(shù)據(jù),故需要校驗(yàn)。
[0060] S107、根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0061] 后臺(tái)服務(wù)器根據(jù)數(shù)據(jù)校驗(yàn)請(qǐng)求對(duì)AJAX緩存數(shù)據(jù)進(jìn)行校驗(yàn)并向終端返回?cái)?shù)據(jù),終 端根據(jù)返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,可以將更新的AJAX緩存數(shù)據(jù)響 應(yīng)給應(yīng)用下載請(qǐng)求。
[0062] 本發(fā)明實(shí)施例采用AJAX緩存,具有如下特點(diǎn):第一,AJAX緩存數(shù)據(jù)存放在本地磁 盤(pán),理論上存儲(chǔ)空間是無(wú)限大的。第二,AJAX緩存數(shù)據(jù)的讀取是標(biāo)準(zhǔn)的Http流程,不需要額 外的緩存讀取邏輯。第三,AJAX緩存數(shù)據(jù)的格式多樣,比如可以用JS0N格式或XML格式, 能夠支持復(fù)雜的對(duì)象化的存儲(chǔ)。
[0063] 綜上,本發(fā)明實(shí)施例的緩存更新方法,只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù) 據(jù),對(duì)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù)進(jìn)行更新,不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩 存數(shù)據(jù),不需要更新Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),從而有效地和后臺(tái)服務(wù)器同步 更新數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性,提升設(shè)備的數(shù)據(jù)處理性能。終端的網(wǎng)絡(luò)在線 時(shí),可以預(yù)先加載并緩存數(shù)據(jù)到本地磁盤(pán),當(dāng)環(huán)境等原因?qū)е戮W(wǎng)絡(luò)斷開(kāi)或弱網(wǎng)絡(luò)時(shí),Web應(yīng) 用程序依然可以通過(guò)讀取本地的緩存數(shù)據(jù),給用戶提供在線應(yīng)用的體驗(yàn);比如,網(wǎng)絡(luò)在線時(shí) 電子圖書(shū)閱讀器已經(jīng)下載了圖書(shū)章節(jié),網(wǎng)絡(luò)斷開(kāi)時(shí),只要電子圖書(shū)閱讀器沒(méi)有關(guān)閉,本方案 并不會(huì)校驗(yàn)緩存數(shù)據(jù),電子圖書(shū)閱讀器仍能提供類似流暢的在線閱讀圖書(shū)章節(jié)的體驗(yàn)。本 方案能減少網(wǎng)絡(luò)不穩(wěn)定因素帶給用戶的體驗(yàn)影響,同時(shí)對(duì)用戶做到透明。
[0064] 請(qǐng)參考圖2,其是本發(fā)明實(shí)施例的緩存更新方法的第二個(gè)實(shí)施例的方法流程圖。 本實(shí)施例與上述方法第一個(gè)實(shí)施例相比,增加了向后臺(tái)服務(wù)器下載數(shù)據(jù)等內(nèi)容。該方法包 括:
[0065] S201、啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間。
[0066] S202、向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器的返 回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù)。其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和 內(nèi)容校驗(yàn)值。時(shí)間戳和內(nèi)容校驗(yàn)值為返回?cái)?shù)據(jù)的兩個(gè)屬性,即AJAX緩存數(shù)據(jù)包含這兩個(gè)屬 性。
[0067] 本步驟為預(yù)先從后臺(tái)服務(wù)器下載數(shù)據(jù),預(yù)下載數(shù)據(jù)的時(shí)機(jī)和數(shù)量可以由Web應(yīng)用 程序規(guī)定,也可以由用戶設(shè)定。比如,當(dāng)電子圖書(shū)閱讀器打開(kāi)某章節(jié)的第一頁(yè)時(shí),電子圖書(shū) 閱讀器可以發(fā)出預(yù)先下載該章節(jié)的全部頁(yè)面內(nèi)容請(qǐng)求。本步驟可以預(yù)先下載Web應(yīng)用程序 的若干個(gè)應(yīng)用下載請(qǐng)求的內(nèi)容,一個(gè)應(yīng)用下載請(qǐng)求一般只對(duì)應(yīng)一個(gè)后臺(tái)服務(wù)器,而一個(gè)Web 應(yīng)用程序可以包含若干個(gè)應(yīng)用下載請(qǐng)求,一個(gè)Web應(yīng)用程序可以對(duì)應(yīng)若干個(gè)后臺(tái)服務(wù)器。
[0068] 需要說(shuō)明的是,在具體實(shí)施本技術(shù)方案時(shí),本步驟S202和以下步驟S203是沒(méi)有先 后順序關(guān)系的。步驟S203至步驟S212為接收到應(yīng)用下載請(qǐng)求后,終端響應(yīng)該應(yīng)用下載請(qǐng) 求時(shí)的更新AJAX緩存數(shù)據(jù)的流程;而步驟S202只是啟動(dòng)Web應(yīng)用程序后,預(yù)先下載數(shù)據(jù)的 步驟,該步驟可以出現(xiàn)在啟動(dòng)Web應(yīng)用程序后的任意時(shí)刻。
[0069] S203、接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求。
[0070] S204、判斷本地是否存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),如果是,繼續(xù)步 驟S206,否則,繼續(xù)步驟S205。
[0071] S205、若本地沒(méi)有存儲(chǔ)應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng) 的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù)。其中, 該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。緩存更新流程結(jié)束,可 以將該AJAX緩存數(shù)據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0072] S206、若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取該AJAX緩存數(shù)據(jù)中 的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳。
[0073] S207、判斷Web應(yīng)用程序的啟動(dòng)時(shí)間是否小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,如果 是,繼續(xù)步驟S208,否則,繼續(xù)步驟S209。
[0074] S208、不需要更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,可以直接將該AJAX緩存數(shù) 據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0075] Web應(yīng)用程序的啟動(dòng)時(shí)間小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX緩存數(shù)據(jù)是 打開(kāi)Web應(yīng)用程序后才下載的緩存數(shù)據(jù),相當(dāng)于在線實(shí)時(shí)請(qǐng)求的數(shù)據(jù),故認(rèn)為是有效的,不 需要校驗(yàn),可以直接響應(yīng)給應(yīng)用下載請(qǐng)求。
[0076] S209、獲取AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值,獲取隨機(jī)數(shù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的 后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0077] Web應(yīng)用程序的啟動(dòng)時(shí)間大于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX緩存數(shù)據(jù)是打開(kāi) Web應(yīng)用程序前下載的緩存數(shù)據(jù),屬于上一次緩存的數(shù)據(jù),故需要校驗(yàn)。
[0078] 本發(fā)明實(shí)施例中,定義了數(shù)據(jù)校驗(yàn)協(xié)議,包括終端的數(shù)據(jù)校驗(yàn)請(qǐng)求和后臺(tái)服務(wù)器 的響應(yīng)。數(shù)據(jù)校驗(yàn)請(qǐng)求格式如下:url: http://host/path?md5=x&t=y。md5為內(nèi)容校驗(yàn)值, y為隨機(jī)數(shù),隨機(jī)數(shù)的作用是避免從緩存里讀數(shù)據(jù)。內(nèi)容校驗(yàn)值是用來(lái)和后臺(tái)數(shù)據(jù)做比較 的。響應(yīng)格式如下:{md5:xxxxx, t:Tg, content:Content},md5為內(nèi)容校驗(yàn)值,Tg為記錄后 臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳,Content為下發(fā)內(nèi)容;當(dāng)后臺(tái)數(shù)據(jù)與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校 驗(yàn)值相同時(shí),說(shuō)明AJAX緩存數(shù)據(jù)與后臺(tái)數(shù)據(jù)相同,后臺(tái)服務(wù)器響應(yīng)沒(méi)有實(shí)體內(nèi)容的返回?cái)?shù) 據(jù),Content為空。
[0079] S210、判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值 是否相同,如果是,繼續(xù)步驟S211,否則,繼續(xù)步驟S212。
[0080] S211、不需要更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,將該AJAX緩存數(shù)據(jù)響應(yīng)給 應(yīng)用下載請(qǐng)求。
[0081 ] 終端接收到的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值相同,說(shuō)明 AJAX緩存數(shù)據(jù)與后臺(tái)服務(wù)器的后臺(tái)數(shù)據(jù)相同,故不需要更新,前端JavaScript可以直接拋 棄該返回?cái)?shù)據(jù)。
[0082] S212、用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,將替換后的AJAX緩存 數(shù)據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0083] 終端接收到的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值不相同,說(shuō) 明AJAX緩存數(shù)據(jù)與后臺(tái)服務(wù)器的后臺(tái)數(shù)據(jù)不相同,故用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù),對(duì)緩 存數(shù)據(jù)進(jìn)行更新。
[0084] 綜上,本發(fā)明實(shí)施例的緩存更新方法,啟動(dòng)Web應(yīng)用程序后會(huì)進(jìn)行預(yù)先下載數(shù)據(jù)。 當(dāng)接收到Web應(yīng)用程序的應(yīng)用下載請(qǐng)求時(shí),判斷預(yù)先下載數(shù)據(jù)和前一次啟動(dòng)Web應(yīng)用程序 下載的緩存數(shù)據(jù)中,是否有與該應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),如果沒(méi)有,則到后臺(tái) 服務(wù)器進(jìn)行下載;如果有,則通過(guò)時(shí)間戳判斷該AJAX緩存數(shù)據(jù)是在啟動(dòng)Web應(yīng)用程序前下 載的,還是啟動(dòng)Web應(yīng)用程序后下載的,如果是啟動(dòng)Web應(yīng)用程序后下載的,則無(wú)需更新該 AJAX緩存數(shù)據(jù),如果是啟動(dòng)Web應(yīng)用程序前下載的,則校驗(yàn)該AJAX緩存數(shù)據(jù)是否與后臺(tái)服 務(wù)器的后臺(tái)數(shù)據(jù)一致,如果是,則無(wú)需更新該AJAX緩存數(shù)據(jù),否則,使用后臺(tái)服務(wù)器的返回 數(shù)據(jù)替換AJAX緩存數(shù)據(jù)。本發(fā)明實(shí)施例能夠有效地和后臺(tái)服務(wù)器同步更新數(shù)據(jù),以較小代 價(jià)保證緩存數(shù)據(jù)的正確性。
[0085] 請(qǐng)參考圖3,其是本發(fā)明實(shí)施例的緩存更新方法的第三個(gè)實(shí)施例的方法流程圖。本 實(shí)施例與上述方法第二個(gè)實(shí)施例相比,增加了強(qiáng)制校驗(yàn)等內(nèi)容。該方法包括 :
[0086] S301、啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間。
[0087] S302、向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器的返 回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù)。
[0088] 本步驟為預(yù)先從后臺(tái)服務(wù)器下載數(shù)據(jù),預(yù)下載數(shù)據(jù)的時(shí)機(jī)和數(shù)量可以由Web應(yīng)用 程序規(guī)定,也可以由用戶設(shè)定。
[0089] S303、接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求。
[0090] S304、判斷本地是否存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),如果是,繼續(xù)步 驟S306,否則,繼續(xù)步驟S305。
[0091] S305、若本地沒(méi)有存儲(chǔ)應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng) 的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù)。緩存更 新流程結(jié)束,可以將該AJAX緩存數(shù)據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0092] S306、若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取AJAX緩存數(shù)據(jù)中的 記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳。
[0093] S307、判斷Web應(yīng)用程序的啟動(dòng)時(shí)間是否小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,如果 是,繼續(xù)步驟S308,否則,繼續(xù)步驟S309。
[0094] S308、不需要更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,可以直接將該AJAX緩存數(shù) 據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0095] S309、獲取AJAX緩存數(shù)據(jù)的內(nèi)容校驗(yàn)值,獲取隨機(jī)數(shù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后 臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0096] S310、判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值 是否相同,如果是,繼續(xù)步驟S311,否則,繼續(xù)步驟S312。
[0097] S311、不需要更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,可以直接將該AJAX緩存數(shù) 據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0098] S312、用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,將替換后的AJAX緩存 數(shù)據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0099] 需要說(shuō)明的是,在具體實(shí)施本技術(shù)方案時(shí),以上的步驟S302、步驟S303,以及以下 的步驟S313,這3個(gè)步驟是沒(méi)有先后順序關(guān)系的。步驟S303至步驟S312為接收到應(yīng)用下載 請(qǐng)求后,終端響應(yīng)該應(yīng)用下載請(qǐng)求時(shí)的更新AJAX緩存數(shù)據(jù)的流程。步驟S302只是啟動(dòng)Web 應(yīng)用程序后,預(yù)先下載數(shù)據(jù)的步驟,該步驟可以出現(xiàn)在啟動(dòng)Web應(yīng)用程序后的任意時(shí)刻。步 驟S313至步驟S317為強(qiáng)制校驗(yàn)流程,該強(qiáng)制校驗(yàn)流程可以出現(xiàn)在Web應(yīng)用程序啟動(dòng)后,馬 上對(duì)上一次啟動(dòng)Web應(yīng)用程序下載的AJAX緩存數(shù)據(jù)進(jìn)行校驗(yàn),也可以是Web應(yīng)用程序啟動(dòng) 后,周期性地對(duì)緩存數(shù)據(jù)進(jìn)行校驗(yàn),還可以是用戶發(fā)出強(qiáng)制校驗(yàn)的指令對(duì)AJAX緩存數(shù)據(jù)進(jìn) 行校驗(yàn);比如,用戶可以通過(guò)刷新瀏覽器的網(wǎng)頁(yè)的動(dòng)作啟動(dòng)步驟S313至步驟S317的強(qiáng)制校 驗(yàn)流程。
[0100] S313、接收Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求。
[0101] 終端根據(jù)用戶的指令,或Web應(yīng)用程序默認(rèn)的指令,接收Web應(yīng)用程序發(fā)出的強(qiáng)制 校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求。強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求中,可以對(duì)Web應(yīng)用程序的多個(gè)應(yīng) 用下載請(qǐng)求的AJAX緩存數(shù)據(jù)依次進(jìn)行校驗(yàn),也可以對(duì)Web應(yīng)用程序的其中一個(gè)應(yīng)用下載請(qǐng) 求的AJAX緩存數(shù)據(jù)進(jìn)行校驗(yàn),通過(guò)強(qiáng)制校驗(yàn)保證Web應(yīng)用程序的AJAX緩存數(shù)據(jù)的正確性。
[0102] S314、獲取AJAX緩存數(shù)據(jù)的內(nèi)容校驗(yàn)值,獲取隨機(jī)數(shù),向Web應(yīng)用程序?qū)?yīng)的后臺(tái) 服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。步驟S314與S309的數(shù)據(jù)校驗(yàn)請(qǐng) 求的格式可以相同。
[0103] S315、判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與該數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn) 值是否相同,如果是,繼續(xù)步驟S316,否則,繼續(xù)步驟S317。
[0104] S316、不需要更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束。
[0105] S317、用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束。
[0106] 綜上,本發(fā)明實(shí)施例的緩存更新方法,結(jié)合了具體應(yīng)用下載請(qǐng)求的AJAX緩存數(shù)據(jù) 更新流程和強(qiáng)制校驗(yàn)流程,強(qiáng)制校驗(yàn)流程可提供錯(cuò)誤更新機(jī)制,對(duì)后臺(tái)數(shù)據(jù)變化頻繁的Web 應(yīng)用,強(qiáng)制校驗(yàn)流程能夠有效保證AJAX緩存數(shù)據(jù)與后臺(tái)數(shù)據(jù)的一致性;具體應(yīng)用下載請(qǐng)求 的AJAX緩存數(shù)據(jù)更新流程只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù),不校驗(yàn)Web應(yīng)用程 序啟動(dòng)后下載的緩存數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性。
[0107] 請(qǐng)參考圖4,其是本發(fā)明實(shí)施例的緩存更新方法的第四個(gè)實(shí)施例的方法流程圖。本 實(shí)施例主要應(yīng)用于能夠運(yùn)行Web應(yīng)用程序的終端和Web后臺(tái)服務(wù)器組成的系統(tǒng)。本實(shí)施例 與上述方法第一個(gè)實(shí)施例相比,主要增加了后臺(tái)服務(wù)器在終端緩存更新過(guò)程中處理數(shù)據(jù)等 內(nèi)容。該方法包括:
[0108] S401、終端啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間。
[0109] S402、終端接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求。
[0110] 終端根據(jù)用戶的指令,或Web應(yīng)用程序默認(rèn)的指令,接收Web應(yīng)用程序發(fā)出的應(yīng)用 下載請(qǐng)求。
[0111] S403、若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端獲取AJAX緩存數(shù)據(jù) 中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳。
[0112] 后臺(tái)服務(wù)器下發(fā)數(shù)據(jù)時(shí),會(huì)產(chǎn)生一個(gè)時(shí)間屬性,該時(shí)間屬性可以作為AJAX緩存數(shù) 據(jù)的時(shí)間戳。終端判斷本地緩存區(qū)存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù)時(shí),則獲取 AJAX緩存數(shù)據(jù)的時(shí)間戳。
[0113] 本發(fā)明實(shí)施例的AJAX緩存數(shù)據(jù)優(yōu)選為JS0N格式或XML格式,這兩種格式可以支 持復(fù)雜的對(duì)象化存儲(chǔ);當(dāng)然,還可以為其它格式。
[0114] S404、終端判斷Web應(yīng)用程序的啟動(dòng)時(shí)間是否小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳, 如果是,繼續(xù)步驟S405,否則,繼續(xù)步驟S406。
[0115] S405、不需要更新AJAX緩存數(shù)據(jù)。緩存更新流程結(jié)束,可以直接將該AJAX緩存數(shù) 據(jù)響應(yīng)給應(yīng)用下載請(qǐng)求。
[0116] Web應(yīng)用程序的啟動(dòng)時(shí)間小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX緩存數(shù)據(jù)是 打開(kāi)Web應(yīng)用程序后才下載的緩存數(shù)據(jù),故認(rèn)為是有效的,不需要校驗(yàn)和更新。
[0117] S406、終端向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng) 求。
[0118] Web應(yīng)用程序的啟動(dòng)時(shí)間大于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX緩存數(shù)據(jù)是打開(kāi) Web應(yīng)用程序前下載的緩存數(shù)據(jù),屬于上一次啟動(dòng)Web應(yīng)用程序緩存的數(shù)據(jù),故需要校驗(yàn)。
[0119] S407、后臺(tái)服務(wù)器接收終端發(fā)送的AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存 數(shù)據(jù),根據(jù)校驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù)。
[0120] 后臺(tái)服務(wù)器比較AJAX緩存數(shù)據(jù)與后臺(tái)數(shù)據(jù)是否相同,校驗(yàn)AJAX緩存數(shù)據(jù)的正確 性,根據(jù)該校驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù)。
[0121] S408、終端根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0122] 后臺(tái)服務(wù)器對(duì)AJAX緩存數(shù)據(jù)校驗(yàn)后向終端返回?cái)?shù)據(jù),終端根據(jù)返回?cái)?shù)據(jù)更新 AJAX緩存數(shù)據(jù),然后再響應(yīng)應(yīng)用下載請(qǐng)求。
[0123] 綜上,本發(fā)明實(shí)施例的緩存更新方法,終端只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩 存數(shù)據(jù),后臺(tái)服務(wù)器校驗(yàn)該緩存數(shù)據(jù),對(duì)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù)進(jìn)行更新,終 端不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),不需要更新Web應(yīng)用程序啟動(dòng)后下載的緩 存數(shù)據(jù),從而有效地和后臺(tái)服務(wù)器同步更新數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性。
[0124] 請(qǐng)參考圖5,其是本發(fā)明實(shí)施例的緩存更新方法的第五個(gè)實(shí)施例的方法流程圖。本 實(shí)施例主要應(yīng)用于能夠運(yùn)行Web應(yīng)用程序的終端和Web后臺(tái)服務(wù)器組成的系統(tǒng)。本實(shí)施例 與上述方法第二個(gè)實(shí)施例相比,主要增加了后臺(tái)服務(wù)器在終端緩存更新過(guò)程中和終端下載 數(shù)據(jù)過(guò)程中處理數(shù)據(jù)等內(nèi)容。該方法包括:
[0125] S501、終端啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間。
[0126] S502、終端向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求。
[0127] S503、后臺(tái)服務(wù)器向終端返回對(duì)應(yīng)數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù)。
[0128] S504、終端把步驟S503中后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù)。該返回 數(shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。時(shí)間戳和內(nèi)容校驗(yàn)值為返回?cái)?shù) 據(jù)的兩個(gè)屬性。
[0129] 步驟S502至步驟S504屬于預(yù)先下載數(shù)據(jù)的流程,可以是由Web應(yīng)用程序規(guī)定,也 可以由用戶設(shè)定。
[0130] 需要說(shuō)明的是,在具體實(shí)施本技術(shù)方案時(shí),本步驟S502和以下步驟S505是沒(méi)有先 后順序關(guān)系的。步驟S505至步驟S512為終端接收到應(yīng)用下載請(qǐng)求后,對(duì)應(yīng)該應(yīng)用下載請(qǐng)求 進(jìn)行AJAX緩存數(shù)據(jù)更新的流程;而步驟S502至步驟S504屬于終端啟動(dòng)Web應(yīng)用程序后, 預(yù)先下載數(shù)據(jù)的流程,該流程可以出現(xiàn)在啟動(dòng)Web應(yīng)用程序后的任意時(shí)刻。
[0131] S505、終端接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求。
[0132] S506、判斷本地是否存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),如果是,繼續(xù)步 驟S510,否則,繼續(xù)步驟S507。
[0133] S507、若本地沒(méi)有存儲(chǔ)應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端向應(yīng)用下載請(qǐng)求 對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求。
[0134] S508、后臺(tái)服務(wù)器向終端返回對(duì)應(yīng)數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù)。
[0135] S509、終端把后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù)。該返回?cái)?shù)據(jù)包含記錄 后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
[0136] S510、若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取AJAX緩存數(shù)據(jù)中的 記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳。
[0137] S511、判斷Web應(yīng)用程序的啟動(dòng)時(shí)間是否小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,如果 是,繼續(xù)步驟S512,否則,繼續(xù)步驟S513。
[0138] S512、不需要更新AJAX緩存數(shù)據(jù)。
[0139] 判斷Web應(yīng)用程序的啟動(dòng)時(shí)間是否小于等于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX 緩存數(shù)據(jù)是打開(kāi)Web應(yīng)用程序后才下載的緩存數(shù)據(jù),故認(rèn)為是有效的,不需要校驗(yàn)。
[0140] S513、獲取AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值,獲取隨機(jī)數(shù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的 后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0141] Web應(yīng)用程序的啟動(dòng)時(shí)間大于AJAX緩存數(shù)據(jù)的時(shí)間戳,說(shuō)明AJAX緩存數(shù)據(jù)是打開(kāi) Web應(yīng)用程序前下載的緩存數(shù)據(jù),屬于上一次啟動(dòng)Web應(yīng)用程序緩存的數(shù)據(jù),故需要校驗(yàn)。
[0142] S514、后臺(tái)服務(wù)器接收AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存數(shù)據(jù),根據(jù) 校驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù)。
[0143] 本發(fā)明實(shí)施例中,后臺(tái)服務(wù)器接收AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校 驗(yàn)請(qǐng)求,判斷該數(shù)據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn)請(qǐng)求中的內(nèi)容校驗(yàn) 值是否相同,如果是,校驗(yàn)出AJAX緩存數(shù)據(jù)正確,向終端返回包含內(nèi)容校驗(yàn)值的數(shù)據(jù);否 貝1J,校驗(yàn)出AJAX緩存數(shù)據(jù)不正確,向終端返回包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳、后 臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)值、該后臺(tái)數(shù)據(jù)的數(shù)據(jù)。
[0144] S515、終端判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校 驗(yàn)值是否相同,如果是,繼續(xù)步驟S516,否則,繼續(xù)步驟S517。
[0145] S516、不需要更新AJAX緩存數(shù)據(jù)。
[0146] 終端接收到的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值相同,說(shuō)明 AJAX緩存數(shù)據(jù)與后臺(tái)服務(wù)器的后臺(tái)數(shù)據(jù)相同,故不需要更新,前端JavaScript可以直接拋 棄該返回?cái)?shù)據(jù)。
[0147] S517、用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。
[0148] 終端接收到的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值不相同,說(shuō) 明AJAX緩存數(shù)據(jù)與后臺(tái)服務(wù)器的后臺(tái)數(shù)據(jù)不相同,故用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù),對(duì)緩 存數(shù)據(jù)進(jìn)行更新。
[0149] 綜上,本發(fā)明實(shí)施例的緩存更新方法,終端啟動(dòng)Web應(yīng)用程序后會(huì)進(jìn)行預(yù)先從后 臺(tái)服務(wù)器下載數(shù)據(jù),當(dāng)接收到Web應(yīng)用程序的應(yīng)用下載請(qǐng)求時(shí),判斷該預(yù)先下載數(shù)據(jù)和前 一次啟動(dòng)Web應(yīng)用程序下載的緩存數(shù)據(jù)中是否有該應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),如 果沒(méi)有,則到后臺(tái)服務(wù)器進(jìn)行下載,如果有,只校驗(yàn)在終端的Web應(yīng)用程序啟動(dòng)前下載的緩 存數(shù)據(jù),不校驗(yàn)在Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),后臺(tái)服務(wù)器對(duì)該緩存數(shù)據(jù)進(jìn)行校 驗(yàn),以更新終端的AJAX緩存數(shù)據(jù)。本發(fā)明實(shí)施例終端能夠有效地和后臺(tái)服務(wù)器同步更新緩 存數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性。
[0150] 請(qǐng)參考圖6,其是本發(fā)明實(shí)施例的緩存更新方法的第六個(gè)實(shí)施例的流程示意圖。本 實(shí)施例主要應(yīng)用于能夠運(yùn)行Web應(yīng)用程序的終端和Web后臺(tái)服務(wù)器組成的系統(tǒng)。本實(shí)施例 主要從強(qiáng)制校驗(yàn)流程和AJAX緩存數(shù)據(jù)更新流程說(shuō)明終端和后臺(tái)服務(wù)器的數(shù)據(jù)交互,與上 述方法第三個(gè)實(shí)施例相比,主要增加了后臺(tái)服務(wù)器在終端下載數(shù)據(jù)過(guò)程中和緩存強(qiáng)制校驗(yàn) 過(guò)程中處理數(shù)據(jù)等內(nèi)容。
[0151] 該方法結(jié)合了強(qiáng)制校驗(yàn)流程和具體應(yīng)用下載請(qǐng)求的AJAX緩存數(shù)據(jù)更新流程,啟 動(dòng)Web應(yīng)用程序后,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間,終端根據(jù)應(yīng)用情況分別進(jìn)入下面兩個(gè)流 程。
[0152] A、當(dāng)終端打開(kāi)應(yīng)用程序要求強(qiáng)制校驗(yàn)或刷新應(yīng)用時(shí),進(jìn)入強(qiáng)制校驗(yàn)流程,包括:
[0153] A1、接收Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求。
[0154] A2、獲取AJAX緩存數(shù)據(jù)的內(nèi)容校驗(yàn)值,獲取隨機(jī)數(shù),向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服 務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0155] A3、后臺(tái)服務(wù)器接收AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存數(shù)據(jù),根據(jù)校 驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù)。
[0156] 后臺(tái)服務(wù)器接收AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求,判斷該數(shù) 據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn)請(qǐng)求中的內(nèi)容校驗(yàn)值是否相同,如果 是,校驗(yàn)出AJAX緩存數(shù)據(jù)正確,向終端返回包含內(nèi)容校驗(yàn)值的數(shù)據(jù);否則,校驗(yàn)出AJAX緩存 數(shù)據(jù)不正確,向終端返回包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳、后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)值、 該后臺(tái)數(shù)據(jù)的數(shù)據(jù)。
[0157] A4、終端根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0158] 具體的,終端判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與該數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi) 容校驗(yàn)值是否相同,如果是,不需要更新AJAX緩存數(shù)據(jù),否則,用返回?cái)?shù)據(jù)替換AJAX緩存數(shù) 據(jù)。
[0159] B、當(dāng)終端接收到應(yīng)用下載請(qǐng)求時(shí),進(jìn)入AJAX緩存數(shù)據(jù)更新流程,包括:
[0160] B1、終端接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求,通過(guò)查詢緩存判斷本地是否存儲(chǔ)有 對(duì)應(yīng)的AJAX緩存數(shù)據(jù)。
[0161] B2、若本地沒(méi)有存儲(chǔ)應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端向應(yīng)用下載請(qǐng)求對(duì) 應(yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,繼續(xù)步驟B3、B4。
[0162] B3、后臺(tái)服務(wù)器向終端返回對(duì)應(yīng)應(yīng)用下載請(qǐng)求的數(shù)據(jù)。
[0163] B4、把后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù)。
[0164] B5、若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),且啟動(dòng)時(shí)間小于等于AJAX 緩存數(shù)據(jù)的時(shí)間戳,不需要更新AJAX緩存數(shù)據(jù),向前端展示該AJAX緩存數(shù)據(jù)。
[0165] B6、若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),且啟動(dòng)時(shí)間大于AJAX緩存 數(shù)據(jù)的時(shí)間戳,終端向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含內(nèi)容校 驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,繼續(xù)步驟B7、B8。
[0166] B7、后臺(tái)服務(wù)器接收AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存數(shù)據(jù),根據(jù)校 驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù)。
[0167] B8、終端判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn) 值是否相同,如果是,不需要更新AJAX緩存數(shù)據(jù),否則,用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。
[0168] 綜上,本發(fā)明實(shí)施例的緩存更新方法,結(jié)合具體應(yīng)用下載請(qǐng)求的AJAX緩存數(shù)據(jù)更 新流程和強(qiáng)制校驗(yàn)流程,終端與后臺(tái)服務(wù)器進(jìn)行數(shù)據(jù)交互,強(qiáng)制校驗(yàn)流程可提供錯(cuò)誤更新 機(jī)制,對(duì)后臺(tái)數(shù)據(jù)變化頻繁的Web應(yīng)用,強(qiáng)制校驗(yàn)流程能夠有效保證AJAX緩存數(shù)據(jù)與后臺(tái) 數(shù)據(jù)的一致性;具體應(yīng)用下載請(qǐng)求的AJAX緩存數(shù)據(jù)更新流程只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下 載的緩存數(shù)據(jù),不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的 正確性。
[0169] 以下為本發(fā)明實(shí)施例的裝置實(shí)施例和系統(tǒng)實(shí)施例,本發(fā)明的方法實(shí)施例、裝置實(shí) 施例、系統(tǒng)實(shí)施例屬于同一構(gòu)思,在裝置實(shí)施例、系統(tǒng)實(shí)施例中未詳盡描述的細(xì)節(jié)內(nèi)容,可 以參考上述方法實(shí)施例。
[0170] 請(qǐng)參考圖7,其是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的終端第一實(shí)施例的結(jié) 構(gòu)方框圖。該終端包括:
[0171] 應(yīng)用程序啟動(dòng)單元701,用于啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0172] 下載請(qǐng)求接收單元702,用于接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0173] 時(shí)間戳獲取單元703,用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲 取AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳;
[0174] 第一校驗(yàn)請(qǐng)求發(fā)送單元704,用于判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不 需要更新AJAX緩存數(shù)據(jù);否則,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù) 據(jù)校驗(yàn)請(qǐng)求;
[0175] 第一緩存數(shù)據(jù)更新單元705,用于根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù) 據(jù)。
[0176] 綜上,本發(fā)明實(shí)施例的終端,只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù),對(duì)Web 應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù)進(jìn)行更新,不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù), 不需要更新Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),從而有效地和后臺(tái)服務(wù)器同步更新數(shù) 據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性。
[0177] 請(qǐng)參考圖8,其是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的終端第二實(shí)施例的結(jié) 構(gòu)方框圖。本實(shí)施例是在上述終端第一實(shí)施例的基礎(chǔ)上,主要增加了向后臺(tái)服務(wù)器下載數(shù) 據(jù)、強(qiáng)制校驗(yàn)等內(nèi)容。該終端包括:
[0178] 應(yīng)用程序啟動(dòng)單元701,用于啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0179] 下載請(qǐng)求接收單元702,用于接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0180] 時(shí)間戳獲取單元703,用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲 取AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳;
[0181] 第一校驗(yàn)請(qǐng)求發(fā)送單元704,用于判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不 需要更新AJAX緩存數(shù)據(jù);否則,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù) 據(jù)校驗(yàn)請(qǐng)求;
[0182] 第一緩存數(shù)據(jù)更新單元705,用于根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù) 據(jù)。
[0183] 優(yōu)選的,終端還包括第一校驗(yàn)值獲取單元706 :
[0184] 第一校驗(yàn)值獲取單元706,用于向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存 數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值;
[0185] 時(shí)間戳獲取單元703,具體用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù) 據(jù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校 驗(yàn)請(qǐng)求。
[0186] 優(yōu)選的,第一緩存數(shù)據(jù)更新單元705,具體用于判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi) 容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不需要更新AJAX緩存數(shù)據(jù);否 貝1J,用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。
[0187] 優(yōu)選的,終端還包括第一隨機(jī)數(shù)獲取單元707 :
[0188] 第一隨機(jī)數(shù)獲取單元707,用于向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存 數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù);
[0189] 時(shí)間戳獲取單元703,具體用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù) 據(jù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù) 的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0190] 優(yōu)選的,AJAX緩存數(shù)據(jù)為JS0N格式或XML格式。
[0191] 優(yōu)選的,終端還包括應(yīng)用下載單元709 :
[0192] 應(yīng)用下載單元709,用于向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把 后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù);
[0193] 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
[0194] 優(yōu)選的,終端還包括數(shù)據(jù)下載單元708 :
[0195] 數(shù)據(jù)下載單元708,用于若本地沒(méi)有存儲(chǔ)應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),向 應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX 緩存數(shù)據(jù);
[0196] 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
[0197] 優(yōu)選的,終端還包括強(qiáng)制校驗(yàn)請(qǐng)求接收單元710、第二校驗(yàn)值獲取單元711、第二 校驗(yàn)請(qǐng)求發(fā)送單元713、第二緩存數(shù)據(jù)更新單元714 :
[0198] 強(qiáng)制校驗(yàn)請(qǐng)求接收單元710,用于接收Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng) 求;
[0199] 第二校驗(yàn)值獲取單元711,用于獲取Web應(yīng)用程序?qū)?yīng)的AJAX緩存數(shù)據(jù)中的內(nèi)容 校驗(yàn)值;
[0200] 第二校驗(yàn)請(qǐng)求發(fā)送單元713,用于向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該 內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求;
[0201] 第二緩存數(shù)據(jù)更新單元714,用于判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與 該數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不更新AJAX緩存數(shù)據(jù);否則,用返回?cái)?shù)據(jù) 替換AJAX緩存數(shù)據(jù)。
[0202] 優(yōu)選的,終端還包括第二隨機(jī)數(shù)獲取單元712 :
[0203] 第二隨機(jī)數(shù)獲取單元712,用于向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi) 容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù);
[0204] 第二校驗(yàn)請(qǐng)求發(fā)送單元713,具體用于向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包 含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0205] 綜上,本發(fā)明實(shí)施例的終端,結(jié)合了具體應(yīng)用下載請(qǐng)求的AJAX緩存數(shù)據(jù)更新流程 和強(qiáng)制校驗(yàn)流程,強(qiáng)制校驗(yàn)流程可提供錯(cuò)誤更新機(jī)制,對(duì)后臺(tái)數(shù)據(jù)變化頻繁的Web應(yīng)用,強(qiáng) 制校驗(yàn)流程能夠有效保證AJAX緩存數(shù)據(jù)與后臺(tái)數(shù)據(jù)的一致性;具體應(yīng)用下載請(qǐng)求的AJAX 緩存數(shù)據(jù)更新流程只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù),不校驗(yàn)Web應(yīng)用程序啟動(dòng) 后下載的緩存數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性。
[0206] 請(qǐng)參考圖9,其是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的系統(tǒng)第一實(shí)施例的結(jié) 構(gòu)方框圖。本實(shí)施例與上述終端第一實(shí)施例相比,增加了后臺(tái)服務(wù)器800內(nèi)容。
[0207] 該系統(tǒng)包括終端700和后臺(tái)服務(wù)器800,終端700包括應(yīng)用程序啟動(dòng)單元701、下 載請(qǐng)求接收單元702、時(shí)間戳獲取單元703、第一校驗(yàn)請(qǐng)求發(fā)送單元704、第一緩存數(shù)據(jù)更新 單元705,后臺(tái)服務(wù)器800包括第一數(shù)據(jù)校驗(yàn)單元801 :
[0208] 應(yīng)用程序啟動(dòng)單元701,用于啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0209] 下載請(qǐng)求接收單元702,用于接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0210] 時(shí)間戳獲取單元703,用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終 端700獲取AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器800下發(fā)時(shí)間的時(shí)間戳;
[0211] 第一校驗(yàn)請(qǐng)求發(fā)送單元704,用于終端700判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如 果是,不需要更新AJAX緩存數(shù)據(jù);否則,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器800發(fā)送AJAX 緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求;
[0212] 第一數(shù)據(jù)校驗(yàn)單元801,用于接收AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存 數(shù)據(jù),根據(jù)校驗(yàn)結(jié)果向終端700返回?cái)?shù)據(jù);
[0213] 第一緩存數(shù)據(jù)更新單元705,用于根據(jù)后臺(tái)服務(wù)器800的返回?cái)?shù)據(jù)更新AJAX緩存 數(shù)據(jù)。
[0214] 綜上,本發(fā)明實(shí)施例的系統(tǒng),終端700只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù) 據(jù),后臺(tái)服務(wù)器800校驗(yàn)該緩存數(shù)據(jù),對(duì)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù)進(jìn)行更新,終 端700不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),不需要更新Web應(yīng)用程序啟動(dòng)后下載 的緩存數(shù)據(jù),從而有效地和后臺(tái)服務(wù)器800同步更新數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正 確性。
[0215] 請(qǐng)參考圖10,其是本發(fā)明實(shí)施例的用于執(zhí)行緩存更新方法的系統(tǒng)第二實(shí)施例的結(jié) 構(gòu)方框圖。本實(shí)施例與上述終端第二實(shí)施例相比,增加了后臺(tái)服務(wù)器800內(nèi)容。
[0216] 該系統(tǒng)包括終端700和后臺(tái)服務(wù)器800,終端700包括應(yīng)用程序啟動(dòng)單元701、下 載請(qǐng)求接收單元702、時(shí)間戳獲取單元703、第一校驗(yàn)請(qǐng)求發(fā)送單元704、第一緩存數(shù)據(jù)更新 單元705,后臺(tái)服務(wù)器800包括第一數(shù)據(jù)校驗(yàn)單元801 :
[0217] 應(yīng)用程序啟動(dòng)單元701,用于啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0218] 下載請(qǐng)求接收單元702,用于接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0219] 時(shí)間戳獲取單元703,用于若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終 端700獲取AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器800下發(fā)時(shí)間的時(shí)間戳;
[0220] 第一校驗(yàn)請(qǐng)求發(fā)送單元704,用于終端700判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如 果是,不需要更新AJAX緩存數(shù)據(jù);否則,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器800發(fā)送AJAX 緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求;
[0221] 第一數(shù)據(jù)校驗(yàn)單元801,用于接收AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)AJAX緩存 數(shù)據(jù),根據(jù)校驗(yàn)結(jié)果向終端700返回?cái)?shù)據(jù);
[0222] 第一緩存數(shù)據(jù)更新單元705,用于根據(jù)后臺(tái)服務(wù)器800的返回?cái)?shù)據(jù)更新AJAX緩存 數(shù)據(jù)。
[0223] 優(yōu)選的,終端700還包括第一校驗(yàn)值獲取單元706 :
[0224] 第一校驗(yàn)值獲取單元706用于向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器800發(fā)送AJAX 緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值;
[0225] 時(shí)間戳獲取單元703,具體用于向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器800發(fā)送AJAX 緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求;
[0226] 第一數(shù)據(jù)校驗(yàn)單元801,具體用于后臺(tái)服務(wù)器800接收AJAX緩存數(shù)據(jù)的包含該內(nèi) 容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求,判斷該數(shù)據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn) 請(qǐng)求中的內(nèi)容校驗(yàn)值是否相同,如果是,校驗(yàn)出AJAX緩存數(shù)據(jù)正確,向終端700返回包含內(nèi) 容校驗(yàn)值的數(shù)據(jù);否則,校驗(yàn)出AJAX緩存數(shù)據(jù)不正確,向終端700返回包含記錄后臺(tái)服務(wù)器 800下發(fā)時(shí)間的時(shí)間戳、后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)值、該后臺(tái)數(shù)據(jù)的數(shù)據(jù)。
[0227] 優(yōu)選的,第一緩存數(shù)據(jù)更新單元705,具體用于終端700判斷后臺(tái)服務(wù)器800的返 回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不需要更新AJAX 緩存數(shù)據(jù);否則,用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。
[0228] 優(yōu)選的,終端700還包括第一隨機(jī)數(shù)獲取單元707 :
[0229] 第一隨機(jī)數(shù)獲取單元707,用于向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器800發(fā)送AJAX 緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù);
[0230] 時(shí)間戳獲取單元703,具體用于向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器800發(fā)送AJAX 緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0231] 優(yōu)選的,AJAX緩存數(shù)據(jù)為JS0N格式或XML格式。
[0232] 優(yōu)選的,終端700還包括應(yīng)用下載單元709,后臺(tái)服務(wù)器800還包括應(yīng)用下載響應(yīng) 單元802 :
[0233] 應(yīng)用下載單元709,用于向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器800發(fā)送數(shù)據(jù)下載請(qǐng) 求,把后臺(tái)服務(wù)器800的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù);
[0234] 應(yīng)用下載響應(yīng)單元802,用于向終端700返回對(duì)應(yīng)數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù);
[0235] 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器800下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
[0236] 優(yōu)選的,終端700還包括數(shù)據(jù)下載單元708,后臺(tái)服務(wù)器800還包括數(shù)據(jù)下載響應(yīng) 單元803 :
[0237] 數(shù)據(jù)下載單元708,用于若本地沒(méi)有存儲(chǔ)應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終 端700向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器800發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器800的返 回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù);
[0238] 數(shù)據(jù)下載響應(yīng)單元803,用于向終端700返回對(duì)應(yīng)數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù);
[0239] 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器800下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
[0240] 優(yōu)選的,終端700還包括強(qiáng)制校驗(yàn)請(qǐng)求接收單元710、第二校驗(yàn)值獲取單元711、第 二校驗(yàn)請(qǐng)求發(fā)送單元713、第二緩存數(shù)據(jù)更新單元714,后臺(tái)服務(wù)器800還包括第二數(shù)據(jù)校 驗(yàn)單元804 :
[0241] 強(qiáng)制校驗(yàn)請(qǐng)求接收單元710,用于接收Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng) 求;
[0242] 第二校驗(yàn)值獲取單元711,用于獲取Web應(yīng)用程序?qū)?yīng)的AJAX緩存數(shù)據(jù)中的內(nèi)容 校驗(yàn)值;
[0243] 第二校驗(yàn)請(qǐng)求發(fā)送單元713,用于向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器800發(fā)送包含 該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求;
[0244] 第二數(shù)據(jù)校驗(yàn)單元804,用于接收AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn) 請(qǐng)求,判斷該數(shù)據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn)請(qǐng)求中的內(nèi)容校驗(yàn)值 是否相同,如果是,校驗(yàn)出AJAX緩存數(shù)據(jù)正確,向終端700返回包含內(nèi)容校驗(yàn)值的數(shù)據(jù);否 貝1J,校驗(yàn)出AJAX緩存數(shù)據(jù)不正確,向終端700返回包含記錄后臺(tái)服務(wù)器800下發(fā)時(shí)間的時(shí) 間戳、后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)值、該后臺(tái)數(shù)據(jù)的數(shù)據(jù);
[0245] 第二緩存數(shù)據(jù)更新單元714,用于判斷后臺(tái)服務(wù)器800的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn) 值與該數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不更新AJAX緩存數(shù)據(jù);否則,用返回 數(shù)據(jù)替換AJAX緩存數(shù)據(jù)。
[0246] 優(yōu)選的,終端700還包括第二隨機(jī)數(shù)獲取單元712 :
[0247] 第二隨機(jī)數(shù)獲取單元712,用于終端700向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器800發(fā) 送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù);
[0248] 第二校驗(yàn)請(qǐng)求發(fā)送單元713,具體用于向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器800發(fā)送 包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0249] 綜上,本發(fā)明實(shí)施例的系統(tǒng),結(jié)合具體應(yīng)用下載請(qǐng)求的AJAX緩存數(shù)據(jù)更新流程和 強(qiáng)制校驗(yàn)流程,終端700與后臺(tái)服務(wù)器800進(jìn)行數(shù)據(jù)交互,強(qiáng)制校驗(yàn)流程可提供錯(cuò)誤更新機(jī) 制,對(duì)后臺(tái)數(shù)據(jù)變化頻繁的Web應(yīng)用,強(qiáng)制校驗(yàn)流程能夠有效保證AJAX緩存數(shù)據(jù)與后臺(tái)數(shù) 據(jù)的一致性;具體應(yīng)用下載請(qǐng)求的AJAX緩存數(shù)據(jù)更新流程只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載 的緩存數(shù)據(jù),不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正 確性。
[0250] 本發(fā)明實(shí)施例還提供一種終端,該終端包括:存儲(chǔ)器、一個(gè)或者一個(gè)以上的處理器 以及一個(gè)或者一個(gè)以上的程序,一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,一個(gè)或者一個(gè)以 上程序被一個(gè)或者一個(gè)以上的處理器用來(lái)執(zhí)行一個(gè)緩存更新方法,該方法包括:
[0251] 啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間;
[0252] 接收Web應(yīng)用程序的應(yīng)用下載請(qǐng)求;
[0253] 若本地存儲(chǔ)有應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取AJAX緩存數(shù)據(jù)中的記錄 后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳;
[0254] 判斷啟動(dòng)時(shí)間是否小于等于時(shí)間戳,如果是,不需要更新AJAX緩存數(shù)據(jù);否則,向 應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,根據(jù)后臺(tái)服務(wù)器的 返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù)。
[0255] 優(yōu)選的,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求 之前,方法還包括:獲取AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值;
[0256] 向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,具體為:
[0257] 向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù) 據(jù)校驗(yàn)請(qǐng)求。
[0258] 優(yōu)選的,根據(jù)后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新AJAX緩存數(shù)據(jù),包括:
[0259] 判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否 相同,如果是,不需要更新AJAX緩存數(shù)據(jù);否則,用返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。
[0260] 優(yōu)選的,向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求 之前,方法還包括:獲取隨機(jī)數(shù);
[0261] 向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù) 據(jù)校驗(yàn)請(qǐng)求,具體為:
[0262] 向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值和隨 機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
[0263] 優(yōu)選的,AJAX緩存數(shù)據(jù)為JS0N格式或XML格式。
[0264] 優(yōu)選的,方法還包括:
[0265] 向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器的返回?cái)?shù)據(jù) 存儲(chǔ)為AJAX緩存數(shù)據(jù);
[0266] 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
[0267] 優(yōu)選的,方法還包括:
[0268] 若本地沒(méi)有存儲(chǔ)應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),向應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后 臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù);
[0269] 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
[0270] 優(yōu)選的,啟動(dòng)Web應(yīng)用程序,記錄Web應(yīng)用程序的啟動(dòng)時(shí)間之后,方法還包括:
[0271] 接收Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求;
[0272] 獲取Web應(yīng)用程序?qū)?yīng)的AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值,向Web應(yīng)用程序?qū)?yīng)的 后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求;
[0273] 判斷后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與該數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是 否相同,如果是,不更新AJAX緩存數(shù)據(jù);否則,將返回?cái)?shù)據(jù)替換AJAX緩存數(shù)據(jù)。
[0274] 優(yōu)選的,向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng) 求之前,方法還包括:獲取隨機(jī)數(shù);
[0275] 向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求,具體 為:
[0276] 向Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn) 請(qǐng)求。
[0277] 綜上,本發(fā)明實(shí)施例的終端,只校驗(yàn)Web應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù),對(duì)Web 應(yīng)用程序啟動(dòng)前下載的緩存數(shù)據(jù)進(jìn)行更新,不校驗(yàn)Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù), 不需要更新Web應(yīng)用程序啟動(dòng)后下載的緩存數(shù)據(jù),從而有效地和后臺(tái)服務(wù)器同步更新數(shù) 據(jù),以較小代價(jià)保證緩存數(shù)據(jù)的正確性。
[0278] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件 來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì)中,存儲(chǔ)介質(zhì)可以包括存儲(chǔ)器、磁盤(pán)或光盤(pán)等。
[0279] 以上內(nèi)容僅為本發(fā)明的較佳實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員,依據(jù)本發(fā)明的 思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明 的限制。
【權(quán)利要求】
1. 一種緩存更新方法,其特征在于,包括: 啟動(dòng)Web應(yīng)用程序,記錄所述Web應(yīng)用程序的啟動(dòng)時(shí)間; 接收所述Web應(yīng)用程序的應(yīng)用下載請(qǐng)求; 若本地存儲(chǔ)有所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取所述AJAX緩存數(shù)據(jù)中的 記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳; 判斷所述啟動(dòng)時(shí)間是否小于等于所述時(shí)間戳,如果是,不需要更新所述AJAX緩存數(shù) 據(jù);否則,向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng) 求,根據(jù)所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新所述AJAX緩存數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服 務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,還包括:獲取所述AJAX緩存數(shù)據(jù)中的內(nèi) 容校驗(yàn)值; 所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng) 求,具體為: 向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值 的數(shù)據(jù)校驗(yàn)請(qǐng)求。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更 新所述AJAX緩存數(shù)據(jù),包括: 判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否 相同,如果是,不需要更新所述AJAX緩存數(shù)據(jù);否則,將所述返回?cái)?shù)據(jù)替換所述AJAX緩存數(shù) 據(jù)。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服 務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,還包括:獲取隨機(jī)數(shù); 所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校 驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求,具體為: 向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值 和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收所述Web應(yīng)用程序的應(yīng)用下載請(qǐng) 求之前,還包括: 向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把所述后臺(tái)服務(wù)器的返回 數(shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收所述Web應(yīng)用程序的應(yīng)用下載請(qǐng) 求之后,還包括: 若本地沒(méi)有存儲(chǔ)所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng) 的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)Web應(yīng)用程序,記錄所述Web應(yīng) 用程序的啟動(dòng)時(shí)間之后,還包括: 接收所述Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求; 獲取所述Web應(yīng)用程序?qū)?yīng)的所述AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值,向所述Web應(yīng)用程 序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求; 判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與該數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是 否相同,如果是,不更新所述AJAX緩存數(shù)據(jù);否則,將所述返回?cái)?shù)據(jù)替換所述AJAX緩存數(shù) 據(jù)。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù) 器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,還包括:獲取隨機(jī)數(shù); 所述向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求, 具體為: 向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn) 請(qǐng)求。
9. 一種緩存更新方法,其特征在于,包括: 終端啟動(dòng)Web應(yīng)用程序,記錄所述Web應(yīng)用程序的啟動(dòng)時(shí)間; 終端接收所述Web應(yīng)用程序的應(yīng)用下載請(qǐng)求; 若本地存儲(chǔ)有所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端獲取所述AJAX緩存數(shù)據(jù) 中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳; 終端判斷所述啟動(dòng)時(shí)間是否小于等于所述時(shí)間戳,如果是,不需要更新所述AJAX緩存 數(shù)據(jù);否則,向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng) 求; 后臺(tái)服務(wù)器接收所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)所述AJAX緩存數(shù)據(jù),根據(jù)校 驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù); 終端根據(jù)所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新所述AJAX緩存數(shù)據(jù)。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服 務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,還包括:獲取所述AJAX緩存數(shù)據(jù)中的內(nèi) 容校驗(yàn)值; 所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng) 求,具體為: 向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值 的數(shù)據(jù)校驗(yàn)請(qǐng)求; 所述后臺(tái)服務(wù)器接收所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)所述AJAX緩存數(shù)據(jù),根 據(jù)校驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù),包括: 后臺(tái)服務(wù)器接收所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求,判斷該數(shù) 據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn)請(qǐng)求中的內(nèi)容校驗(yàn)值是否相同,如果 是,校驗(yàn)出所述AJAX緩存數(shù)據(jù)正確,向終端返回包含內(nèi)容校驗(yàn)值的數(shù)據(jù);否則,校驗(yàn)出所述 AJAX緩存數(shù)據(jù)不正確,向終端返回包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳、后臺(tái)數(shù)據(jù)的內(nèi) 容校驗(yàn)值、該后臺(tái)數(shù)據(jù)的數(shù)據(jù)。
11. 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述終端根據(jù)所述后臺(tái)服務(wù)器的返回 數(shù)據(jù)更新所述AJAX緩存數(shù)據(jù),包括: 終端判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值 是否相同,如果是,不需要更新所述AJAX緩存數(shù)據(jù);否則,將所述返回?cái)?shù)據(jù)替換所述AJAX緩 存數(shù)據(jù)。
12. 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái) 服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,還包括:獲取隨機(jī)數(shù); 所述向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校 驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求,具體為: 向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值 和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
13. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述終端接收所述Web應(yīng)用程序的應(yīng)用 下載請(qǐng)求之前,還包括: 終端向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求; 后臺(tái)服務(wù)器向終端返回對(duì)應(yīng)所述數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù); 終端把所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
14. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述終端接收所述Web應(yīng)用程序的應(yīng)用 下載請(qǐng)求之后,還包括: 若本地沒(méi)有存儲(chǔ)所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端向所述應(yīng)用下載請(qǐng)求 對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求; 后臺(tái)服務(wù)器向終端返回對(duì)應(yīng)所述數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù); 終端把所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
15. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述終端啟動(dòng)Web應(yīng)用程序,記錄所述 Web應(yīng)用程序的啟動(dòng)時(shí)間之后,還包括: 終端接收所述Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求; 終端獲取所述Web應(yīng)用程序?qū)?yīng)的所述AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值,向所述Web應(yīng) 用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求; 后臺(tái)服務(wù)器接收所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求,判斷該數(shù) 據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn)請(qǐng)求中的內(nèi)容校驗(yàn)值是否相同,如果 是,校驗(yàn)出所述AJAX緩存數(shù)據(jù)正確,向終端返回包含內(nèi)容校驗(yàn)值的數(shù)據(jù);否則,校驗(yàn)出所述 AJAX緩存數(shù)據(jù)不正確,向終端返回包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳、后臺(tái)數(shù)據(jù)的內(nèi) 容校驗(yàn)值、該后臺(tái)數(shù)據(jù)的數(shù)據(jù); 終端判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與該數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn) 值是否相同,如果是,不更新所述AJAX緩存數(shù)據(jù);否則,將所述返回?cái)?shù)據(jù)替換所述AJAX緩存 數(shù)據(jù)。
16. 根據(jù)權(quán)利要求15所述的方法,其特征在于,所述向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服 務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,還包括:獲取隨機(jī)數(shù); 所述向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求, 具體為: 向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn) 請(qǐng)求。
17. -種用于執(zhí)行緩存更新方法的終端,其特征在于,包括: 應(yīng)用程序啟動(dòng)單元,用于啟動(dòng)Web應(yīng)用程序,記錄所述Web應(yīng)用程序的啟動(dòng)時(shí)間; 下載請(qǐng)求接收單元,用于接收所述Web應(yīng)用程序的應(yīng)用下載請(qǐng)求; 時(shí)間戳獲取單元,用于若本地存儲(chǔ)有所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),獲取所 述AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳; 第一校驗(yàn)請(qǐng)求發(fā)送單元,用于判斷所述啟動(dòng)時(shí)間是否小于等于所述時(shí)間戳,如果是,不 需要更新所述AJAX緩存數(shù)據(jù);否則,向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX 緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求; 第一緩存數(shù)據(jù)更新單元,用于根據(jù)所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新所述AJAX緩存數(shù) 據(jù)。
18. 根據(jù)權(quán)利要求17所述的終端,其特征在于,還包括第一校驗(yàn)值獲取單元: 第一校驗(yàn)值獲取單元,用于向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩 存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取所述AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值; 所述時(shí)間戳獲取單元,具體用于若本地存儲(chǔ)有所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù) 據(jù),向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值 的數(shù)據(jù)校驗(yàn)請(qǐng)求。
19. 根據(jù)權(quán)利要求18所述的終端,其特征在于: 第一緩存數(shù)據(jù)更新單元,具體用于判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與 數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不需要更新所述AJAX緩存數(shù)據(jù);否則,將所 述返回?cái)?shù)據(jù)替換所述AJAX緩存數(shù)據(jù)。
20. 根據(jù)權(quán)利要求18所述的終端,其特征在于,還包括第一隨機(jī)數(shù)獲取單元: 第一隨機(jī)數(shù)獲取單元,用于向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩 存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù); 所述時(shí)間戳獲取單元,具體用于若本地存儲(chǔ)有所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù) 據(jù),向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值 和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
21. 根據(jù)權(quán)利要求17所述的終端,其特征在于,還包括應(yīng)用下載單元: 應(yīng)用下載單元,用于向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把所 述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
22. 根據(jù)權(quán)利要求17所述的終端,其特征在于,還包括數(shù)據(jù)下載單元: 數(shù)據(jù)下載單元,用于若本地沒(méi)有存儲(chǔ)所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),向所述 應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為 AJAX緩存數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
23. 根據(jù)權(quán)利要求17所述的終端,其特征在于,還包括強(qiáng)制校驗(yàn)請(qǐng)求接收單元、第二校 驗(yàn)值獲取單元、第二校驗(yàn)請(qǐng)求發(fā)送單元、第二緩存數(shù)據(jù)更新單元: 強(qiáng)制校驗(yàn)請(qǐng)求接收單元,用于接收所述Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求; 第二校驗(yàn)值獲取單元,用于獲取所述Web應(yīng)用程序?qū)?yīng)的所述AJAX緩存數(shù)據(jù)中的內(nèi)容 校驗(yàn)值; 第二校驗(yàn)請(qǐng)求發(fā)送單元,用于向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容 校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求; 第二緩存數(shù)據(jù)更新單元,用于判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與該數(shù) 據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不更新所述AJAX緩存數(shù)據(jù);否則,將所述返回 數(shù)據(jù)替換所述AJAX緩存數(shù)據(jù)。
24. 根據(jù)權(quán)利要求23所述的終端,其特征在于,還包括第二隨機(jī)數(shù)獲取單元: 第二隨機(jī)數(shù)獲取單元,用于向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容校 驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù); 第二校驗(yàn)請(qǐng)求發(fā)送單元,具體用于向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該 內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
25. -種用于執(zhí)行緩存更新方法的系統(tǒng),其特征在于,包括終端和后臺(tái)服務(wù)器,終端包 括應(yīng)用程序啟動(dòng)單元、下載請(qǐng)求接收單元、時(shí)間戳獲取單元、第一校驗(yàn)請(qǐng)求發(fā)送單元、第一 緩存數(shù)據(jù)更新單元,后臺(tái)服務(wù)器包括第一數(shù)據(jù)校驗(yàn)單元: 應(yīng)用程序啟動(dòng)單元,用于啟動(dòng)Web應(yīng)用程序,記錄所述Web應(yīng)用程序的啟動(dòng)時(shí)間; 下載請(qǐng)求接收單元,用于接收所述Web應(yīng)用程序的應(yīng)用下載請(qǐng)求; 時(shí)間戳獲取單元,用于若本地存儲(chǔ)有所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端獲 取所述AJAX緩存數(shù)據(jù)中的記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳; 第一校驗(yàn)請(qǐng)求發(fā)送單元,用于終端判斷所述啟動(dòng)時(shí)間是否小于等于所述時(shí)間戳,如果 是,不需要更新所述AJAX緩存數(shù)據(jù);否則,向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所 述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求; 第一數(shù)據(jù)校驗(yàn)單元,用于接收所述AJAX緩存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求,校驗(yàn)所述AJAX緩存 數(shù)據(jù),根據(jù)校驗(yàn)結(jié)果向終端返回?cái)?shù)據(jù); 第一緩存數(shù)據(jù)更新單元,用于根據(jù)所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)更新所述AJAX緩存數(shù) 據(jù)。
26. 根據(jù)權(quán)利要求25所述的系統(tǒng),其特征在于,所述終端還包括第一校驗(yàn)值獲取單元: 第一校驗(yàn)值獲取單元用于向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩存 數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取所述AJAX緩存數(shù)據(jù)中的內(nèi)容校驗(yàn)值; 所述時(shí)間戳獲取單元,具體用于向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX 緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求; 第一數(shù)據(jù)校驗(yàn)單元,具體用于后臺(tái)服務(wù)器接收所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn) 值的數(shù)據(jù)校驗(yàn)請(qǐng)求,判斷該數(shù)據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn)請(qǐng)求中 的內(nèi)容校驗(yàn)值是否相同,如果是,校驗(yàn)出所述AJAX緩存數(shù)據(jù)正確,向終端返回包含內(nèi)容校 驗(yàn)值的數(shù)據(jù);否則,校驗(yàn)出所述AJAX緩存數(shù)據(jù)不正確,向終端返回包含記錄后臺(tái)服務(wù)器下 發(fā)時(shí)間的時(shí)間戳、后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)值、該后臺(tái)數(shù)據(jù)的數(shù)據(jù)。
27. 根據(jù)權(quán)利要求26所述的系統(tǒng),其特征在于: 所述第一緩存數(shù)據(jù)更新單元,具體用于終端判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容 校驗(yàn)值與數(shù)據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不需要更新所述AJAX緩存數(shù)據(jù); 否則,將所述返回?cái)?shù)據(jù)替換所述AJAX緩存數(shù)據(jù)。
28. 根據(jù)權(quán)利要求26所述的系統(tǒng),其特征在于,所述終端還包括第一隨機(jī)數(shù)獲取單元: 第一隨機(jī)數(shù)獲取單元,用于向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX緩 存數(shù)據(jù)的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù); 所述時(shí)間戳獲取單元,具體用于向所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送所述AJAX 緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
29. 根據(jù)權(quán)利要求25所述的系統(tǒng),其特征在于,所述終端還包括應(yīng)用下載單元,所述后 臺(tái)服務(wù)器還包括應(yīng)用下載響應(yīng)單元: 應(yīng)用下載單元,用于向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把所 述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存儲(chǔ)為AJAX緩存數(shù)據(jù); 應(yīng)用下載響應(yīng)單元,用于向終端返回對(duì)應(yīng)所述數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
30. 根據(jù)權(quán)利要求25所述的系統(tǒng),其特征在于,所述終端還包括數(shù)據(jù)下載單元,所述后 臺(tái)服務(wù)器還包括數(shù)據(jù)下載響應(yīng)單元: 數(shù)據(jù)下載單元,用于若本地沒(méi)有存儲(chǔ)所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的AJAX緩存數(shù)據(jù),終端向 所述應(yīng)用下載請(qǐng)求對(duì)應(yīng)的后臺(tái)服務(wù)器發(fā)送數(shù)據(jù)下載請(qǐng)求,把所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)存 儲(chǔ)為AJAX緩存數(shù)據(jù); 數(shù)據(jù)下載響應(yīng)單元,用于向終端返回對(duì)應(yīng)所述數(shù)據(jù)下載請(qǐng)求的數(shù)據(jù); 其中,該返回?cái)?shù)據(jù)包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間戳和內(nèi)容校驗(yàn)值。
31. 根據(jù)權(quán)利要求25所述的系統(tǒng),其特征在于,所述終端還包括強(qiáng)制校驗(yàn)請(qǐng)求接收單 元、第二校驗(yàn)值獲取單元、第二校驗(yàn)請(qǐng)求發(fā)送單元、第二數(shù)據(jù)校驗(yàn)單元,所述后臺(tái)服務(wù)器還 包括第二數(shù)據(jù)校驗(yàn)單元: 強(qiáng)制校驗(yàn)請(qǐng)求接收單元,用于接收所述Web應(yīng)用程序的強(qiáng)制校驗(yàn)AJAX緩存數(shù)據(jù)請(qǐng)求; 第二校驗(yàn)值獲取單元,用于獲取所述Web應(yīng)用程序?qū)?yīng)的所述AJAX緩存數(shù)據(jù)中的內(nèi)容 校驗(yàn)值; 第二校驗(yàn)請(qǐng)求發(fā)送單元,用于向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該內(nèi)容 校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求; 第二數(shù)據(jù)校驗(yàn)單元,用于接收所述AJAX緩存數(shù)據(jù)的包含該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng) 求,判斷該數(shù)據(jù)校驗(yàn)請(qǐng)求對(duì)應(yīng)的后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)碼與數(shù)據(jù)校驗(yàn)請(qǐng)求中的內(nèi)容校驗(yàn)值是 否相同,如果是,校驗(yàn)出所述AJAX緩存數(shù)據(jù)正確,向終端返回包含內(nèi)容校驗(yàn)值的數(shù)據(jù);否 貝1J,校驗(yàn)出所述AJAX緩存數(shù)據(jù)不正確,向終端返回包含記錄后臺(tái)服務(wù)器下發(fā)時(shí)間的時(shí)間 戳、后臺(tái)數(shù)據(jù)的內(nèi)容校驗(yàn)值、該后臺(tái)數(shù)據(jù)的數(shù)據(jù); 第二緩存數(shù)據(jù)更新單元,用于判斷所述后臺(tái)服務(wù)器的返回?cái)?shù)據(jù)中的內(nèi)容校驗(yàn)值與該數(shù) 據(jù)校驗(yàn)請(qǐng)求的內(nèi)容校驗(yàn)值是否相同,如果是,不更新所述AJAX緩存數(shù)據(jù);否則,將所述返回 數(shù)據(jù)替換所述AJAX緩存數(shù)據(jù)。
32. 根據(jù)權(quán)利要求30所述的系統(tǒng),其特征在于,所述終端還包括第二隨機(jī)數(shù)獲取單元: 第二隨機(jī)數(shù)獲取單元,用于所述終端向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含 該內(nèi)容校驗(yàn)值的數(shù)據(jù)校驗(yàn)請(qǐng)求之前,獲取隨機(jī)數(shù); 第二校驗(yàn)請(qǐng)求發(fā)送單元,具體用于向所述Web應(yīng)用程序?qū)?yīng)的后臺(tái)服務(wù)器發(fā)送包含該 內(nèi)容校驗(yàn)值和隨機(jī)數(shù)的數(shù)據(jù)校驗(yàn)請(qǐng)求。
【文檔編號(hào)】H04L29/08GK104219272SQ201310221080
【公開(kāi)日】2014年12月17日 申請(qǐng)日期:2013年6月5日 優(yōu)先權(quán)日:2013年6月5日
【發(fā)明者】龍海建 申請(qǐng)人:騰訊科技(深圳)有限公司