本發(fā)明涉及存儲(chǔ)系統(tǒng),尤其涉及一種基于元數(shù)據(jù)的應(yīng)用離線管理方法和裝置。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)和移動(dòng)設(shè)備的普及,web應(yīng)用在各種平臺(tái)上的使用越來越廣泛。然而,隨著用戶對高可用性、高性能和流暢體驗(yàn)的需求不斷增加,傳統(tǒng)的web應(yīng)用在某些方面表現(xiàn)出了一些不足。特別是在網(wǎng)絡(luò)不穩(wěn)定或完全離線的情況下,web應(yīng)用的可用性和性能常常無法滿足用戶需求。這就促使開發(fā)者尋求新的技術(shù)解決方案,以提高web應(yīng)用的離線能力、緩存管理和整體用戶體驗(yàn)。
2、隨著web標(biāo)準(zhǔn)的不斷發(fā)展,html5引入了一些新特性,如應(yīng)用緩存(appcache)和離線存儲(chǔ)技術(shù),使得web應(yīng)用在離線狀態(tài)下的功能得到了增強(qiáng)。然而,這些技術(shù)也有其局限性,例如應(yīng)用緩存的管理復(fù)雜且難以控制,無法很好地應(yīng)對動(dòng)態(tài)內(nèi)容的更新需求。
3、如何提升web應(yīng)用的離線管理能力,是目前需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種基于元數(shù)據(jù)的應(yīng)用離線管理方法和裝置,用以解決現(xiàn)有技術(shù)中存在的缺陷。
2、本發(fā)明提供一種基于元數(shù)據(jù)的應(yīng)用離線管理方法,應(yīng)用于客戶端,包括如下步驟:
3、在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求;
4、基于所述資源請求獲取本地緩存中的靜態(tài)資源和離線包,并基于所述靜態(tài)資源和離線包中的實(shí)體元數(shù)據(jù)對應(yīng)用頁面進(jìn)行離線渲染;其中,所述離線包為:所述客戶端在在線模式下預(yù)先向服務(wù)器請求并下載解壓得到。
5、根據(jù)本發(fā)明提供的一種基于元數(shù)據(jù)的應(yīng)用離線管理方法,所述在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求之前,所述方法還包括:
6、在所述客戶端處于在線模式的情況下,若符合第一預(yù)設(shè)觸發(fā)條件,則向服務(wù)器發(fā)送離線包獲取請求;其中,所述第一預(yù)設(shè)觸發(fā)條件包括:應(yīng)用首次加載或用戶主動(dòng)觸發(fā)離線包下載;
7、接收服務(wù)器基于所述離線包獲取請求發(fā)送的初始離線包,并對所述初始離線包進(jìn)行下載解壓,得到所述離線包并將所述離線包存儲(chǔ)至本地緩存中。
8、根據(jù)本發(fā)明提供的一種基于元數(shù)據(jù)的應(yīng)用離線管理方法,所述在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求之前,所述方法還包括:
9、在所述客戶端處于在線模式的情況下,若符合第二預(yù)設(shè)觸發(fā)條件,則注冊并激活所述攔截工具;其中,所述第二預(yù)設(shè)觸發(fā)條件包括:用戶首次訪問應(yīng)用;
10、通過所述攔截工具將應(yīng)用的所述靜態(tài)資源存儲(chǔ)至本地緩存中。
11、根據(jù)本發(fā)明提供的一種基于元數(shù)據(jù)的應(yīng)用離線管理方法,所述基于所述資源請求獲取本地緩存中的靜態(tài)資源和離線包,并基于所述靜態(tài)資源和離線包中的實(shí)體元數(shù)據(jù)對應(yīng)用頁面進(jìn)行離線渲染之后,所述方法還包括:
12、將應(yīng)用頁面進(jìn)行離線渲染時(shí)產(chǎn)生的離線數(shù)據(jù)存儲(chǔ)至本地緩存中;
13、在所述客戶端處于在線模式且已連接網(wǎng)絡(luò)的情況下,將所述離線數(shù)據(jù)上傳至服務(wù)器;其中,所述離線數(shù)據(jù)包括:用戶在離線模式下填寫的表單數(shù)據(jù)以及上傳的附件。
14、根據(jù)本發(fā)明提供的一種基于元數(shù)據(jù)的應(yīng)用離線管理方法,所述在所述客戶端處于在線模式且已連接網(wǎng)絡(luò)的情況下,將所述離線數(shù)據(jù)上傳至服務(wù)器之后,所述方法還包括:
15、獲取服務(wù)器基于所述表單數(shù)據(jù)進(jìn)行校驗(yàn)的校驗(yàn)結(jié)果;
16、在所述校驗(yàn)結(jié)果指示校驗(yàn)失敗的情況下,生成提示信息和失敗原因,基于所述失敗原因?qū)⑺鲭x線數(shù)據(jù)重新上傳至服務(wù)器。
17、本發(fā)明還提供一種基于元數(shù)據(jù)的應(yīng)用離線管理裝置,應(yīng)用于客戶端,包括如下模塊:
18、攔截模塊,用于在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求;
19、離線管理模塊,用于基于所述資源請求獲取本地緩存中的靜態(tài)資源和離線包,并基于所述靜態(tài)資源和離線包中的實(shí)體元數(shù)據(jù)對應(yīng)用頁面進(jìn)行離線渲染;其中,所述離線包為:所述客戶端在在線模式下預(yù)先向服務(wù)器請求并下載解壓得到。
20、根據(jù)本發(fā)明提供的一種基于元數(shù)據(jù)的應(yīng)用離線管理裝置,所述裝置還包括離線包獲取模塊,具體用于:
21、所述在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求之前,在所述客戶端處于在線模式的情況下,若符合第一預(yù)設(shè)觸發(fā)條件,則向服務(wù)器發(fā)送離線包獲取請求;其中,所述第一預(yù)設(shè)觸發(fā)條件包括:應(yīng)用首次加載或用戶主動(dòng)觸發(fā)離線包下載;
22、接收服務(wù)器基于所述離線包獲取請求發(fā)送的初始離線包,并對所述初始離線包進(jìn)行下載解壓,得到所述離線包并將所述離線包存儲(chǔ)至本地緩存中。
23、根據(jù)本發(fā)明提供的一種基于元數(shù)據(jù)的應(yīng)用離線管理裝置,所述裝置還包括靜態(tài)資源緩存模塊,具體用于:
24、所述在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求之前,在所述客戶端處于在線模式的情況下,若符合第二預(yù)設(shè)觸發(fā)條件,則注冊并激活所述攔截工具;其中,所述第二預(yù)設(shè)觸發(fā)條件包括:用戶首次訪問應(yīng)用;
25、通過所述攔截工具將應(yīng)用的所述靜態(tài)資源存儲(chǔ)至本地緩存中。
26、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述任一種所述基于元數(shù)據(jù)的應(yīng)用離線管理方法。
27、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述基于元數(shù)據(jù)的應(yīng)用離線管理方法。
28、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述基于元數(shù)據(jù)的應(yīng)用離線管理方法。
29、本發(fā)明提供的一種基于元數(shù)據(jù)的應(yīng)用離線管理方法和裝置,應(yīng)用于客戶端,通過在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求;基于所述資源請求獲取本地緩存中的靜態(tài)資源和離線包,并基于所述靜態(tài)資源和離線包中的實(shí)體元數(shù)據(jù)對應(yīng)用頁面進(jìn)行離線渲染;其中,所述離線包為:所述客戶端在在線模式下預(yù)先向服務(wù)器請求并下載解壓得到。由此可知,本發(fā)明通過攔截工具與離線包技術(shù)的結(jié)合,大大增強(qiáng)了web應(yīng)用的離線使用能力;靜態(tài)資源和大量實(shí)體元數(shù)據(jù)可以預(yù)先緩存和存儲(chǔ),確保即使在完全離線的情況下,應(yīng)用依然能夠提供完整的功能,顯著改善用戶體驗(yàn)。
1.一種基于元數(shù)據(jù)的應(yīng)用離線管理方法,應(yīng)用于客戶端,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的基于元數(shù)據(jù)的應(yīng)用離線管理方法,其特征在于,所述在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求之前,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的基于元數(shù)據(jù)的應(yīng)用離線管理方法,其特征在于,所述在所述客戶端處于離線模式的情況下,若檢測到資源請求,則通過攔截工具攔截所述資源請求之前,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的基于元數(shù)據(jù)的應(yīng)用離線管理方法,其特征在于,所述基于所述資源請求獲取本地緩存中的靜態(tài)資源和離線包,并基于所述靜態(tài)資源和離線包中的實(shí)體元數(shù)據(jù)對應(yīng)用頁面進(jìn)行離線渲染之后,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的基于元數(shù)據(jù)的應(yīng)用離線管理方法,其特征在于,所述在所述客戶端處于在線模式且已連接網(wǎng)絡(luò)的情況下,將所述離線數(shù)據(jù)上傳至服務(wù)器之后,所述方法還包括:
6.一種基于元數(shù)據(jù)的應(yīng)用離線管理裝置,應(yīng)用于客戶端,其特征在于,包括:
7.根據(jù)權(quán)利要求6所述的基于元數(shù)據(jù)的應(yīng)用離線管理裝置,其特征在于,所述裝置還包括離線包獲取模塊,具體用于:
8.根據(jù)權(quán)利要求7所述的基于元數(shù)據(jù)的應(yīng)用離線管理裝置,其特征在于,所述裝置還包括靜態(tài)資源緩存模塊,具體用于:
9.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至5任一項(xiàng)所述基于元數(shù)據(jù)的應(yīng)用離線管理方法。
10.一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至5任一項(xiàng)所述基于元數(shù)據(jù)的應(yīng)用離線管理方法。