[發(fā)明專利]一種基于摘要算法的靜態(tài)資源文件緩存控制方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201911151023.1 | 申請日: | 2019-11-21 |
| 公開(公告)號: | CN110929194B | 公開(公告)日: | 2023-04-07 |
| 發(fā)明(設(shè)計(jì))人: | 自明;于慶海;曹福森;張?zhí)炖?/a>;任成賓;趙金棟;郭英端;趙德峰;王圣皎;紀(jì)曉龍;劉汝玉;鄧志龍 | 申請(專利權(quán))人: | 山東魯軟數(shù)字科技有限公司 |
| 主分類號: | G06F16/957 | 分類號: | G06F16/957 |
| 代理公司: | 濟(jì)南圣達(dá)知識產(chǎn)權(quán)代理有限公司 37221 | 代理人: | 閆圣娟 |
| 地址: | 250001 山*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 摘要 算法 靜態(tài) 資源 文件 緩存 控制 方法 系統(tǒng) | ||
本公開提出了一種基于摘要算法的靜態(tài)資源文件緩存控制方法及系統(tǒng),通過計(jì)算靜態(tài)資源文件的摘要信息,在系統(tǒng)應(yīng)用程序發(fā)布之前將靜態(tài)資源文件的文件名和引用地址修改為與摘要信息相關(guān)的新名稱和新的引用地址,應(yīng)用程序發(fā)布后使得瀏覽器可以加載最新的資源,防止因?yàn)g覽器緩存導(dǎo)致的系統(tǒng)錯(cuò)誤。同時(shí)避免現(xiàn)有方案的缺點(diǎn)。
技術(shù)領(lǐng)域
本公開涉及計(jì)算機(jī)技術(shù)相關(guān)技術(shù)領(lǐng)域,具體的說,是涉及一種基于摘要算法的靜態(tài)資源文件緩存控制方法及系統(tǒng)。
背景技術(shù)
本部分的陳述僅僅是提供了與本公開相關(guān)的背景技術(shù)信息,并不必然構(gòu)成在先技術(shù)。
在B/S結(jié)構(gòu)的信息系統(tǒng)中,瀏覽器會對靜態(tài)資源進(jìn)行緩存,在用戶的本地文件系統(tǒng)中保存請求過的資源文件,當(dāng)用戶再次訪問相同的資源文件時(shí),瀏覽器不需要從服務(wù)器獲取數(shù)據(jù),而是直接讀取本地文件上的緩存,從而加速頁面的訪問。但是瀏覽器的版本眾多,緩存機(jī)制不盡相同,不一定能保證從服務(wù)器端獲取最新的文件。同時(shí),不同的服務(wù)器對緩存機(jī)制的處理也不盡相同,也會導(dǎo)致瀏覽器特定情況下無法獲取到最新的資源文件,從而導(dǎo)致系統(tǒng)的功能異常。
現(xiàn)有的解決瀏覽器緩存方案包括:
1、在服務(wù)器的相應(yīng)頭信息中增加不緩存的指令,從而阻止瀏覽器緩存文件。
2、更改靜態(tài)資源文件的URL,增加隨機(jī)或基于時(shí)間的可變參數(shù),當(dāng)參數(shù)改變時(shí)瀏覽器認(rèn)為請求的是一個(gè)新的資源,從而獲取最新版本。
3、在瀏覽器端通過腳本配合版本控制工具的版本號動態(tài)加載最新版本的資源。
發(fā)明人發(fā)現(xiàn),上述現(xiàn)有技術(shù)方案的存在的問題在于:
1、在服務(wù)響應(yīng)頭中增加不緩存的指令,會導(dǎo)致瀏覽器在任何情況下不進(jìn)行緩存,即使靜態(tài)資源文件沒有發(fā)生改變,也會再次請求,增加了頁面的加載時(shí)間,和網(wǎng)絡(luò)流量負(fù)擔(dān)。
2、更改靜態(tài)資源URL,增加可變參數(shù),這種方案可以按需更新文件,但是更新時(shí),瀏覽器會替換舊的文件,當(dāng)存在HTML頁面和資源文件同時(shí)需要更新的時(shí)候,不同的更新次序會導(dǎo)致錯(cuò)誤的發(fā)生。同時(shí)個(gè)別瀏覽器客戶端會將增加參數(shù)的資源URL視為動態(tài)資源造成無法緩存,導(dǎo)致性能負(fù)擔(dān)。
3、在瀏覽器端通過腳本配合版本控制工具的版本號動態(tài)加載最新版本的資源,這種方案需要專門的前端腳本,并且版本的管理和代碼的版本管理工具綁定,如果切換版本工具,就可能導(dǎo)致版本號的沖突。
發(fā)明內(nèi)容
本公開為了解決上述問題,提出了一種基于摘要算法的靜態(tài)資源文件緩存控制方法及系統(tǒng),通過計(jì)算靜態(tài)資源文件的摘要信息,在系統(tǒng)應(yīng)用程序發(fā)布之前將靜態(tài)資源文件的文件名和引用地址修改為與摘要信息相關(guān)的新名稱和新的引用地址,應(yīng)用程序發(fā)布后使得瀏覽器可以加載最新的資源,防止因?yàn)g覽器緩存導(dǎo)致的系統(tǒng)錯(cuò)誤。同時(shí)避免現(xiàn)有方案的缺點(diǎn)。
為了實(shí)現(xiàn)上述目的,本公開采用如下技術(shù)方案:
一個(gè)或多個(gè)實(shí)施例提供了一種基于摘要算法的靜態(tài)資源文件緩存控制方法,包括如下步驟:
步驟1、建立用于存儲靜態(tài)資源文件引用地址的已處理地址查找表,從待發(fā)布的應(yīng)用程序部署文件中提取靜態(tài)資源文件的引用文件;
步驟2、根據(jù)配置的規(guī)則對對所有引用文件的內(nèi)容進(jìn)行匹配查找,找到引用文件中所有需要處理的靜態(tài)資源引用地址;
步驟3、依次將需要處理的靜態(tài)資源引用地址設(shè)置為當(dāng)前待處理靜態(tài)資源文件引用地址,查找已處理地址查找表中是否有當(dāng)前待處理靜態(tài)資源文件引用地址,如果有,執(zhí)行步驟5,否則執(zhí)行下一步;
步驟4、根據(jù)當(dāng)前待處理靜態(tài)資源文件引用地址查找被引用的靜態(tài)資源文件,根據(jù)摘要算法計(jì)算查找到的靜態(tài)資源文件的MD5值,根據(jù)計(jì)算獲得的MD5值為查找獲得的靜態(tài)資源文件重命名,獲得新文件名,在已處理查找表中添加原文件的地址和新地址組成的鍵值對;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于山東魯軟數(shù)字科技有限公司,未經(jīng)山東魯軟數(shù)字科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911151023.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種油箱用生產(chǎn)工藝
- 下一篇:管理考核方法及裝置
- 復(fù)雜背景中實(shí)現(xiàn)靜態(tài)目標(biāo)檢測和識別的方法
- 一種設(shè)置靜態(tài)認(rèn)證信息的方法及裝置
- 一種基于物聯(lián)網(wǎng)技術(shù)的機(jī)房靜態(tài)資源快速定位的方法
- 一種動態(tài)網(wǎng)頁靜態(tài)化的方法和裝置
- 瀏覽器靜態(tài)資源加載方法、瀏覽器程序及可讀存儲介質(zhì)
- 靜態(tài)資源更新方法、裝置、存儲介質(zhì)和計(jì)算機(jī)設(shè)備
- 一種圖像顯示方法及裝置
- 一種靜態(tài)方法修改非靜態(tài)對象的方法
- 一種靜態(tài)資源加載方法、裝置、設(shè)備及可讀存儲介質(zhì)
- 一種靜態(tài)資源獲取方法、裝置及其相關(guān)設(shè)備





