應(yīng)用程序的緩存處理方法和裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種應(yīng)用程序的緩存處理方法和裝置。其中,應(yīng)用程序的緩存處理方法包括:當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取Xap壓縮包的當(dāng)前地址,其中,當(dāng)前地址中包含有最新修改時(shí)間參數(shù);獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時(shí)間參數(shù);判斷當(dāng)前地址與歷史地址是否一致;如果判斷出當(dāng)前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及如果判斷出當(dāng)前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。通過(guò)本發(fā)明,達(dá)到了使用應(yīng)用程序的緩存時(shí)依然能夠使用最新的應(yīng)用程序效果。
【專(zhuān)利說(shuō)明】應(yīng)用程序的緩存處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種應(yīng)用程序的緩存處理方法和裝置。
【背景技術(shù)】
[0002]Silverlight程序在發(fā)布時(shí),會(huì)產(chǎn)生一個(gè)主Xap壓縮包和多個(gè)被Xap壓縮包關(guān)聯(lián)的Zip壓縮包。使用Silverlight程序時(shí),會(huì)先從服務(wù)器獲取Xap壓縮包,并通過(guò)Xap包內(nèi)置的配置文件下載相關(guān)的Zip壓縮包。在一般的瀏覽器客戶(hù)端中都存在一種緩存機(jī)制,用戶(hù)在使用Silverlight程序時(shí),會(huì)由瀏覽器判斷是否存在及使用之前的緩存??赡転g覽器會(huì)直接使用本地的緩存,而不是重新從服務(wù)器下載。通過(guò)在服務(wù)器端進(jìn)行特殊的配置,可以讓瀏覽器不使用緩存,每次都從服務(wù)器重新下載。
[0003]使用緩存的問(wèn)題在于,如果更新了 Silverlight應(yīng)用程序,而用戶(hù)在本地使用了緩存,就無(wú)法使用最新版的應(yīng)用程序。而且Silverlight的Xap壓縮包和Zip壓縮包是分別緩存的,可能出現(xiàn)重新下載Xap壓縮包而使用Zip壓縮包的緩存,或者使用Xap壓縮包的緩存而重新下載Zip壓縮包的情況,這可能導(dǎo)致Silverlight的Zip壓縮包和Xap壓縮包版本不一致,導(dǎo)致程序運(yùn)行異常。而不使用緩存的問(wèn)題在于,每次都需要重新下載所有壓縮包,浪費(fèi)了帶寬和效率。
[0004]針對(duì)相關(guān)技術(shù)中在使用應(yīng)用程序的緩存時(shí)無(wú)法使用最新的應(yīng)用程序的問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提供一種應(yīng)用程序的緩存處理方法和裝置,以解決相關(guān)技術(shù)中在使用應(yīng)用程序的緩存時(shí)無(wú)法使用最新的應(yīng)用程序問(wèn)題。
[0006]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種應(yīng)用程序的緩存處理方法。該應(yīng)用程序的緩存處理方法包括:當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取Xap壓縮包的當(dāng)前地址,其中,當(dāng)前地址中包含有最新修改時(shí)間參數(shù);獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時(shí)間參數(shù);判斷當(dāng)前地址與歷史地址是否一致,其中,通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷當(dāng)前地址與歷史地址是否一致,其中,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定當(dāng)前地址與歷史地址一致,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定當(dāng)前地址與歷史地址不一致;如果判斷出當(dāng)前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及如果判斷出當(dāng)前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0007]進(jìn)一步地,當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取Xap壓縮包的當(dāng)前地址包括:判斷Xap壓縮包承載的頁(yè)面是否加載Xap壓縮包;如果判斷出Xap壓縮包承載的頁(yè)面加載Xap壓縮包,則動(dòng)態(tài)獲取Xap壓縮包的最新修改時(shí)間;以及將最新修改時(shí)間添加到Xap壓縮包的地址中作為修改時(shí)間參數(shù)。[0008]進(jìn)一步地,緩存處理方法還包括:判斷Xap壓縮包是否有更新;如果判斷出Xap壓縮包有更新,則解壓Xap壓縮包;從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址;檢測(cè)讀取的Zip壓縮包的最新修改時(shí)間;以及將最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)。
[0009]進(jìn)一步地,在將最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)之后,緩存處理方法還包括:保存修改后的配置文件;以及基于修改后的配置文件重新壓縮Xap壓縮包。
[0010]進(jìn)一步地,應(yīng)用程序?yàn)镾ilverlight應(yīng)用程序。
[0011]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種應(yīng)用程序的緩存處理裝置。該應(yīng)用程序的緩存處理裝置包括:第一獲取單元,用于當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取Xap壓縮包的當(dāng)前地址,其中,當(dāng)前地址中包含有最新修改時(shí)間參數(shù);第二獲取單元,用于獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時(shí)間參數(shù);第一判斷單元,用于判斷當(dāng)前地址與歷史地址是否一致,其中,通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷當(dāng)前地址與歷史地址是否一致,其中,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定當(dāng)前地址與歷史地址一致,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定當(dāng)前地址與歷史地址不一致;調(diào)用單元,用于如果判斷出當(dāng)前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及下載單元,用于如果判斷出當(dāng)前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0012]進(jìn)一步地,第一獲取單元包括:判斷模塊,用于判斷Xap壓縮包承載的頁(yè)面是否加載Xap壓縮包;獲取模塊,用于如果判斷出Xap壓縮包承載的頁(yè)面加載Xap壓縮包,則動(dòng)態(tài)獲取Xap壓縮包的最新修改時(shí)間;以及添加模塊,用于將最新修改時(shí)間添加到Xap壓縮包的地址中作為修改時(shí)間參數(shù)。
[0013]進(jìn)一步地,緩存處理裝置還包括:第二判斷單元,用于判斷Xap壓縮包是否有更新;解壓?jiǎn)卧糜谌绻袛喑鯴ap壓縮包有更新,則解壓Xap壓縮包;讀取單元,用于從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址;檢測(cè)單元,用于檢測(cè)讀取的Zip壓縮包的最新修改時(shí)間;以及記錄單元,用于將最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)。
[0014]進(jìn)一步地,緩存處理裝置還包括:存儲(chǔ)單元,用于在將最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)之后,保存修改后的配置文件;以及壓縮單元,用于基于修改后的配置文件重新壓縮Xap壓縮包。
[0015]進(jìn)一步地,應(yīng)用程序?yàn)镾ilverlight應(yīng)用程序。
[0016]通過(guò)本發(fā)明,采用應(yīng)用程序的緩存處理方法包括:當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取Xap壓縮包的當(dāng)前地址,其中,當(dāng)前地址中包含有最新修改時(shí)間參數(shù);獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時(shí)間參數(shù);判斷當(dāng)前地址與歷史地址是否一致,其中,通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷當(dāng)前地址與歷史地址是否一致,其中,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定當(dāng)前地址與歷史地址一致,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定當(dāng)前地址與歷史地址不一致;如果判斷出當(dāng)前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包;以及如果判斷出當(dāng)前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中,解決了相關(guān)技術(shù)中在使用應(yīng)用程序的緩存時(shí)無(wú)法使用最新的應(yīng)用程序的問(wèn)題,進(jìn)而達(dá)到了使用應(yīng)用程序的緩存時(shí)依然能夠使用最新的應(yīng)用程序效果。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017] 構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0018]圖1是根據(jù)本發(fā)明第一實(shí)施例的應(yīng)用程序的緩存處理裝置的結(jié)構(gòu)示意圖;
[0019]圖2是根據(jù)本發(fā)明第二實(shí)施例的應(yīng)用程序的緩存處理裝置的結(jié)構(gòu)示意圖;
[0020]圖3是根據(jù)本發(fā)明第一實(shí)施例的應(yīng)用程序的緩存處理方法的流程圖;以及
[0021]圖4是根據(jù)本發(fā)明第二實(shí)施例的應(yīng)用程序的緩存處理方法的流程圖。
【具體實(shí)施方式】
[0022]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
[0023]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0024]需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類(lèi)似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0025]本發(fā)明實(shí)施例提供了一種應(yīng)用程序的緩存處理裝置,該裝置可以通過(guò)計(jì)算機(jī)設(shè)備實(shí)現(xiàn)其功能。
[0026]圖1是根據(jù)本發(fā)明第一實(shí)施例的應(yīng)用程序的緩存處理裝置的結(jié)構(gòu)示意圖。如圖1所示,該應(yīng)用程序的緩存處理裝置包括:第一獲取單元10、第二獲取單元20、第一判斷單元30、調(diào)用單元40和下載單元50。
[0027]第一獲取單元10用于當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取Xap壓縮包的當(dāng)前地址,其中,當(dāng)前地址中包含有最新修改時(shí)間參數(shù)。
[0028]在應(yīng)用程序需要更新的時(shí)候,訪(fǎng)問(wèn)應(yīng)用程序的Xap壓縮包,從而可以從服務(wù)器上獲取最新的Xap壓縮包的當(dāng)前地址,該當(dāng)前地址可以是在有Xap壓縮包實(shí)際的地址上增加X(jué)ap壓縮包最新修改時(shí)間參數(shù)所形成的地址,從而使得該當(dāng)前地址中包含有最新修改時(shí)間參數(shù),其中,最新修改時(shí)間參數(shù)可以是對(duì)應(yīng)著Xap壓縮包最新修改的時(shí)間參數(shù)。例如,Xap壓縮包的實(shí)際地址是:http://localhost/test, xap,最新修改時(shí)間是2013年8月I日,則修改后的地址可以是:http://localhost/test.xap?ignore=20130801。通過(guò)獲取Xap 壓縮包的當(dāng)前地址可以根據(jù)該當(dāng)前地址獲取Xap壓縮包,同時(shí),也能夠知道當(dāng)前地址對(duì)應(yīng)的Xap壓縮包的更新時(shí)間,從而便于判斷該Xap壓縮包相對(duì)于本地緩存中的Xap壓縮包是否有過(guò)修改或者更新。
[0029]第二獲取單元20用于獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時(shí)間參數(shù)。
[0030]在本地緩存中獲取Xap壓縮包的歷史地址,本地緩存可以是本地瀏覽器的緩存,其中歷史地址可以是上一次下載Xap壓縮包的地址,可以是最近一次下載到緩存中的Xap壓縮包的地址。歷史地址中包含有的歷史修改時(shí)間參數(shù)可以上一次Xap壓縮包進(jìn)行修改或者更新后的時(shí)間參數(shù),從該時(shí)間參數(shù)中可以獲取上一次Xap壓縮包進(jìn)行修改或者更新的時(shí)間。其中,歷史修改參數(shù)可以是在上一次下載到緩存中的Xap壓縮包對(duì)應(yīng)的地址上添加的上一次Xap壓縮包進(jìn)行修改或者更新后的時(shí)間參數(shù)。通過(guò)獲取緩存中Xap壓縮包的歷史地址可以得到緩存中的Xap壓縮包的下載的時(shí)間,以便于判斷緩存中的Xap壓縮包是否為最新的Xap壓縮包。
[0031]第一判斷單元30用于判斷當(dāng)前地址與歷史地址是否一致,其中,通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷當(dāng)前地址與歷史地址是否一致,其中,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定當(dāng)前地址與歷史地址一致,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定當(dāng)前地址與歷史地址不一致。
[0032]在獲取Xap壓縮包的當(dāng)前地址和緩存中Xap壓縮包的歷史地址之后,可以通過(guò)判斷當(dāng)前地址與歷史地址是否一致來(lái)確定緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為相同的Xap壓縮包。由于當(dāng)前地址和歷史地址分別帶有最新修改時(shí)間參數(shù)和歷史修改時(shí)間參數(shù),通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間和歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間就可以判斷緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包是否為相同的Xap壓縮包。
[0033]調(diào)用單元40用于如果判斷出當(dāng)前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包。
[0034]如果當(dāng)前地址與歷史地址一致,也即是最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,那么緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為相同的Xap壓縮包,因此可以直接使用緩存中的Xap壓縮包來(lái)更新應(yīng)用程序。
[0035]下載單元50用于如果判斷出當(dāng)前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0036]如果當(dāng)前地址與歷史地址不一致,也即是最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,那么緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為不同的Xap壓縮包,即,在上一次下載Xap壓縮包之后,服務(wù)器上又修改了 Xap壓縮包,因此重新下載Xap壓縮包至緩存中以實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
[0037]根據(jù)本發(fā)明實(shí)施例,通過(guò)獲取Xap壓縮包的當(dāng)前地址和緩存中的Xap壓縮包的歷史地址,將Xap壓縮包的地址與Xap壓縮包的更新時(shí)間關(guān)聯(lián)起來(lái),判斷當(dāng)前地址中的最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間和歷史地址中的歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間,從而判斷緩存中Xap壓縮包是否為最新的Xap壓縮包,當(dāng)緩存中Xap壓縮包為最新的Xap壓縮包時(shí),則直接使用該緩存中Xap壓縮包;當(dāng)緩存中Xap壓縮包不是最新的Xap壓縮包時(shí),貝U下載最新的Xap壓縮包到緩存中,使用緩存中的最新的Xap壓縮包更新應(yīng)用程序,解決了在使用應(yīng)用程序的緩存時(shí)無(wú)法使用最新的應(yīng)用程序的問(wèn)題,進(jìn)而達(dá)到了使用應(yīng)用程序的緩存時(shí)依然能夠使用最新的應(yīng)用程序效果。
[0038]圖2是根據(jù)本發(fā)明第二實(shí)施例的應(yīng)用程序的緩存處理裝置的結(jié)構(gòu)示意圖。該實(shí)施例的應(yīng)用程序的緩存處理裝置可以作為上述實(shí)施例的應(yīng)用程序的緩存處理裝置一種優(yōu)選實(shí)施方式。如圖2所示,該應(yīng)用程序的緩存處理裝置包括:第一獲取單元10、第二獲取單元20、第一判斷單元30、調(diào)用單元40和下載單元50,其中,第一獲取單元10包括判斷模塊101、獲取模塊102和添加模塊103。第二獲取單元20、第一判斷單元30、調(diào)用單元40和下載單元50與圖1所示的實(shí)施例的第二獲取單元20、第一判斷單元30、調(diào)用單元40和下載單元50功能相同,這里不做贅述。
[0039]判斷模塊101用于判斷Xap壓縮包承載的頁(yè)面是否加載Xap壓縮包。
[0040]當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),都需要檢測(cè)并判斷Xap壓縮包承載頁(yè)面是否加載了 Xap壓縮包,以便于在Xap壓縮包承載頁(yè)面加載Xap壓縮包時(shí)獲取Xap壓縮包的最新修改的時(shí)間。
[0041]獲取模塊102用于如果判斷出Xap壓縮包承載的頁(yè)面加載Xap壓縮包,則動(dòng)態(tài)獲取Xap壓縮包的最新修改時(shí)間。
[0042]最新修改時(shí)間為最近一次修改的時(shí)間,經(jīng)過(guò)判斷Xap壓縮包承載的頁(yè)面是否加載Xap壓縮包之后,在每次確認(rèn)Xap壓縮包承載的頁(yè)面加載Xap壓縮包時(shí),動(dòng)態(tài)的獲取Xap壓縮包的最新修改時(shí)間,以便于將該最新修改時(shí)間添加到Xap壓縮包的地址中。
[0043]添加模塊103,用于將最新修改時(shí)間添加到Xap壓縮包的地址中作為修改時(shí)間參數(shù)。
[0044]在獲取到Xap壓縮包的最新修改時(shí)間之后,將最新修改時(shí)間添加到Xap壓縮包的實(shí)際地址中,可以是將最新修改時(shí)間附在Xap壓縮包的實(shí)際地址之后,例如,Xap壓縮包的實(shí)際地址是:http: //localhost/test, xap,最新修改時(shí)間是2013年8月I曰,則修改后的地址可以是:http://localhost/test.xap?ignore=20130801。將添加到 Xap 壓縮包的實(shí)際地址中的最新修改時(shí)間作為最新修改時(shí)間參數(shù),因此,添加最新修改時(shí)間后的Xap壓縮包的地址即為Xap壓縮包的當(dāng)前地址。
[0045]優(yōu)選地,本發(fā)明實(shí)施例的應(yīng)用程序的緩存處理裝置還包括:第二判斷單元、讀取單元、檢測(cè)單元和記錄單元。
[0046]第二判斷單元用于判斷Xap壓縮包是否有更新。
[0047]判斷Xap壓縮包是否有更新可以是判斷服務(wù)器上的Xap壓縮包相對(duì)于本地緩存中的Xap壓縮包是否有更新。當(dāng)Xap壓縮包有更新時(shí),可以下載最新的Xap壓縮包,當(dāng)Xap壓縮包有更新無(wú)更新時(shí),則可以直接使用緩存中的Xap壓縮包。
[0048]解壓?jiǎn)卧糜谌绻袛喑鯴ap壓縮包有更新,則解壓Xap壓縮包。
[0049]如果判斷出Xap壓縮包有更新,在每次Xap壓縮包更新時(shí),解壓Xap壓縮包,可以是自動(dòng)解壓Xap壓縮包。由于Xap壓縮包內(nèi)置的配置文件中記錄有該Xap壓縮包相關(guān)的Zip壓縮包的地址,因此對(duì)Xap壓縮包進(jìn)行解壓,以便于讀取Zip壓縮包的地址。
[0050]讀取單元用于從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址。[0051]在解壓Xap壓縮包之后,讀取Xap壓縮包內(nèi)置的配置文件中記錄有該Xap壓縮包引用的Zip壓縮包的地址,該地址為Zip壓縮包的當(dāng)前地址,Zip壓縮包的當(dāng)前地址與Xap壓縮包的當(dāng)前地址具有類(lèi)似的作用,即,Zip壓縮包的當(dāng)前地址中包含有Zip壓縮包的最新修改時(shí)間參數(shù)。其中,Zip壓縮包的最新修改時(shí)間參數(shù)與Xap壓縮包的最新修改時(shí)間參數(shù)功能相同,Zip壓縮包的當(dāng)前地址與Xap壓縮包的當(dāng)前地址的設(shè)置方式也相同。
[0052]檢測(cè)單元用于檢測(cè)讀取的Zip壓縮包的最新修改時(shí)間。
[0053]讀取的Zip壓縮包的最新修改時(shí)間可以是讀取記錄的引用Zip壓縮包的地址中Zip壓縮包的最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間。逐一檢測(cè)Xap壓縮包引用的各Zip壓縮包的最新修改時(shí)間,以便于對(duì)Xap壓縮包的配置文件中的Zip壓縮包的地址進(jìn)行更改。
[0054]記錄單元用于將最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)。
[0055]將Zip壓縮包的最新修改時(shí)間記錄到配置文件中作為Zip壓縮包的最新修改時(shí)間參數(shù)。
[0056]根據(jù)本發(fā)明實(shí)施例,自動(dòng)檢測(cè)并修改Xap壓縮包中記錄Zip壓縮包地址的配置文件,使得Xap壓縮包與其引用的Zip壓縮包保持一致,避免應(yīng)用程序的Zip壓縮包和Xap壓縮包版本不一致,導(dǎo)致程序運(yùn)行異常的問(wèn)題。
[0057]優(yōu)選地,應(yīng)用程序的緩存處理裝置還包括存儲(chǔ)單元和壓縮單元。
[0058]存儲(chǔ)單元用于在將最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)之后,保存修改后的配置文件。
[0059]將Zip壓縮包的最新修改時(shí)間記錄到配置文件中作為Zip壓縮包的最新修改時(shí)間參數(shù)之后,即完成了對(duì)Xap壓縮包的配置文件的修改,在修改好該配置文件之后,對(duì)修改后的配置文件進(jìn)行存儲(chǔ)。
[0060]壓縮單元用于基于修改后的配置文件重新壓縮Xap壓縮包。
[0061]對(duì)配置文件修改并存儲(chǔ)后,重新壓縮修改后的Xap壓縮包形成新的Xap壓縮包,從而可以用于應(yīng)用程序的更新。
[0062]優(yōu)選地,在對(duì)Xap壓縮包進(jìn)行相應(yīng)地處理之后,還可以對(duì)Zip壓縮包的修改或更新情況進(jìn)行判斷,其對(duì)應(yīng)的處理方式同本發(fā)明第一實(shí)施例的應(yīng)用程序的緩存處理方法的Xap壓縮包的處理方式相同,這里不做贅述?;赬ap壓縮包的處理之后,判斷出是使用緩存中的Zip壓縮包或者時(shí)重新下載新的Zip壓縮包,以便于使得Xap壓縮包與其配置文件中引用的Zip壓縮包保持一致,從而避免應(yīng)用程序的Zip壓縮包和Xap壓縮包版本不一致,導(dǎo)致程序運(yùn)行異常的問(wèn)題。
[0063]優(yōu)選地,本發(fā)明實(shí)施例的應(yīng)用程序?yàn)镾ilverlight應(yīng)用程序。
[0064]本發(fā)明實(shí)施例還提供了 一種應(yīng)用程序的緩存處理方法。該方法可以運(yùn)行在計(jì)算機(jī)設(shè)備上。需要說(shuō)明的是,本發(fā)明實(shí)施例的應(yīng)用程序的緩存處理方法可以通過(guò)本發(fā)明實(shí)施例所提供的應(yīng)用程序的緩存處理裝置來(lái)執(zhí)行,本發(fā)明實(shí)施例的應(yīng)用程序的緩存處理裝置也可以用于執(zhí)行本發(fā)明實(shí)施例所提供的應(yīng)用程序的緩存處理方法。
[0065]圖3是根據(jù)本發(fā)明第一實(shí)施例的應(yīng)用程序的緩存處理方法的流程圖。如圖3所示,該應(yīng)用程序的緩存處理方法包括以下步驟:
[0066]步驟SIOI,當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取Xap壓縮包的當(dāng)前地址,其中,當(dāng)前地址中包含有最新修改時(shí)間參數(shù)。[0067]在應(yīng)用程序需要更新的時(shí)候,訪(fǎng)問(wèn)應(yīng)用程序的Xap壓縮包,從而可以從服務(wù)器上獲取最新的Xap壓縮包的當(dāng)前地址,該當(dāng)前地址可以是在有Xap壓縮包實(shí)際的地址上增加X(jué)ap壓縮包最新修改時(shí)間參數(shù)所形成的地址,從而使得該當(dāng)前地址中包含有最新修改時(shí)間參數(shù),其中,最新修改時(shí)間參數(shù)可以是對(duì)應(yīng)著Xap壓縮包最新修改的時(shí)間參數(shù)。例如,Xap壓縮包的實(shí)際地址是:http://localhost/test, xap,最新修改時(shí)間是2013年8月I日,則修改后的地址可以是:http: //localhost/test.xap?ignore=20130801。通過(guò)獲取 Xap 壓縮包的當(dāng)前地址可以根據(jù)該當(dāng)前地址獲取Xap壓縮包,同時(shí),也能夠知道當(dāng)前地址對(duì)應(yīng)的Xap壓縮包的更新時(shí)間,從而便于判斷該Xap壓縮包相對(duì)于本地緩存中的Xap壓縮包是否有過(guò)修改或者更新。
[0068]步驟S102,獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時(shí)間參數(shù)。
[0069]在本地緩存中獲取Xap壓縮包的歷史地址,本地緩存可以是本地瀏覽器的緩存,其中歷史地址可以是上一次下載Xap壓縮包的地址,可以是最近一次下載到緩存中的Xap壓縮包的地址。歷史地址中包含有的歷史修改時(shí)間參數(shù)可以上一次Xap壓縮包進(jìn)行修改或者更新后的時(shí)間參數(shù),從該時(shí)間參數(shù)中可以獲取上一次Xap壓縮包進(jìn)行修改或者更新的時(shí)間。其中,歷史修改參數(shù)可以是在上一次下載到緩存中的Xap壓縮包對(duì)應(yīng)的地址上添加的上一次Xap壓縮包進(jìn)行修改或者更新后的時(shí)間參數(shù)。通過(guò)獲取緩存中Xap壓縮包的歷史地址可以得到緩存中的Xap壓縮包的下載的時(shí)間,以便于判斷緩存中的Xap壓縮包是否為最新的Xap壓縮包。
[0070]步驟S103,判斷當(dāng)前地址與歷史地址是否一致,其中,通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷當(dāng)前地址與歷史地址是否一致,其中,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定當(dāng)前地址與歷史地址一致,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定當(dāng)前地址與歷史地址不一致。
[0071]在獲取Xap壓縮包的當(dāng)前地址和緩存中Xap壓縮包的歷史地址之后,可以通過(guò)判斷當(dāng)前地址與歷史地址是否一致來(lái)確定緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為相同的Xap壓縮包。由于當(dāng)前地址和歷史地址分別帶有最新修改時(shí)間參數(shù)和歷史修改時(shí)間參數(shù),通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間和歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間就可以判斷緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包是否為相同的Xap壓縮包。
[0072]步驟S104,如果判斷出當(dāng)前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包。
[0073]如果當(dāng)前地址與歷史地址一致,也即是最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,那么緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為相同的Xap壓縮包,因此可以直接使用緩存中的Xap壓縮包來(lái)更新應(yīng)用程序。
[0074]步驟S105,如果判斷出當(dāng)前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0075]如果當(dāng)前地址與歷史地址不一致,也即是最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,那么緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為不同的Xap壓縮包,即,在上一次下載Xap壓縮包之后,服務(wù)器上又修改了 Xap壓縮包,因此重新下載Xap壓縮包至緩存中以實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
[0076]根據(jù)本發(fā)明實(shí)施例,通過(guò)獲取Xap壓縮包的當(dāng)前地址和緩存中的Xap壓縮包的歷史地址,將Xap壓縮包的地址與Xap壓縮包的更新時(shí)間關(guān)聯(lián)起來(lái),判斷當(dāng)前地址中的最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間和歷史地址中的歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間,從而判斷緩存中Xap壓縮包是否為最新的Xap壓縮包,當(dāng)緩存中Xap壓縮包為最新的Xap壓縮包時(shí),則直接使用該緩存中Xap壓縮包;當(dāng)緩存中Xap壓縮包不是最新的Xap壓縮包時(shí),貝U下載最新的Xap壓縮包到緩存中,使用緩存中的最新的Xap壓縮包更新應(yīng)用程序,解決了在使用應(yīng)用程序的緩存時(shí)無(wú)法使用最新的應(yīng)用程序的問(wèn)題,進(jìn)而達(dá)到了使用應(yīng)用程序的緩存時(shí)依然能夠使用最新的應(yīng)用程序效果。
[0077]圖4是根據(jù)本發(fā)明第二實(shí)施例的應(yīng)用程序的緩存處理方法的流程圖。該實(shí)施例的應(yīng)用程序的緩存處理方法可以作為上述實(shí)施例的應(yīng)用程序的緩存處理方法的一種優(yōu)選實(shí)施方式。如圖4所示,該應(yīng)用程序的緩存處理方法包括以下步驟:
[0078]步驟S201,判斷Xap壓縮包承載的頁(yè)面是否加載Xap壓縮包。
[0079]當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),都需要檢測(cè)并判斷Xap壓縮包承載頁(yè)面是否加載了 Xap壓縮包,以便于在Xap壓縮包承載頁(yè)面加載Xap壓縮包時(shí)獲取Xap壓縮包的最新修改的時(shí)間。
[0080]步驟S202,如果判斷出Xap壓縮包承載的頁(yè)面加載Xap壓縮包,則動(dòng)態(tài)獲取Xap壓縮包的最新修改時(shí)間。
[0081]最新修改時(shí)間為最近一次修改的時(shí)間,經(jīng)過(guò)判斷Xap壓縮包承載的頁(yè)面是否加載Xap壓縮包之后,在每次確認(rèn)Xap壓縮包承載的頁(yè)面加載Xap壓縮包時(shí),動(dòng)態(tài)的獲取Xap壓縮包的最新修改時(shí)間,以便于將該最新修改時(shí)間添加到Xap壓縮包的地址中。
[0082]步驟S203,將最新修改時(shí)間添加到Xap壓縮包的地址中作為修改時(shí)間參數(shù)。
[0083]在獲取到Xap壓縮包的最新修改時(shí)間之后,將最新修改時(shí)間添加到Xap壓縮包的實(shí)際地址中,可以是將最新修改時(shí)間附在Xap壓縮包的實(shí)際地址之后,例如,Xap壓縮包的實(shí)際地址是:http://localhost/test.xap,最新修改時(shí)間是2013年8月1曰,則修改后的地址可以是:http://localhost/test.xap?ignore=20130801。將添加到 Xap 壓縮包的實(shí)際地址中的最新修改時(shí)間作為最新修改時(shí)間參數(shù),因此,添加最新修改時(shí)間后的Xap壓縮包的地址即為Xap壓縮包的當(dāng)前地址。
[0084]步驟S204,獲取緩存中Xap壓縮包的歷史地址,其中,歷史地址中包含有歷史修改時(shí)間參數(shù)。
[0085]在本地緩存中獲取Xap壓縮包的歷史地址,本地緩存可以是本地瀏覽器的緩存,其中歷史地址可以是上一次下載Xap壓縮包的地址,可以是最近一次下載到緩存中的Xap壓縮包的地址。歷史地址中包含有的歷史修改時(shí)間參數(shù)可以上一次Xap壓縮包進(jìn)行修改或者更新后的時(shí)間參數(shù),從該時(shí)間參數(shù)中可以獲取上一次Xap壓縮包進(jìn)行修改或者更新的時(shí)間。其中,歷史修改參數(shù)可以是在上一次下載到緩存中的Xap壓縮包對(duì)應(yīng)的地址上添加的上一次Xap壓縮包進(jìn)行修改或者更新后的時(shí)間參數(shù)。通過(guò)獲取緩存中Xap壓縮包的歷史地址可以得到緩存中的Xap壓縮包的下載的時(shí)間,以便于判斷緩存中的Xap壓縮包是否為最新的Xap壓縮包。
[0086]步驟S205,判斷當(dāng)前地址與歷史地址是否一致,其中,通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷當(dāng)前地址與歷史地址是否一致,其中,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定當(dāng)前地址與歷史地址一致,如果判斷出最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定當(dāng)前地址與歷史地址不一致。
[0087]在獲取Xap壓縮包的當(dāng)前地址與和緩存中Xap壓縮包的歷史地址之后,可以通過(guò)判斷當(dāng)前地址與歷史地址是否一致來(lái)確定緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為相同的Xap壓縮包。由于當(dāng)前地址和歷史地址分別帶有最新修改時(shí)間參數(shù)和歷史修改時(shí)間參數(shù),通過(guò)判斷最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間和歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間就可以判斷緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包是否為相同的Xap壓縮包。
[0088]步驟S206,如果判斷出當(dāng)前地址與歷史地址一致,則直接使用緩存中的Xap壓縮包。
[0089]如果當(dāng)前地址與歷史地址一致,也即是最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,那么緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為相同的Xap壓縮包,因此可以直接使用緩存中的Xap壓縮包來(lái)更新應(yīng)用程序。
[0090]步驟S207,如果判斷出當(dāng)前地址與歷史地址不一致,則重新下載Xap壓縮包至緩存中。
[0091]如果當(dāng)前地址與歷史地址不一致,也即是最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,那么緩存中Xap壓縮包與服務(wù)器上的最新的Xap壓縮包為不同的Xap壓縮包,即,在上一次下載Xap壓縮包之后,服務(wù)器上又修改了 Xap壓縮包,因此重新下載Xap壓縮包至緩存中以實(shí)現(xiàn)對(duì)應(yīng)用程序的更新。
[0092]根據(jù)本發(fā)明實(shí)施例,通過(guò)在Xap壓縮包承載的頁(yè)面加載Xap壓縮包時(shí),動(dòng)態(tài)獲取Xap壓縮包的最新修改時(shí)間并將該最新修改時(shí)間添加到Xap壓縮包的地址中作為參數(shù),可以在每次下載Xap壓縮包之后,將其對(duì)應(yīng)的當(dāng)前地址存儲(chǔ)在緩存中,作為下次修改的歷史地址,從而保證使得每次應(yīng)用程序更新時(shí),都可以判斷緩存中Xap壓縮包是否為最新的Xap壓縮包。
[0093]優(yōu)選地,本發(fā)明實(shí)施例的應(yīng)用程序緩存處理方法還包括以下步驟:
[0094]步驟S301,判斷Xap壓縮包是否有更新。
[0095]判斷Xap壓縮包是否有更新可以是判斷服務(wù)器上的Xap壓縮包相對(duì)于本地緩存中的Xap壓縮包是否有更新。當(dāng)Xap壓縮包有更新時(shí),可以下載最新的Xap壓縮包,當(dāng)Xap壓縮包有更新無(wú)更新時(shí),則可以直接使用緩存中的Xap壓縮包。
[0096]步驟S302,如果判斷出Xap壓縮包是否有更新,則解壓Xap壓縮包。
[0097]如果判斷出Xap壓縮包有更新,在每次Xap壓縮包更新時(shí),解壓Xap壓縮包,可以是自動(dòng)解壓Xap壓縮包。由于Xap壓縮包內(nèi)置的配置文件中記錄有該Xap壓縮包相關(guān)的Zip壓縮包的地址,因此對(duì)Xap壓縮包進(jìn)行解壓,以便于讀取Zip壓縮包的地址。
[0098]步驟S303,從解壓的Xap壓縮包中讀取Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址。
[0099]在解壓Xap壓縮包之后,讀取Xap壓縮包內(nèi)置的配置文件中記錄有該Xap壓縮包引用的Zip壓縮包的地址,該地址為Zip壓縮包的當(dāng)前地址,Zip壓縮包的當(dāng)前地址與Xap壓縮包的當(dāng)前地址具有類(lèi)似的作用,即,Zip壓縮包的當(dāng)前地址中包含有Zip壓縮包的最新修改時(shí)間參數(shù)。其中,Zip壓縮包的最新修改時(shí)間參數(shù)與Xap壓縮包的最新修改時(shí)間參數(shù)功能相同,Zip壓縮包的當(dāng)前地址與Xap壓縮包的當(dāng)前地址的設(shè)置方式也相同。
[0100]步驟S304,檢測(cè)讀取的Zip壓縮包的最新修改時(shí)間。
[0101]讀取的Zip壓縮包的最新修改時(shí)間可以是讀取記錄的引用Zip壓縮包的地址中Zip壓縮包的最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間。逐一檢測(cè)Xap壓縮包引用的各Zip壓縮包的最新修改時(shí)間,以便于對(duì)Xap壓縮包的配置文件中的Zip壓縮包的地址進(jìn)行更改。
[0102]步驟S305,將最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)。
[0103]將Zip壓縮包的最新修改時(shí)間記錄到配置文件中作為Zip壓縮包的最新修改時(shí)間參數(shù)。
[0104]根據(jù)本發(fā)明實(shí)施例,自動(dòng)檢測(cè)并修改Xap壓縮包中記錄Zip壓縮包地址的配置文件,使得Xap壓縮包與其引用的Zip壓縮包保持一致,避免應(yīng)用程序的Zip壓縮包和Xap壓縮包版本不一致,導(dǎo)致程序運(yùn)行異常的問(wèn)題。
[0105]優(yōu)選地,在步驟S305之后,應(yīng)用程序的緩存處理方法還包括步驟S306和步驟S307。
[0106]步驟S306,保存修改后的配置文件。
[0107]將Zip壓縮包的最新修改時(shí)間記錄到配置文件中作為Zip壓縮包的最新修改時(shí)間參數(shù)之后,即完成了對(duì)Xap壓縮包的配置文件的修改,在修改好該配置文件之后,對(duì)修改后的配置文件進(jìn)行存儲(chǔ)。
[0108]步驟S307,基于修改后的配置文件重新壓縮Xap壓縮包。
[0109]對(duì)配置文件修改并存儲(chǔ)后,重新壓縮修改后的Xap壓縮包形成新的Xap壓縮包,從而可以用于應(yīng)用程序的更新。
[0110]優(yōu)選地,在對(duì)Xap壓縮包進(jìn)行相應(yīng)地處理之后,還可以對(duì)Zip壓縮包的修改或更新情況進(jìn)行判斷,其對(duì)應(yīng)的處理方式同本發(fā)明第一實(shí)施例的應(yīng)用程序的緩存處理方法的Xap壓縮包的處理方式相同,這里不做贅述?;赬ap壓縮包的處理之后,判斷出是使用緩存中的Zip壓縮包或者時(shí)重新下載新的Zip壓縮包,以便于使得Xap壓縮包與其配置文件中引用的Zip壓縮包保持一致,從而避免應(yīng)用程序的Zip壓縮包和Xap壓縮包版本不一致,導(dǎo)致程序運(yùn)行異常的問(wèn)題。
[0111]優(yōu)選地,本發(fā)明實(shí)施例的應(yīng)用程序?yàn)镾ilverlight應(yīng)用程序。
[0112]根據(jù)本發(fā)明上述實(shí)施例,可以得出本發(fā)明的有以效果如下:
[0113]當(dāng)瀏覽器訪(fǎng)問(wèn)Xap壓縮包時(shí),會(huì)判斷Xap壓縮包地址(包含有修改時(shí)間參數(shù))與之前緩存的地址是否一致。如果Xap壓縮包從上次緩存之后沒(méi)有修改,則最新修改時(shí)間不變,地址一致,使用緩存;如果有修改,時(shí)間不同,地址改變,則重新下載。解決了在使用應(yīng)用程序的緩存時(shí)無(wú)法使用最新的應(yīng)用程序的問(wèn)題,進(jìn)而達(dá)到了使用應(yīng)用程序的緩存時(shí)依然能夠使用最新的應(yīng)用程序效果。
[0114]同時(shí),當(dāng)應(yīng)用程序沒(méi)有更新時(shí),依然可以利用緩存,該緩存可以是瀏覽器緩存,減少帶寬占用和下載時(shí)間。
[0115]需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。[0116]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0117]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種應(yīng)用程序的緩存處理方法,其特征在于,包括: 當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取所述Xap壓縮包的當(dāng)前地址,其中,所述當(dāng)前地址中包含有最新修改時(shí)間參數(shù); 獲取緩存中所述Xap壓縮包的歷史地址,其中,所述歷史地址中包含有歷史修改時(shí)間參數(shù); 判斷所述當(dāng)前地址與所述歷史地址是否一致,其中,通過(guò)判斷所述最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與所述歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷所述當(dāng)前地址與所述歷史地址是否一致,其中,如果判斷出所述最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與所述歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定所述當(dāng)前地址與所述歷史地址一致,如果判斷出所述最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與所述歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定所述當(dāng)前地址與所述歷史地址不一致; 如果判斷出所述當(dāng)前地址與所述歷史地址一致,則直接使用所述緩存中的所述Xap壓縮包;以及 如果判斷出所述當(dāng)前地址與所述歷史地址不一致,則重新下載所述Xap壓縮包至所述緩存中。
2.根據(jù)權(quán)利要求1所述的應(yīng)用程序的緩存處理方法,其特征在于,當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取所述Xap壓縮包的當(dāng)前地址包括: 判斷所述Xap壓縮包承載的頁(yè)面是否加載所述Xap壓縮包; 如果判斷出所述Xap壓縮包承載的頁(yè)面加載所述Xap壓縮包,則動(dòng)態(tài)獲取所述Xap壓縮包的最新修改時(shí)間;以及 將所述最新修改時(shí)間添加到所述Xap壓縮包的地址中作為修改時(shí)間參數(shù)。
3.根據(jù)權(quán)利要求1所述的應(yīng)用程序的緩存處理方法,其特征在于,所述緩存處理方法還包括: 判斷所述Xap壓縮包是否有更新; 如果判斷出所述Xap壓縮包有更新,則解壓所述Xap壓縮包; 從解壓的所述Xap壓縮包中讀取所述Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址; 檢測(cè)讀取的所述Zip壓縮包的最新修改時(shí)間;以及 將所述最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)。
4.根據(jù)權(quán)利要求3所述的應(yīng)用程序的緩存處理方法,其特征在于,在將所述最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)之后,所述緩存處理方法還包括: 保存修改后的所述配置文件;以及 基于修改后的所述配置文件重新壓縮所述Xap壓縮包。
5.根據(jù)權(quán)利要求1所述的應(yīng)用程序的緩存處理方法,其特征在于,所述應(yīng)用程序?yàn)镾ilverlight應(yīng)用程序。
6.一種應(yīng)用程序的緩存處理裝置,其特征在于,包括: 第一獲取單元,用于當(dāng)應(yīng)用程序的Xap壓縮包被訪(fǎng)問(wèn)時(shí),獲取所述Xap壓縮包的當(dāng)前地址,其中,所述當(dāng)前地址中包含有最新修改時(shí)間參數(shù); 第二獲取單元,用于獲取緩存中所述Xap壓縮包的歷史地址,其中,所述歷史地址中包含有歷史修改時(shí)間參數(shù); 第一判斷單元,用于判斷所述當(dāng)前地址與所述歷史地址是否一致,其中,通過(guò)判斷所述最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與所述歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間是否一致以判斷所述當(dāng)前地址與所述歷史地址是否一致,其中,如果判斷出所述最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與所述歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間一致,則確定所述當(dāng)前地址與所述歷史地址一致,如果判斷出所述最新修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間與所述歷史修改時(shí)間參數(shù)對(duì)應(yīng)的時(shí)間不一致,則確定所述當(dāng)前地址與所述歷史地址不一致; 調(diào)用單元,用于如果判斷出所述當(dāng)前地址與所述歷史地址一致,則直接使用所述緩存中的所述Xap壓縮包;以及 下載單元,用于如果判斷出所述當(dāng)前地址與所述歷史地址不一致,則重新下載所述Xap壓縮包至所述緩存中。
7.根據(jù)權(quán)利要求6所述的應(yīng)用程序的緩存處理裝置,其特征在于,所述第一獲取單元包括: 判斷模塊,用于判斷所述Xap壓縮包承載的頁(yè)面是否加載所述Xap壓縮包; 獲取模塊,用于如果判斷出所述Xap壓縮包承載的頁(yè)面加載所述Xap壓縮包,則動(dòng)態(tài)獲取所述Xap壓縮包的最新修改時(shí)間;以及 添加模塊,用于將所述最新修改時(shí)間添加到所述Xap壓縮包的地址中作為修改時(shí)間參數(shù)。
8.根據(jù)權(quán)利要求6所述的應(yīng)用程序的緩存處理裝置,其特征在于,所述緩存處理裝置還包括: 第二判斷單元,用于判斷所述Xap壓縮包是否有更新; 解壓?jiǎn)卧?,用于如果判斷出所述Xap壓縮包有更新,則解壓所述Xap壓縮包; 讀取單元,用于從解壓的所述Xap壓縮包中讀取所述Xap壓縮包中的配置文件里記錄的引用Zip壓縮包的地址; 檢測(cè)單元,用于檢測(cè)讀取的所述Zip壓縮包的最新修改時(shí)間;以及 記錄單元,用于將所述最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)。
9.根據(jù)權(quán)利要求8所述的應(yīng)用程序的緩存處理裝置,其特征在于,所述緩存處理裝置還包括: 存儲(chǔ)單元,用于在將所述最新修改時(shí)間記錄到配置文件中作為修改時(shí)間參數(shù)之后,保存修改后的所述配置文件;以及 壓縮單元,用于基于修改后的所述配置文件重新壓縮所述Xap壓縮包。
10.根據(jù)權(quán)利要求6所述的應(yīng)用程序的緩存處理裝置,其特征在于,所述應(yīng)用程序?yàn)镾ilverlight應(yīng)用程序。
【文檔編號(hào)】G06F9/445GK103617052SQ201310566733
【公開(kāi)日】2014年3月5日 申請(qǐng)日期:2013年11月14日 優(yōu)先權(quán)日:2013年11月14日
【發(fā)明者】吳充 申請(qǐng)人:北京國(guó)雙科技有限公司