欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應用程序的緩存處理方法和裝置制造方法

文檔序號:6518937閱讀:167來源:國知局
應用程序的緩存處理方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種應用程序的緩存處理方法和裝置。其中,應用程序的緩存處理方法包括:當應用程序的Xap壓縮包被訪問時,獲取Xap壓縮包的當前地址,其中,當前地址中包含有最新修改時間參數;獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時間參數;判斷當前地址與歷史地址是否一致;如果判斷出當前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及如果判斷出當前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。通過本發(fā)明,達到了使用應用程序的緩存時依然能夠使用最新的應用程序效果。
【專利說明】應用程序的緩存處理方法和裝置
【技術領域】
[0001]本發(fā)明涉及互聯網領域,具體而言,涉及一種應用程序的緩存處理方法和裝置。
【背景技術】
[0002]Silverlight程序在發(fā)布時,會產生一個主Xap壓縮包和多個被Xap壓縮包關聯的Zip壓縮包。使用Silverlight程序時,會先從服務器獲取Xap壓縮包,并通過Xap包內置的配置文件下載相關的Zip壓縮包。在一般的瀏覽器客戶端中都存在一種緩存機制,用戶在使用Silverlight程序時,會由瀏覽器判斷是否存在及使用之前的緩存??赡転g覽器會直接使用本地的緩存,而不是重新從服務器下載。通過在服務器端進行特殊的配置,可以讓瀏覽器不使用緩存,每次都從服務器重新下載。
[0003]使用緩存的問題在于,如果更新了 Silverlight應用程序,而用戶在本地使用了緩存,就無法使用最新版的應用程序。而且Silverlight的Xap壓縮包和Zip壓縮包是分別緩存的,可能出現重新下載Xap壓縮包而使用Zip壓縮包的緩存,或者使用Xap壓縮包的緩存而重新下載Zip壓縮包的情況,這可能導致Silverlight的Zip壓縮包和Xap壓縮包版本不一致,導致程序運行異常。而不使用緩存的問題在于,每次都需要重新下載所有壓縮包,浪費了帶寬和效率。
[0004]針對相關技術中在使用應用程序的緩存時無法使用最新的應用程序的問題,目前尚未提出有效的解決方案。

【發(fā)明內容】

[0005]本發(fā)明的主要目的在于提供一種應用程序的緩存處理方法和裝置,以解決相關技術中在使用應用程序的緩存時無法使用最新的應用程序問題。
[0006]為了實現上述目的,根據本發(fā)明的一個方面,提供了一種應用程序的緩存處理方法。該應用程序的緩存處理方法包括:當應用程序的Xap壓縮包被訪問時,獲取Xap壓縮包的當前地址,其中,當前地址中包含有最新修改時間參數;獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時間參數;判斷當前地址與歷史地址是否一致,其中,通過判斷最新修改時間參數對應的時間與歷史修改時間參數對應的時間是否一致以判斷當前地址與歷史地址是否一致,其中,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,則確定當前地址與歷史地址一致,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,則確定當前地址與歷史地址不一致;如果判斷出當前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及如果判斷出當前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0007]進一步地,當應用程序的Xap壓縮包被訪問時,獲取Xap壓縮包的當前地址包括:判斷Xap壓縮包承載的頁面是否加載Xap壓縮包;如果判斷出Xap壓縮包承載的頁面加載Xap壓縮包,則動態(tài)獲取Xap壓縮包的最新修改時間;以及將最新修改時間添加到Xap壓縮包的地址中作為修改時間參數。[0008]進一步地,緩存處理方法還包括:判斷Xap壓縮包是否有更新;如果判斷出Xap壓縮包有更新,則解壓Xap壓縮包;從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址;檢測讀取的Zip壓縮包的最新修改時間;以及將最新修改時間記錄到配置文件中作為修改時間參數。
[0009]進一步地,在將最新修改時間記錄到配置文件中作為修改時間參數之后,緩存處理方法還包括:保存修改后的配置文件;以及基于修改后的配置文件重新壓縮Xap壓縮包。
[0010]進一步地,應用程序為Silverlight應用程序。
[0011]為了實現上述目的,根據本發(fā)明的另一方面,提供了一種應用程序的緩存處理裝置。該應用程序的緩存處理裝置包括:第一獲取單元,用于當應用程序的Xap壓縮包被訪問時,獲取Xap壓縮包的當前地址,其中,當前地址中包含有最新修改時間參數;第二獲取單元,用于獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時間參數;第一判斷單元,用于判斷當前地址與歷史地址是否一致,其中,通過判斷最新修改時間參數對應的時間與歷史修改時間參數對應的時間是否一致以判斷當前地址與歷史地址是否一致,其中,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,則確定當前地址與歷史地址一致,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,則確定當前地址與歷史地址不一致;調用單元,用于如果判斷出當前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及下載單元,用于如果判斷出當前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0012]進一步地,第一獲取單元包括:判斷模塊,用于判斷Xap壓縮包承載的頁面是否加載Xap壓縮包;獲取模塊,用于如果判斷出Xap壓縮包承載的頁面加載Xap壓縮包,則動態(tài)獲取Xap壓縮包的最新修改時間;以及添加模塊,用于將最新修改時間添加到Xap壓縮包的地址中作為修改時間參數。
[0013]進一步地,緩存處理裝置還包括:第二判斷單元,用于判斷Xap壓縮包是否有更新;解壓單元,用于如果判斷出Xap壓縮包有更新,則解壓Xap壓縮包;讀取單元,用于從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址;檢測單元,用于檢測讀取的Zip壓縮包的最新修改時間;以及記錄單元,用于將最新修改時間記錄到配置文件中作為修改時間參數。
[0014]進一步地,緩存處理裝置還包括:存儲單元,用于在將最新修改時間記錄到配置文件中作為修改時間參數之后,保存修改后的配置文件;以及壓縮單元,用于基于修改后的配置文件重新壓縮Xap壓縮包。
[0015]進一步地,應用程序為Silverlight應用程序。
[0016]通過本發(fā)明,采用應用程序的緩存處理方法包括:當應用程序的Xap壓縮包被訪問時,獲取Xap壓縮包的當前地址,其中,當前地址中包含有最新修改時間參數;獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時間參數;判斷當前地址與歷史地址是否一致,其中,通過判斷最新修改時間參數對應的時間與歷史修改時間參數對應的時間是否一致以判斷當前地址與歷史地址是否一致,其中,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,則確定當前地址與歷史地址一致,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,則確定當前地址與歷史地址不一致;如果判斷出當前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及如果判斷出當前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中,解決了相關技術中在使用應用程序的緩存時無法使用最新的應用程序的問題,進而達到了使用應用程序的緩存時依然能夠使用最新的應用程序效果。
【專利附圖】

【附圖說明】
[0017] 構成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0018]圖1是根據本發(fā)明第一實施例的應用程序的緩存處理裝置的結構示意圖;
[0019]圖2是根據本發(fā)明第二實施例的應用程序的緩存處理裝置的結構示意圖;
[0020]圖3是根據本發(fā)明第一實施例的應用程序的緩存處理方法的流程圖;以及
[0021]圖4是根據本發(fā)明第二實施例的應用程序的緩存處理方法的流程圖。
【具體實施方式】
[0022]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發(fā)明。
[0023]為了使本【技術領域】的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
[0024]需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發(fā)明的實施例。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
[0025]本發(fā)明實施例提供了一種應用程序的緩存處理裝置,該裝置可以通過計算機設備實現其功能。
[0026]圖1是根據本發(fā)明第一實施例的應用程序的緩存處理裝置的結構示意圖。如圖1所示,該應用程序的緩存處理裝置包括:第一獲取單元10、第二獲取單元20、第一判斷單元30、調用單元40和下載單元50。
[0027]第一獲取單元10用于當應用程序的Xap壓縮包被訪問時,獲取Xap壓縮包的當前地址,其中,當前地址中包含有最新修改時間參數。
[0028]在應用程序需要更新的時候,訪問應用程序的Xap壓縮包,從而可以從服務器上獲取最新的Xap壓縮包的當前地址,該當前地址可以是在有Xap壓縮包實際的地址上增加Xap壓縮包最新修改時間參數所形成的地址,從而使得該當前地址中包含有最新修改時間參數,其中,最新修改時間參數可以是對應著Xap壓縮包最新修改的時間參數。例如,Xap壓縮包的實際地址是:http://localhost/test, xap,最新修改時間是2013年8月I日,則修改后的地址可以是:http://localhost/test.xap?ignore=20130801。通過獲取Xap 壓縮包的當前地址可以根據該當前地址獲取Xap壓縮包,同時,也能夠知道當前地址對應的Xap壓縮包的更新時間,從而便于判斷該Xap壓縮包相對于本地緩存中的Xap壓縮包是否有過修改或者更新。
[0029]第二獲取單元20用于獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時間參數。
[0030]在本地緩存中獲取Xap壓縮包的歷史地址,本地緩存可以是本地瀏覽器的緩存,其中歷史地址可以是上一次下載Xap壓縮包的地址,可以是最近一次下載到緩存中的Xap壓縮包的地址。歷史地址中包含有的歷史修改時間參數可以上一次Xap壓縮包進行修改或者更新后的時間參數,從該時間參數中可以獲取上一次Xap壓縮包進行修改或者更新的時間。其中,歷史修改參數可以是在上一次下載到緩存中的Xap壓縮包對應的地址上添加的上一次Xap壓縮包進行修改或者更新后的時間參數。通過獲取緩存中Xap壓縮包的歷史地址可以得到緩存中的Xap壓縮包的下載的時間,以便于判斷緩存中的Xap壓縮包是否為最新的Xap壓縮包。
[0031]第一判斷單元30用于判斷當前地址與歷史地址是否一致,其中,通過判斷最新修改時間參數對應的時間與歷史修改時間參數對應的時間是否一致以判斷當前地址與歷史地址是否一致,其中,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,則確定當前地址與歷史地址一致,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,則確定當前地址與歷史地址不一致。
[0032]在獲取Xap壓縮包的當前地址和緩存中Xap壓縮包的歷史地址之后,可以通過判斷當前地址與歷史地址是否一致來確定緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為相同的Xap壓縮包。由于當前地址和歷史地址分別帶有最新修改時間參數和歷史修改時間參數,通過判斷最新修改時間參數對應的時間和歷史修改時間參數對應的時間就可以判斷緩存中Xap壓縮包與服務器上的最新的Xap壓縮包是否為相同的Xap壓縮包。
[0033]調用單元40用于如果判斷出當前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包。
[0034]如果當前地址與歷史地址一致,也即是最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,那么緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為相同的Xap壓縮包,因此可以直接使用緩存中的Xap壓縮包來更新應用程序。
[0035]下載單元50用于如果判斷出當前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0036]如果當前地址與歷史地址不一致,也即是最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,那么緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為不同的Xap壓縮包,即,在上一次下載Xap壓縮包之后,服務器上又修改了 Xap壓縮包,因此重新下載Xap壓縮包至緩存中以實現對應用程序的更新。
[0037]根據本發(fā)明實施例,通過獲取Xap壓縮包的當前地址和緩存中的Xap壓縮包的歷史地址,將Xap壓縮包的地址與Xap壓縮包的更新時間關聯起來,判斷當前地址中的最新修改時間參數對應的時間和歷史地址中的歷史修改時間參數對應的時間,從而判斷緩存中Xap壓縮包是否為最新的Xap壓縮包,當緩存中Xap壓縮包為最新的Xap壓縮包時,則直接使用該緩存中Xap壓縮包;當緩存中Xap壓縮包不是最新的Xap壓縮包時,貝U下載最新的Xap壓縮包到緩存中,使用緩存中的最新的Xap壓縮包更新應用程序,解決了在使用應用程序的緩存時無法使用最新的應用程序的問題,進而達到了使用應用程序的緩存時依然能夠使用最新的應用程序效果。
[0038]圖2是根據本發(fā)明第二實施例的應用程序的緩存處理裝置的結構示意圖。該實施例的應用程序的緩存處理裝置可以作為上述實施例的應用程序的緩存處理裝置一種優(yōu)選實施方式。如圖2所示,該應用程序的緩存處理裝置包括:第一獲取單元10、第二獲取單元20、第一判斷單元30、調用單元40和下載單元50,其中,第一獲取單元10包括判斷模塊101、獲取模塊102和添加模塊103。第二獲取單元20、第一判斷單元30、調用單元40和下載單元50與圖1所示的實施例的第二獲取單元20、第一判斷單元30、調用單元40和下載單元50功能相同,這里不做贅述。
[0039]判斷模塊101用于判斷Xap壓縮包承載的頁面是否加載Xap壓縮包。
[0040]當應用程序的Xap壓縮包被訪問時,都需要檢測并判斷Xap壓縮包承載頁面是否加載了 Xap壓縮包,以便于在Xap壓縮包承載頁面加載Xap壓縮包時獲取Xap壓縮包的最新修改的時間。
[0041]獲取模塊102用于如果判斷出Xap壓縮包承載的頁面加載Xap壓縮包,則動態(tài)獲取Xap壓縮包的最新修改時間。
[0042]最新修改時間為最近一次修改的時間,經過判斷Xap壓縮包承載的頁面是否加載Xap壓縮包之后,在每次確認Xap壓縮包承載的頁面加載Xap壓縮包時,動態(tài)的獲取Xap壓縮包的最新修改時間,以便于將該最新修改時間添加到Xap壓縮包的地址中。
[0043]添加模塊103,用于將最新修改時間添加到Xap壓縮包的地址中作為修改時間參數。
[0044]在獲取到Xap壓縮包的最新修改時間之后,將最新修改時間添加到Xap壓縮包的實際地址中,可以是將最新修改時間附在Xap壓縮包的實際地址之后,例如,Xap壓縮包的實際地址是:http: //localhost/test, xap,最新修改時間是2013年8月I曰,則修改后的地址可以是:http://localhost/test.xap?ignore=20130801。將添加到 Xap 壓縮包的實際地址中的最新修改時間作為最新修改時間參數,因此,添加最新修改時間后的Xap壓縮包的地址即為Xap壓縮包的當前地址。
[0045]優(yōu)選地,本發(fā)明實施例的應用程序的緩存處理裝置還包括:第二判斷單元、讀取單元、檢測單元和記錄單元。
[0046]第二判斷單元用于判斷Xap壓縮包是否有更新。
[0047]判斷Xap壓縮包是否有更新可以是判斷服務器上的Xap壓縮包相對于本地緩存中的Xap壓縮包是否有更新。當Xap壓縮包有更新時,可以下載最新的Xap壓縮包,當Xap壓縮包有更新無更新時,則可以直接使用緩存中的Xap壓縮包。
[0048]解壓單元用于如果判斷出Xap壓縮包有更新,則解壓Xap壓縮包。
[0049]如果判斷出Xap壓縮包有更新,在每次Xap壓縮包更新時,解壓Xap壓縮包,可以是自動解壓Xap壓縮包。由于Xap壓縮包內置的配置文件中記錄有該Xap壓縮包相關的Zip壓縮包的地址,因此對Xap壓縮包進行解壓,以便于讀取Zip壓縮包的地址。
[0050]讀取單元用于從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址。[0051]在解壓Xap壓縮包之后,讀取Xap壓縮包內置的配置文件中記錄有該Xap壓縮包引用的Zip壓縮包的地址,該地址為Zip壓縮包的當前地址,Zip壓縮包的當前地址與Xap壓縮包的當前地址具有類似的作用,即,Zip壓縮包的當前地址中包含有Zip壓縮包的最新修改時間參數。其中,Zip壓縮包的最新修改時間參數與Xap壓縮包的最新修改時間參數功能相同,Zip壓縮包的當前地址與Xap壓縮包的當前地址的設置方式也相同。
[0052]檢測單元用于檢測讀取的Zip壓縮包的最新修改時間。
[0053]讀取的Zip壓縮包的最新修改時間可以是讀取記錄的引用Zip壓縮包的地址中Zip壓縮包的最新修改時間參數對應的時間。逐一檢測Xap壓縮包引用的各Zip壓縮包的最新修改時間,以便于對Xap壓縮包的配置文件中的Zip壓縮包的地址進行更改。
[0054]記錄單元用于將最新修改時間記錄到配置文件中作為修改時間參數。
[0055]將Zip壓縮包的最新修改時間記錄到配置文件中作為Zip壓縮包的最新修改時間參數。
[0056]根據本發(fā)明實施例,自動檢測并修改Xap壓縮包中記錄Zip壓縮包地址的配置文件,使得Xap壓縮包與其引用的Zip壓縮包保持一致,避免應用程序的Zip壓縮包和Xap壓縮包版本不一致,導致程序運行異常的問題。
[0057]優(yōu)選地,應用程序的緩存處理裝置還包括存儲單元和壓縮單元。
[0058]存儲單元用于在將最新修改時間記錄到配置文件中作為修改時間參數之后,保存修改后的配置文件。
[0059]將Zip壓縮包的最新修改時間記錄到配置文件中作為Zip壓縮包的最新修改時間參數之后,即完成了對Xap壓縮包的配置文件的修改,在修改好該配置文件之后,對修改后的配置文件進行存儲。
[0060]壓縮單元用于基于修改后的配置文件重新壓縮Xap壓縮包。
[0061]對配置文件修改并存儲后,重新壓縮修改后的Xap壓縮包形成新的Xap壓縮包,從而可以用于應用程序的更新。
[0062]優(yōu)選地,在對Xap壓縮包進行相應地處理之后,還可以對Zip壓縮包的修改或更新情況進行判斷,其對應的處理方式同本發(fā)明第一實施例的應用程序的緩存處理方法的Xap壓縮包的處理方式相同,這里不做贅述?;赬ap壓縮包的處理之后,判斷出是使用緩存中的Zip壓縮包或者時重新下載新的Zip壓縮包,以便于使得Xap壓縮包與其配置文件中引用的Zip壓縮包保持一致,從而避免應用程序的Zip壓縮包和Xap壓縮包版本不一致,導致程序運行異常的問題。
[0063]優(yōu)選地,本發(fā)明實施例的應用程序為Silverlight應用程序。
[0064]本發(fā)明實施例還提供了 一種應用程序的緩存處理方法。該方法可以運行在計算機設備上。需要說明的是,本發(fā)明實施例的應用程序的緩存處理方法可以通過本發(fā)明實施例所提供的應用程序的緩存處理裝置來執(zhí)行,本發(fā)明實施例的應用程序的緩存處理裝置也可以用于執(zhí)行本發(fā)明實施例所提供的應用程序的緩存處理方法。
[0065]圖3是根據本發(fā)明第一實施例的應用程序的緩存處理方法的流程圖。如圖3所示,該應用程序的緩存處理方法包括以下步驟:
[0066]步驟SIOI,當應用程序的Xap壓縮包被訪問時,獲取Xap壓縮包的當前地址,其中,當前地址中包含有最新修改時間參數。[0067]在應用程序需要更新的時候,訪問應用程序的Xap壓縮包,從而可以從服務器上獲取最新的Xap壓縮包的當前地址,該當前地址可以是在有Xap壓縮包實際的地址上增加Xap壓縮包最新修改時間參數所形成的地址,從而使得該當前地址中包含有最新修改時間參數,其中,最新修改時間參數可以是對應著Xap壓縮包最新修改的時間參數。例如,Xap壓縮包的實際地址是:http://localhost/test, xap,最新修改時間是2013年8月I日,則修改后的地址可以是:http: //localhost/test.xap?ignore=20130801。通過獲取 Xap 壓縮包的當前地址可以根據該當前地址獲取Xap壓縮包,同時,也能夠知道當前地址對應的Xap壓縮包的更新時間,從而便于判斷該Xap壓縮包相對于本地緩存中的Xap壓縮包是否有過修改或者更新。
[0068]步驟S102,獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時間參數。
[0069]在本地緩存中獲取Xap壓縮包的歷史地址,本地緩存可以是本地瀏覽器的緩存,其中歷史地址可以是上一次下載Xap壓縮包的地址,可以是最近一次下載到緩存中的Xap壓縮包的地址。歷史地址中包含有的歷史修改時間參數可以上一次Xap壓縮包進行修改或者更新后的時間參數,從該時間參數中可以獲取上一次Xap壓縮包進行修改或者更新的時間。其中,歷史修改參數可以是在上一次下載到緩存中的Xap壓縮包對應的地址上添加的上一次Xap壓縮包進行修改或者更新后的時間參數。通過獲取緩存中Xap壓縮包的歷史地址可以得到緩存中的Xap壓縮包的下載的時間,以便于判斷緩存中的Xap壓縮包是否為最新的Xap壓縮包。
[0070]步驟S103,判斷當前地址與歷史地址是否一致,其中,通過判斷最新修改時間參數對應的時間與歷史修改時間參數對應的時間是否一致以判斷當前地址與歷史地址是否一致,其中,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,則確定當前地址與歷史地址一致,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,則確定當前地址與歷史地址不一致。
[0071]在獲取Xap壓縮包的當前地址和緩存中Xap壓縮包的歷史地址之后,可以通過判斷當前地址與歷史地址是否一致來確定緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為相同的Xap壓縮包。由于當前地址和歷史地址分別帶有最新修改時間參數和歷史修改時間參數,通過判斷最新修改時間參數對應的時間和歷史修改時間參數對應的時間就可以判斷緩存中Xap壓縮包與服務器上的最新的Xap壓縮包是否為相同的Xap壓縮包。
[0072]步驟S104,如果判斷出當前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包。
[0073]如果當前地址與歷史地址一致,也即是最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,那么緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為相同的Xap壓縮包,因此可以直接使用緩存中的Xap壓縮包來更新應用程序。
[0074]步驟S105,如果判斷出當前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0075]如果當前地址與歷史地址不一致,也即是最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,那么緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為不同的Xap壓縮包,即,在上一次下載Xap壓縮包之后,服務器上又修改了 Xap壓縮包,因此重新下載Xap壓縮包至緩存中以實現對應用程序的更新。
[0076]根據本發(fā)明實施例,通過獲取Xap壓縮包的當前地址和緩存中的Xap壓縮包的歷史地址,將Xap壓縮包的地址與Xap壓縮包的更新時間關聯起來,判斷當前地址中的最新修改時間參數對應的時間和歷史地址中的歷史修改時間參數對應的時間,從而判斷緩存中Xap壓縮包是否為最新的Xap壓縮包,當緩存中Xap壓縮包為最新的Xap壓縮包時,則直接使用該緩存中Xap壓縮包;當緩存中Xap壓縮包不是最新的Xap壓縮包時,貝U下載最新的Xap壓縮包到緩存中,使用緩存中的最新的Xap壓縮包更新應用程序,解決了在使用應用程序的緩存時無法使用最新的應用程序的問題,進而達到了使用應用程序的緩存時依然能夠使用最新的應用程序效果。
[0077]圖4是根據本發(fā)明第二實施例的應用程序的緩存處理方法的流程圖。該實施例的應用程序的緩存處理方法可以作為上述實施例的應用程序的緩存處理方法的一種優(yōu)選實施方式。如圖4所示,該應用程序的緩存處理方法包括以下步驟:
[0078]步驟S201,判斷Xap壓縮包承載的頁面是否加載Xap壓縮包。
[0079]當應用程序的Xap壓縮包被訪問時,都需要檢測并判斷Xap壓縮包承載頁面是否加載了 Xap壓縮包,以便于在Xap壓縮包承載頁面加載Xap壓縮包時獲取Xap壓縮包的最新修改的時間。
[0080]步驟S202,如果判斷出Xap壓縮包承載的頁面加載Xap壓縮包,則動態(tài)獲取Xap壓縮包的最新修改時間。
[0081]最新修改時間為最近一次修改的時間,經過判斷Xap壓縮包承載的頁面是否加載Xap壓縮包之后,在每次確認Xap壓縮包承載的頁面加載Xap壓縮包時,動態(tài)的獲取Xap壓縮包的最新修改時間,以便于將該最新修改時間添加到Xap壓縮包的地址中。
[0082]步驟S203,將最新修改時間添加到Xap壓縮包的地址中作為修改時間參數。
[0083]在獲取到Xap壓縮包的最新修改時間之后,將最新修改時間添加到Xap壓縮包的實際地址中,可以是將最新修改時間附在Xap壓縮包的實際地址之后,例如,Xap壓縮包的實際地址是:http://localhost/test.xap,最新修改時間是2013年8月1曰,則修改后的地址可以是:http://localhost/test.xap?ignore=20130801。將添加到 Xap 壓縮包的實際地址中的最新修改時間作為最新修改時間參數,因此,添加最新修改時間后的Xap壓縮包的地址即為Xap壓縮包的當前地址。
[0084]步驟S204,獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時間參數。
[0085]在本地緩存中獲取Xap壓縮包的歷史地址,本地緩存可以是本地瀏覽器的緩存,其中歷史地址可以是上一次下載Xap壓縮包的地址,可以是最近一次下載到緩存中的Xap壓縮包的地址。歷史地址中包含有的歷史修改時間參數可以上一次Xap壓縮包進行修改或者更新后的時間參數,從該時間參數中可以獲取上一次Xap壓縮包進行修改或者更新的時間。其中,歷史修改參數可以是在上一次下載到緩存中的Xap壓縮包對應的地址上添加的上一次Xap壓縮包進行修改或者更新后的時間參數。通過獲取緩存中Xap壓縮包的歷史地址可以得到緩存中的Xap壓縮包的下載的時間,以便于判斷緩存中的Xap壓縮包是否為最新的Xap壓縮包。
[0086]步驟S205,判斷當前地址與歷史地址是否一致,其中,通過判斷最新修改時間參數對應的時間與歷史修改時間參數對應的時間是否一致以判斷當前地址與歷史地址是否一致,其中,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,則確定當前地址與歷史地址一致,如果判斷出最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,則確定當前地址與歷史地址不一致。
[0087]在獲取Xap壓縮包的當前地址與和緩存中Xap壓縮包的歷史地址之后,可以通過判斷當前地址與歷史地址是否一致來確定緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為相同的Xap壓縮包。由于當前地址和歷史地址分別帶有最新修改時間參數和歷史修改時間參數,通過判斷最新修改時間參數對應的時間和歷史修改時間參數對應的時間就可以判斷緩存中Xap壓縮包與服務器上的最新的Xap壓縮包是否為相同的Xap壓縮包。
[0088]步驟S206,如果判斷出當前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包。
[0089]如果當前地址與歷史地址一致,也即是最新修改時間參數對應的時間與歷史修改時間參數對應的時間一致,那么緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為相同的Xap壓縮包,因此可以直接使用緩存中的Xap壓縮包來更新應用程序。
[0090]步驟S207,如果判斷出當前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0091]如果當前地址與歷史地址不一致,也即是最新修改時間參數對應的時間與歷史修改時間參數對應的時間不一致,那么緩存中Xap壓縮包與服務器上的最新的Xap壓縮包為不同的Xap壓縮包,即,在上一次下載Xap壓縮包之后,服務器上又修改了 Xap壓縮包,因此重新下載Xap壓縮包至緩存中以實現對應用程序的更新。
[0092]根據本發(fā)明實施例,通過在Xap壓縮包承載的頁面加載Xap壓縮包時,動態(tài)獲取Xap壓縮包的最新修改時間并將該最新修改時間添加到Xap壓縮包的地址中作為參數,可以在每次下載Xap壓縮包之后,將其對應的當前地址存儲在緩存中,作為下次修改的歷史地址,從而保證使得每次應用程序更新時,都可以判斷緩存中Xap壓縮包是否為最新的Xap壓縮包。
[0093]優(yōu)選地,本發(fā)明實施例的應用程序緩存處理方法還包括以下步驟:
[0094]步驟S301,判斷Xap壓縮包是否有更新。
[0095]判斷Xap壓縮包是否有更新可以是判斷服務器上的Xap壓縮包相對于本地緩存中的Xap壓縮包是否有更新。當Xap壓縮包有更新時,可以下載最新的Xap壓縮包,當Xap壓縮包有更新無更新時,則可以直接使用緩存中的Xap壓縮包。
[0096]步驟S302,如果判斷出Xap壓縮包是否有更新,則解壓Xap壓縮包。
[0097]如果判斷出Xap壓縮包有更新,在每次Xap壓縮包更新時,解壓Xap壓縮包,可以是自動解壓Xap壓縮包。由于Xap壓縮包內置的配置文件中記錄有該Xap壓縮包相關的Zip壓縮包的地址,因此對Xap壓縮包進行解壓,以便于讀取Zip壓縮包的地址。
[0098]步驟S303,從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址。
[0099]在解壓Xap壓縮包之后,讀取Xap壓縮包內置的配置文件中記錄有該Xap壓縮包引用的Zip壓縮包的地址,該地址為Zip壓縮包的當前地址,Zip壓縮包的當前地址與Xap壓縮包的當前地址具有類似的作用,即,Zip壓縮包的當前地址中包含有Zip壓縮包的最新修改時間參數。其中,Zip壓縮包的最新修改時間參數與Xap壓縮包的最新修改時間參數功能相同,Zip壓縮包的當前地址與Xap壓縮包的當前地址的設置方式也相同。
[0100]步驟S304,檢測讀取的Zip壓縮包的最新修改時間。
[0101]讀取的Zip壓縮包的最新修改時間可以是讀取記錄的引用Zip壓縮包的地址中Zip壓縮包的最新修改時間參數對應的時間。逐一檢測Xap壓縮包引用的各Zip壓縮包的最新修改時間,以便于對Xap壓縮包的配置文件中的Zip壓縮包的地址進行更改。
[0102]步驟S305,將最新修改時間記錄到配置文件中作為修改時間參數。
[0103]將Zip壓縮包的最新修改時間記錄到配置文件中作為Zip壓縮包的最新修改時間參數。
[0104]根據本發(fā)明實施例,自動檢測并修改Xap壓縮包中記錄Zip壓縮包地址的配置文件,使得Xap壓縮包與其引用的Zip壓縮包保持一致,避免應用程序的Zip壓縮包和Xap壓縮包版本不一致,導致程序運行異常的問題。
[0105]優(yōu)選地,在步驟S305之后,應用程序的緩存處理方法還包括步驟S306和步驟S307。
[0106]步驟S306,保存修改后的配置文件。
[0107]將Zip壓縮包的最新修改時間記錄到配置文件中作為Zip壓縮包的最新修改時間參數之后,即完成了對Xap壓縮包的配置文件的修改,在修改好該配置文件之后,對修改后的配置文件進行存儲。
[0108]步驟S307,基于修改后的配置文件重新壓縮Xap壓縮包。
[0109]對配置文件修改并存儲后,重新壓縮修改后的Xap壓縮包形成新的Xap壓縮包,從而可以用于應用程序的更新。
[0110]優(yōu)選地,在對Xap壓縮包進行相應地處理之后,還可以對Zip壓縮包的修改或更新情況進行判斷,其對應的處理方式同本發(fā)明第一實施例的應用程序的緩存處理方法的Xap壓縮包的處理方式相同,這里不做贅述?;赬ap壓縮包的處理之后,判斷出是使用緩存中的Zip壓縮包或者時重新下載新的Zip壓縮包,以便于使得Xap壓縮包與其配置文件中引用的Zip壓縮包保持一致,從而避免應用程序的Zip壓縮包和Xap壓縮包版本不一致,導致程序運行異常的問題。
[0111]優(yōu)選地,本發(fā)明實施例的應用程序為Silverlight應用程序。
[0112]根據本發(fā)明上述實施例,可以得出本發(fā)明的有以效果如下:
[0113]當瀏覽器訪問Xap壓縮包時,會判斷Xap壓縮包地址(包含有修改時間參數)與之前緩存的地址是否一致。如果Xap壓縮包從上次緩存之后沒有修改,則最新修改時間不變,地址一致,使用緩存;如果有修改,時間不同,地址改變,則重新下載。解決了在使用應用程序的緩存時無法使用最新的應用程序的問題,進而達到了使用應用程序的緩存時依然能夠使用最新的應用程序效果。
[0114]同時,當應用程序沒有更新時,依然可以利用緩存,該緩存可以是瀏覽器緩存,減少帶寬占用和下載時間。
[0115]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。[0116]顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0117]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種應用程序的緩存處理方法,其特征在于,包括: 當應用程序的Xap壓縮包被訪問時,獲取所述Xap壓縮包的當前地址,其中,所述當前地址中包含有最新修改時間參數; 獲取緩存中所述Xap壓縮包的歷史地址,其中,所述歷史地址中包含有歷史修改時間參數; 判斷所述當前地址與所述歷史地址是否一致,其中,通過判斷所述最新修改時間參數對應的時間與所述歷史修改時間參數對應的時間是否一致以判斷所述當前地址與所述歷史地址是否一致,其中,如果判斷出所述最新修改時間參數對應的時間與所述歷史修改時間參數對應的時間一致,則確定所述當前地址與所述歷史地址一致,如果判斷出所述最新修改時間參數對應的時間與所述歷史修改時間參數對應的時間不一致,則確定所述當前地址與所述歷史地址不一致; 如果判斷出所述當前地址與所述歷史地址一致,則直接使用所述緩存中的所述Xap壓縮包;以及 如果判斷出所述當前地址與所述歷史地址不一致,則重新下載所述Xap壓縮包至所述緩存中。
2.根據權利要求1所述的應用程序的緩存處理方法,其特征在于,當應用程序的Xap壓縮包被訪問時,獲取所述Xap壓縮包的當前地址包括: 判斷所述Xap壓縮包承載的頁面是否加載所述Xap壓縮包; 如果判斷出所述Xap壓縮包承載的頁面加載所述Xap壓縮包,則動態(tài)獲取所述Xap壓縮包的最新修改時間;以及 將所述最新修改時間添加到所述Xap壓縮包的地址中作為修改時間參數。
3.根據權利要求1所述的應用程序的緩存處理方法,其特征在于,所述緩存處理方法還包括: 判斷所述Xap壓縮包是否有更新; 如果判斷出所述Xap壓縮包有更新,則解壓所述Xap壓縮包; 從解壓的所述Xap壓縮包中讀取所述Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址; 檢測讀取的所述Zip壓縮包的最新修改時間;以及 將所述最新修改時間記錄到配置文件中作為修改時間參數。
4.根據權利要求3所述的應用程序的緩存處理方法,其特征在于,在將所述最新修改時間記錄到配置文件中作為修改時間參數之后,所述緩存處理方法還包括: 保存修改后的所述配置文件;以及 基于修改后的所述配置文件重新壓縮所述Xap壓縮包。
5.根據權利要求1所述的應用程序的緩存處理方法,其特征在于,所述應用程序為Silverlight應用程序。
6.一種應用程序的緩存處理裝置,其特征在于,包括: 第一獲取單元,用于當應用程序的Xap壓縮包被訪問時,獲取所述Xap壓縮包的當前地址,其中,所述當前地址中包含有最新修改時間參數; 第二獲取單元,用于獲取緩存中所述Xap壓縮包的歷史地址,其中,所述歷史地址中包含有歷史修改時間參數; 第一判斷單元,用于判斷所述當前地址與所述歷史地址是否一致,其中,通過判斷所述最新修改時間參數對應的時間與所述歷史修改時間參數對應的時間是否一致以判斷所述當前地址與所述歷史地址是否一致,其中,如果判斷出所述最新修改時間參數對應的時間與所述歷史修改時間參數對應的時間一致,則確定所述當前地址與所述歷史地址一致,如果判斷出所述最新修改時間參數對應的時間與所述歷史修改時間參數對應的時間不一致,則確定所述當前地址與所述歷史地址不一致; 調用單元,用于如果判斷出所述當前地址與所述歷史地址一致,則直接使用所述緩存中的所述Xap壓縮包;以及 下載單元,用于如果判斷出所述當前地址與所述歷史地址不一致,則重新下載所述Xap壓縮包至所述緩存中。
7.根據權利要求6所述的應用程序的緩存處理裝置,其特征在于,所述第一獲取單元包括: 判斷模塊,用于判斷所述Xap壓縮包承載的頁面是否加載所述Xap壓縮包; 獲取模塊,用于如果判斷出所述Xap壓縮包承載的頁面加載所述Xap壓縮包,則動態(tài)獲取所述Xap壓縮包的最新修改時間;以及 添加模塊,用于將所述最新修改時間添加到所述Xap壓縮包的地址中作為修改時間參數。
8.根據權利要求6所述的應用程序的緩存處理裝置,其特征在于,所述緩存處理裝置還包括: 第二判斷單元,用于判斷所述Xap壓縮包是否有更新; 解壓單元,用于如果判斷出所述Xap壓縮包有更新,則解壓所述Xap壓縮包; 讀取單元,用于從解壓的所述Xap壓縮包中讀取所述Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址; 檢測單元,用于檢測讀取的所述Zip壓縮包的最新修改時間;以及 記錄單元,用于將所述最新修改時間記錄到配置文件中作為修改時間參數。
9.根據權利要求8所述的應用程序的緩存處理裝置,其特征在于,所述緩存處理裝置還包括: 存儲單元,用于在將所述最新修改時間記錄到配置文件中作為修改時間參數之后,保存修改后的所述配置文件;以及 壓縮單元,用于基于修改后的所述配置文件重新壓縮所述Xap壓縮包。
10.根據權利要求6所述的應用程序的緩存處理裝置,其特征在于,所述應用程序為Silverlight應用程序。
【文檔編號】G06F9/445GK103617052SQ201310566733
【公開日】2014年3月5日 申請日期:2013年11月14日 優(yōu)先權日:2013年11月14日
【發(fā)明者】吳充 申請人:北京國雙科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永济市| 垦利县| 南汇区| 西乌| 通辽市| 临桂县| 娄烦县| 岳普湖县| 洪洞县| 西乡县| 临城县| 扎赉特旗| 得荣县| 罗甸县| 江山市| 普定县| 万源市| 嘉定区| 宁乡县| 梅河口市| 呼伦贝尔市| 都匀市| 蒙阴县| 抚州市| 神农架林区| 万安县| 新津县| 黄浦区| 沁阳市| 旅游| 松阳县| 广平县| 文昌市| 苏尼特右旗| 涟水县| 肃宁县| 舞阳县| 丹寨县| 淳化县| 萍乡市| 科技|