新四季網

WebAPP動態脫機存儲系統及方法

2023-06-02 16:35:46

專利名稱:WebAPP動態脫機存儲系統及方法
技術領域:
本發明涉及計算機網絡技術領域,尤其涉及一種WebAPP動態脫機存儲系統及方法。
背景技術:
隨著移動網際網路的普及,手持設備被廣泛使用,以及HTML5等Web技術的快速發展,各大公司都在推出自己的WebApp開發框架。WebApp是指基於Web的系統和應用,其作用是向廣大的最終用戶發布一組複雜的內容和功能。從一個簡單的幫助消費者計算汽車租借費用的網頁,到為商業人員和度假者提供全套旅遊服務的大型複雜的WEB站點,都是WebApp。它包括一些完整的WEB站點,WEB站點的專門功能以及在Internet、Intranet或ExtraNet上的信息處理應用。用戶通常使用瀏覽器緩存在用戶磁碟上存儲web單頁,在用戶再次瀏覽的時候已節省帶寬,但即便這樣,依然無法在沒有Internet的情況下訪問Web應用程式。為了讓web應用程式在離線狀態也能被訪問,HTML5通過ApplicationCache提供離線存儲功能。Application Cache使用Manifest文件來指定當前WebApp所需的資源,瀏覽器根據manifest文件的內容來對不同的資源設置不同的策略。當用戶再次瀏覽該網頁時,如果Application Cache中存在該資源,貝U首先從Application Cache中加載,並通過對比本地manifest文件和伺服器上的manifest文件來確定是否需要更新本地Cache的資源。Application Cache本質上是一種靜態的Cache,需求用戶首先在manifest中指定所有需要Cache的資源,而不能根據用戶訪問的情況來Cache資源。在一些情況,開發者可能並不知道其所有的資源,例如用戶上傳的文件,因此此時不能通過manifest來指定。另外,在IE、FireFox等主流瀏覽器中還存在脫機模式,在離線情況下可以使用Cache在本地的網頁。但由於脫機模式是跟正常模式相對立的,因此在脫機模式下,即使網絡是可用的,也不能正常顯示沒有被Cache的外部網頁。

發明內容
本發明的目的在於提供一種WebAPP動態脫機存儲系統及方法,支持離線應用的各類WebAPP,能將用戶訪問的WebAPP資源自動Cache到本地,以確保用戶在離線情況下也能使用該WebAPP。為解決上述問題,本發明提供一種WebAPP動態脫機存儲系統,包括:存儲模塊,用於將用戶訪問過的每個WebAPP的資源Cache到本地保存;加載模塊,用於加載當前WebAPP的資源,加載前先判斷當前WebAPP的資源是否已經被Cache到本地保存,若是,從所述存儲模塊保存的所有資源中加載當前WebAPP的資源;若否,網絡加載當前WebAPP的資源,並調用所述存儲模塊,將當前WebAPP的資源Cache到本地保存;更新模塊,用於在所述加載模塊加載當前WebAPP的資源完畢後,後臺更新所述當前WebAPP的資源到所述存儲模塊中。進一步的,所述存儲模塊包括資料庫單元和緩存單元,所述緩存單元用於將用戶訪問過的每個WebAPP的資源Cache到本地並保存所述每個WebAPP的資源;所述資料庫單元用於標識每個WebAPP的資源及其在所述緩存單元中的位置,建立每個WebAPP的索引信
肩、O進一步的,所述資料庫單元採用SQLITE3資料庫,將每個WebAPP的資源的URL作為關鍵詞來標識每個WebAPP的資源及其在所述緩存單元中的位置。進一步的,所述緩存單元以文件方式保存所述每個WebAPP的資源,同時還保存所述每個WebAPP的http響應信息。進一步的,所述更新模塊通過http協議逐個更新所述當前WebAPP的資源到所述存儲模塊中,並在更新完成後,以JavaScript事件的形式通知所述當前WebApp以切換到新的WebApp環境。相應的,本發明還提供一種WebAPP動態脫機存儲方法,包括以下步驟:所述存儲模塊將用戶訪問過的每個WebAPP的資源Cache到本地保存;啟動當前WebAPP,所述加載模塊判斷當前WebAPP的資源是否已經被Cache到本地保存,若是,從所述存儲模塊保存的所有資源中加載當前WebAPP的資源;若否,網絡加載當前WebAPP的資源,並調用所述存儲模塊,將當前WebAPP的資源Cache到本地保存;當所述加載模塊加載當前WebAPP的資源完畢後,所述更新模塊後臺更新所述當前WebAPP的資源到所述存儲模塊中。與現有技術相比,本發明提供的WebAPP動態脫機存儲系統及方法,通過存儲模塊將用戶訪問過的每個WebAPP的資源Cache到本地保存,然後通過加載模塊脫機加載存儲模塊中的已有WebAPP資源或者網絡加載未Cache存儲的WebAPP資源,再通過更新模塊更新存儲模塊中的WebAPP的資源,能將用戶訪問的WebAPP資源自動Cache到本地,以確保用戶在離線情況下也能使用該WebAPP,可以實現WebApp離線和在線方式的無痕切換,適用於支持離線應用的各類WebAPP。


圖1是本發明一實施例的WebAPP動態脫機存儲系統的架構示意圖;圖2是本發明一實施例的WebAPP動態脫機存儲方法的流程圖。
具體實施例方式本發明中,URL (統一資源定位符,UniformResourceLocator)也被稱為網頁地址,是網際網路上標準的資源的地址;以下結合附圖和具體實施例對本發明提出的WebAPP管理系統及其應用方法作進一步詳細說明。如圖1所示,本發明提供一種WebAPP動態脫機存儲系統,包括存儲模塊11、加載模塊12和更新模塊13。存儲模塊11包括資料庫單元111和緩存單元112,所述緩存單元112用於將用戶訪問過的每個WebAPP的資源Cache到本地並以文件方式保存所述每個WebAPP的資源,同時還保存所述每個WebAPP的http響應信息;所述資料庫單元111用於標識每個WebAPP的資源及其在所述緩存單元中的位置,建立每個WebAPP的索引信息。其中,HTTP響應與HTTP請求相似,由3部分構成,分別是協議和狀態碼、響應頭和響應正文。HTTP響應的第I行表示通信使用的協議及其版本、狀態碼和狀態描述。其中的狀態碼是規定好的;HTTP響應頭中包含了很多關於伺服器端的有用信息,如伺服器的類型、內容類型和長度等信息;響應正文就是用戶在瀏覽網頁時看到的內容,可以包含各種信息,包括文字、圖片和動畫等。在Web框架(Web Frameffork)中,用於標識WebApp的方法有很多,包括使用name、類似域名的ID方式、以及URL等。經過試驗,使用URL方式比較簡潔、方便,故本實施中資料庫單元111採用URL來標識WebApp。在計算機技術中,實現索引查詢的方法很多,有基於文件的,基於資料庫的。其中基於資料庫的比較常見,本實施例中資料庫單元111採用SQLITE3資料庫來保存緩存單元112中存在的WebApp索引以及每個WebApp所包含的資源,並以WebApp的主資源URL作為關鍵詞來標識WebApp,每個WebApp內部使用的資源使用其對應的URL來加以區分,同時還保存了所有資源在緩存單元112中的位置。因此,緩存單元112完成將WebApp資源Cache到本地後,通過資料庫單元111來加以索引,用於加載單元12加載WebApp時查詢需要的資源。加載模塊12用於加載當前WebAPP的資源,加載前先判斷當前WebAPP的資源是否已經被Cache到本地保存,若是,從所述存儲模塊11保存的所有資源中加載當前WebAPP的資源;若否,網絡加載當前WebAPP的資源,並調用所述存儲模塊11,將當前WebAPP的資源Cache到本地保存。本實施例中,加載模塊12加載已經被Cache到本地保存的當前WebAPP的資源時,將當前WebApp主資源的URL作為關鍵詞,從資料庫單元111中找出當前WebApp緩存在緩存單元112的所有資源的位置,接著依照HTML解析過程中按需加載緩存單元112中的資源;加載模塊12通過網絡HTTP加載當前WebAPP的資源時,調用存儲模塊11存儲當前WebApp已經下載的所有資源到緩存單元112中,並隨著HTML解析的進行,繼續存儲後續資源到緩存單元112中,資料庫單元111為存儲到緩存單元112中的當前WebApp資源加以標識和索引。更新模塊13在所述加載模塊加載當前WebAPP的資源完畢後,後臺更新所述當前WebAPP的資源到所述存儲模塊中。本實施例中,所述更新模塊13根據WebApp主資源的URL獲取其所有資源的URL,通過http協議逐個與緩存單元112中的資源對比,如果存在更新則替換當前資源,並在所有資源都更新完成後,以JavaScript事件的形式通知所述當前WebApp用戶可以選擇切換到新的WebApp環境。相應的,如圖2所示,本發明還提供一種WebAPP動態脫機存儲方法,包括以下步驟。S21,所述存儲模塊11將用戶訪問過的每個WebAPP的資源Cache到本地保存;S22,啟動當前 WebAPP ;S23,所述加載模塊判斷當前WebAPP的資源是否已經被Cache到本地保存,若是,執行S24 ;若否,執行S25至S26 ;S24,從所述存儲模塊保存的所有資源中加載當前WebAPP的資源;S25,網絡加載當前WebAPP的資源;S26,調用所述存儲模塊,將當前WebAPP的資源Cache到本地保存;S27,所述加載模塊加載當前WebAPP的資源完畢;S28,所述更新模塊後臺更新所述當前WebAPP的資源到所述存儲模塊中。本實施步驟S21中,存儲模塊11包括資料庫單元111和緩存單元112,所述緩存單元112將用戶訪問過的每個WebAPP的資源Cache到本地,並以文件方式保存所述每個WebAPP的資源,同時還保存所述每個WebAPP的http響應信息;所述資料庫單元111採用URL標識每個WebAPP的資源及其在所述緩存單元中的位置,建立每個WebAPP的索引信息。本實施步驟S24中,加載模塊12加載將當前WebApp主資源的URL作為關鍵詞,從資料庫單元111中找出當前WebApp緩存在緩存單元112的所有資源的位置,接著依照HTML解析過程中按需加載緩存單元112中的資源。本實施步驟S25中,加載模塊12通過網絡HTTP加載當前WebAPP的資源,步驟S26中調用存儲模塊11存儲當前WebApp已經下載的所有資源到緩存單元112中,並隨著HTML解析的進行,繼續存儲後續資源到緩存單元112中,資料庫單元111為存儲到緩存單元112中的當前WebApp資源加以標識和索引。綜上所述,本發明提供的WebAPP動態脫機存儲系統及方法,通過存儲模塊將用戶訪問過的每個WebAPP的資源Cache到本地保存,然後通過加載模塊脫機加載存儲模塊中的已有WebAPP資源或者網絡加載未Cache存儲的WebAPP資源,再通過更新模塊更新存儲模塊中的WebAPP的資源,能將用戶訪問的WebAPP資源自動Cache到本地,以確保用戶在離線情況下也能使用該WebAPP,可以實現WebApp離線和在線方式的無痕切換,適用於支持離線應用的各類WebAPP。顯然,本領域的技術人員可以對發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種WebAPP動態脫機存儲系統,其特徵在於,包括: 存儲模塊,用於將用戶訪問過的每個WebAPP的資源Cache到本地保存; 加載模塊,用於加載當前WebAPP的資源,加載前先判斷當前WebAPP的資源是否已經被Cache到本地保存,若是,從所述存儲模塊保存的所有資源中加載當前WebAPP的資源;若否,網絡加載當前WebAPP的資源,並調用所述存儲模塊,將當前WebAPP的資源Cache到本地保存; 更新模塊,用於在所述加載模塊加載當前WebAPP的資源完畢後,後臺更新所述當前WebAPP的資源到所述存儲模塊中。
2.如權利要求1所述的WebAPP動態脫機存儲系統,其特徵在於,所述存儲模塊包括資料庫單元和緩存單元,所述緩存單元用於將用戶訪問過的每個WebAPP的資源Cache到本地並保存所述每個WebAPP的資源;所述資料庫單元用於標識每個WebAPP的資源及其在所述緩存單元中的位置,建立每個WebAPP的索引信息。
3.如權利要求2所述的WebAPP動態脫機存儲系統,其特徵在於,所述資料庫單元採用SQLITE3資料庫,將每個WebAPP的資源的URL作為關鍵詞來標識每個WebAPP的資源及其在所述緩存單元中的位置。
4.如權利要求2所述的WebAPP動態脫機存儲系統,其特徵在於,所述緩存單元以文件方式保存所述每個WebAPP的資源,同時還保存所述每個WebAPP的http響應信息。
5.如權利要求1所述的WebAPP動態脫機存儲系統,其特徵在於,所述更新模塊通過http協議逐個更新所述當前WebAPP的資源到所述存儲模塊中,並在更新完成後,以JavaScript事件的形式通知所述當前WebApp以切換到新的WebApp環境。
6.一種WebAPP動態脫機存儲方法,其特徵在於,包括: 所述存儲模塊將用戶訪問過的每個WebAPP的資源Cache到本地保存; 啟動當前WebAPP,所述加載模塊判斷當前WebAPP的資源是否已經被Cache到本地保存,若是,從所述存儲模塊保存的所有資源中加載當前WebAPP的資源;若否,網絡加載當前WebAPP的資源,並調用所述存儲模塊,將當前WebAPP的資源Cache到本地保存; 當所述加載模塊加載當前WebAPP的資源完畢後,所述更新模塊後臺更新所述當前WebAPP的資源到所述存儲模塊中。
7.如權利要求6所述的WebAPP動態脫機存儲方法,其特徵在於,所述存儲模塊包括資料庫單元和緩存單元,所述緩存單元用於將用戶訪問過的每個WebAPP的資源Cache到本地並保存所述每個WebAPP的資源;所述資料庫單元用於標識每個WebAPP的資源及其在所述緩存單元中的位置,建立每個WebAPP的索引信息。
8.如權利要求7所述的WebAPP動態脫機存儲方法,其特徵在於,所述資料庫單元採用SQLITE3資料庫,將每個WebAPP的資源的URL作為關鍵詞來標識每個WebAPP的資源及其在所述緩存單元中的位置。
9.如權利要求7所述的WebAPP動態脫機存儲方法,其特徵在於,所述緩存單元以文件方式保存所述每個WebAPP的資源,同時還保存所述每個WebAPP的http響應信息。
10.如權利要求6所述的WebAPP動態脫機存儲方法,其特徵在於,所述更新模塊通過http協議逐個更新所述當前WebAPP的資源到所述存儲模塊中,並在更新完成後,以JavaScript事件的形式通知所述當前WebApp以切換到新的WebApp環境。
全文摘要
本發明提供一種WebAPP動態脫機存儲系統及方法,通過存儲模塊將用戶訪問過的每個WebAPP的資源Cache到本地保存,然後通過加載模塊脫機加載存儲模塊中的已有WebAPP資源或者網絡加載未Cache存儲的WebAPP資源,再通過更新模塊更新存儲模塊中的WebAPP的資源,能將用戶訪問的WebAPP資源自動Cache到本地,以確保用戶在離線情況下也能使用該WebAPP,可以實現WebApp離線和在線方式的無痕切換,適用於支持離線應用的各類WebAPP。
文檔編號G06F17/30GK103186594SQ20111045413
公開日2013年7月3日 申請日期2011年12月29日 優先權日2011年12月29日
發明者呂磊 申請人:盛樂信息技術(上海)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀