本申請(qǐng)涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及資源文件的獲取方法、客戶端、服務(wù)器和系統(tǒng)。
背景技術(shù):
在移動(dòng)互聯(lián)網(wǎng)日益興起的時(shí)代下,越來(lái)越多的app(application,計(jì)算機(jī)應(yīng)用程序)被應(yīng)用,成為日常生活中必不可少的一部分。app實(shí)現(xiàn)業(yè)務(wù)時(shí)需要獲取資源文件,而為了加快資源文件獲取速度,app會(huì)預(yù)先將部分資源文件離線下載到app所在的客戶端中。因此,資源文件的獲取方式成為影響app業(yè)務(wù)實(shí)現(xiàn)速度的關(guān)鍵。
目前,服務(wù)端對(duì)需要離線下載的各資源文件分別進(jìn)行加密,并發(fā)布各加密的資源文件。app下載發(fā)布的各加密的資源文件,將某一功能需要獲取資源文件時(shí),查找該功能對(duì)應(yīng)的加密的資源文件,對(duì)加密的資源文件進(jìn)行解密、驗(yàn)簽后,將資源文件加載到內(nèi)存中,進(jìn)而獲取資源文件。
上述方法每次獲取資源文件時(shí),均需要執(zhí)行解密、驗(yàn)簽工作。不同功能可能會(huì)獲取同一資源文件,會(huì)重復(fù)對(duì)該資源文件的解密、驗(yàn)簽;造成cpu(centralprocessingunit,中央處理單元)、內(nèi)存等資源的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問(wèn)題,本申請(qǐng)實(shí)施例提出了一種資源文件的獲取方法、客戶端、服務(wù)器和系統(tǒng)。
第一方面,本申請(qǐng)實(shí)施例提供了一種資源文件的獲取方法,所述方法包括:
根據(jù)用戶的操作確定功能標(biāo)識(shí);
根據(jù)所述功能標(biāo)識(shí)確定對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí);
根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;
若有所述第一資源文件,則從所述內(nèi)存中獲取所述第一資源文件。
可選地,所述根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件,包括:
根據(jù)所述業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包,所述第一資源文件包由服務(wù)器發(fā)布,驗(yàn)簽成功;
若有所述第一資源文件包,則確定所述第一資源文件包中是否有第一資源文件,所述第一資源文件與所述資源文件標(biāo)識(shí)對(duì)應(yīng)。
可選地,所述根據(jù)所述業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包之前,還包括:
下載服務(wù)器發(fā)布的離線資源包,其中,離線資源包中包括第二資源文件包和所述第二資源文件包的第一驗(yàn)簽文件。
可選地,所述下載服務(wù)器發(fā)布的各業(yè)務(wù)的離線資源包之后,還包括:
從所述離線資源包中獲取所述第二資源文件包;
根據(jù)所述第一驗(yàn)簽文件驗(yàn)簽所述第二資源文件包;
當(dāng)驗(yàn)簽成功后,將所述第二資源文件包加載至內(nèi)存中。
可選地,所述從所述離線資源包中獲取所述第二資源文件包之前,還包括:
創(chuàng)建第一會(huì)話session;
將所述離線資源包放入所述第一session中。
可選地,所述將所述第二資源文件包加載至內(nèi)存中,包括:
確定所述第二資源文件包的虛擬域名;
根據(jù)所述虛擬域名生成所述第二資源文件包的第一統(tǒng)一資源定位符url地址;
將所述第二資源文件包和所述第一url地址加載至內(nèi)存中。
可選地,所述根據(jù)所述業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包,包括:
若存在第二session,則確定有第一資源文件包;
所述第二session將所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的第一資源文件包加載至內(nèi)存中。
可選地,所述確定所述第一資源文件包中是否有第一資源文件,包括:
獲取所述第一資源文件包的第二url地址;
根據(jù)所述第二url地址確定所述第一資源文件包中是否有第一資源文件。
第二方面,本申請(qǐng)實(shí)施例提供了一種客戶端,所述客戶端包括:
第一確定模塊,用于根據(jù)用戶的操作確定功能標(biāo)識(shí);
第二確定模塊,用于根據(jù)所述第一確定模塊確定的功能標(biāo)識(shí)確定對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí);
第三確定模塊,用于根據(jù)所述第二確定模塊確定的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;
獲取模塊,用于當(dāng)所述第三確定模塊確定有所述第一資源文件時(shí),從所述內(nèi)存中獲取所述第一資源文件。
可選地,所述第三確定模塊,包括:
第一確定子模塊,用于根據(jù)所述業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包,所述第一資源文件包由服務(wù)器發(fā)布,驗(yàn)簽成功;
第二確定子模塊,用于當(dāng)所述第一確定子模塊確定有所述第一資源文件包時(shí),確定所述第一資源文件包中是否有第一資源文件,所述第一資源文件與所述資源文件標(biāo)識(shí)對(duì)應(yīng)。
可選地,所述第三確定模塊,還包括:
下載子模塊,用于下載服務(wù)器發(fā)布的離線資源包,其中,離線資源包中包括第二資源文件包和所述第二資源文件包的第一驗(yàn)簽文件。
可選地,所述第三確定模塊,還包括:
獲取子模塊,用于從所述離線資源包中獲取所述第二資源文件包;
驗(yàn)簽子模塊,用于根據(jù)所述第一驗(yàn)簽文件驗(yàn)簽所述獲取子模塊獲取的第二資源文件包;
加載子模塊,用于當(dāng)所述驗(yàn)簽子模塊驗(yàn)簽成功后,將所述獲取子模塊獲取的第二資源文件包加載至內(nèi)存中。
可選地,所述第三確定模塊,還包括:
創(chuàng)建子模塊,用于創(chuàng)建第一會(huì)話session;
放入子模塊,用于將所述離線資源包放入所述創(chuàng)建子模塊創(chuàng)建的第一session中。
可選地,所述加載子模塊,包括:
確定單元,用于確定所述第二資源文件包的虛擬域名;
生成單元,用于根據(jù)所述確定單元確定的虛擬域名生成所述第二資源文件包的第一統(tǒng)一資源定位符url地址;
加載單元,用于將所述第二資源文件包和所述生成單元生成的第一url地址加載至內(nèi)存中。
可選地,所述第一確定子模塊,用于當(dāng)存在第二session時(shí),確定有第一資源文件包;
所述第二session將所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的第一資源文件包加載至內(nèi)存中。
可選地,所述第二確定子模塊,包括:
獲取單元,用于獲取所述第一資源文件包的第二url地址;
確定單元,用于根據(jù)所述獲取單元獲取的第二url地址確定所述第一資源文件包中是否有第一資源文件。
第三方面,本申請(qǐng)實(shí)施例提供了一種資源文件的獲取方法,所述方法包括:
將對(duì)應(yīng)業(yè)務(wù)標(biāo)識(shí)的所有第二資源文件生成一個(gè)第三資源文件包;
生成所述第三資源文件包的第二驗(yàn)簽文件;
將所述第三資源文件包和所述第二驗(yàn)簽文件生成離線資源包;
發(fā)布離線資源包,以使客戶端根據(jù)業(yè)務(wù)標(biāo)識(shí)獲取第二資源文件。
第四方面,本申請(qǐng)實(shí)施例提供了一種服務(wù)器,所述服務(wù)器包括:
第一生成模塊,用于將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的所有第二資源文件生成一個(gè)第三資源文件包;
第二生成模塊,用于生成所述第一生成模塊生成的第三資源文件包的第二驗(yàn)簽文件;
第三生成模塊,用于將所述第一生成模塊生成的第三資源文件包和所述第二生成模塊生成的第二驗(yàn)簽文件生成離線資源包;
發(fā)布模塊,用于發(fā)布所述第三生成模塊生成的離線資源包,以使客戶端根據(jù)業(yè)務(wù)標(biāo)識(shí)獲取第二資源文件。
第五方面,本申請(qǐng)實(shí)施例提供了一種資源文件的獲取系統(tǒng),所述系統(tǒng)包括:客戶端和服務(wù)器;
其中,所述客戶端如上述第二方面提供的客戶端,所述服務(wù)器如上述第四方面提供的服務(wù)器。
有益效果如下:
根據(jù)用戶的操作確定功能對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)后,根據(jù)業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;若有第一資源文件,則獲取第一資源文件,使得對(duì)應(yīng)相同業(yè)務(wù)標(biāo)識(shí)的不同功能,均從同一資源文件包內(nèi)獲取資源文件,當(dāng)重復(fù)獲取同一資源文件時(shí),不再重復(fù)對(duì)該資源文件的解密、驗(yàn)簽,降低了cpu、內(nèi)存等資源的浪費(fèi)。
附圖說(shuō)明
下面將參照附圖描述本申請(qǐng)的具體實(shí)施例,其中:
圖1示出了本申請(qǐng)一實(shí)施例提供的一種資源文件的獲取方法的實(shí)施環(huán)境示意圖;
圖2示出了本申請(qǐng)另一實(shí)施例提供的一種資源文件的獲取方法的流程示意圖;
圖3示出了本申請(qǐng)另一實(shí)施例提供的另一種資源文件的獲取方法的流程示意圖;
圖4示出了本申請(qǐng)另一實(shí)施例提供的另一種資源文件的獲取方法的流程示意圖;
圖5示出了本申請(qǐng)另一實(shí)施例提供的一種服務(wù)器生成離線資源包的示意圖;
圖6示出了本申請(qǐng)另一實(shí)施例提供的另一種客戶端檢驗(yàn)離線資源包安全性的示意圖;
圖7示出了本申請(qǐng)另一實(shí)施例提供的一種資源文件的獲取方法的流程示意圖;
圖8示出了本申請(qǐng)另一實(shí)施例提供的一種客戶端的結(jié)構(gòu)示意圖;
圖9示出了本申請(qǐng)另一實(shí)施例提供的一種第三確定模塊的結(jié)構(gòu)示意圖;
圖10示出了本申請(qǐng)另一實(shí)施例提供的另一種第三確定模塊的結(jié)構(gòu)示意圖;
圖11示出了本申請(qǐng)另一實(shí)施例提供的另一種第三確定模塊的結(jié)構(gòu)示意圖;
圖12示出了本申請(qǐng)另一實(shí)施例提供的另一種第三確定模塊的結(jié)構(gòu)示意圖;
圖13示出了本申請(qǐng)另一實(shí)施例提供的一種加載子模塊的結(jié)構(gòu)示意圖;
圖14示出了本申請(qǐng)另一實(shí)施例提供的一種第二確定子模塊的結(jié)構(gòu)示意圖;
圖15示出了本申請(qǐng)另一實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;
圖16示出了本申請(qǐng)另一實(shí)施例提供的一種資源文件的獲取系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本申請(qǐng)的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對(duì)本申請(qǐng)的示例性實(shí)施例進(jìn)行進(jìn)一步詳細(xì)的說(shuō)明,顯然,所描述的實(shí)施例僅是本申請(qǐng)的一部分實(shí)施例,而不是所有實(shí)施例的窮舉。并且在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以互相結(jié)合。
參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的資源文件的獲取方法的實(shí)施環(huán)境示意圖。該實(shí)施環(huán)境包括客戶端101和服務(wù)器102。
其中,客戶端101可以應(yīng)用本發(fā)明實(shí)施例提供的資源文件的獲取方法根據(jù)用戶的操作確定功能對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)后,先根據(jù)業(yè)務(wù)標(biāo)識(shí)在內(nèi)存中是否有第一資源文件包,其中,第一資源文件包由服務(wù)器102發(fā)布,驗(yàn)簽成功;若有第一資源文件包,則確定第一資源文件包中是否有第一資源文件,其中,第一資源文件與資源文件標(biāo)識(shí)對(duì)應(yīng);若有第一資源文件,則獲取第一資源文件;
服務(wù)器102可以應(yīng)用本發(fā)明實(shí)施例提供的資源文件的獲取方法將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的所有第二資源文件生成一個(gè)第三資源文件包;生成所述第三資源文件包的第二驗(yàn)簽文件;將所述第三資源文件包和所述第二驗(yàn)簽文件生成離線資源包;發(fā)布離線資源包,以使客戶端101從離線資源包的第三資源文件包中獲取第二資源文件。
結(jié)合上述實(shí)施環(huán)境,參見(jiàn)圖2所示的實(shí)施例,本實(shí)施例提供了一種資源文件的獲取方法,本實(shí)施例提供的方法流程具體如下:
201:根據(jù)用戶的操作確定功能標(biāo)識(shí);
202:根據(jù)功能標(biāo)識(shí)確定對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí);
203:根據(jù)業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;
可選地,根據(jù)業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件,包括:
根據(jù)業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包,第一資源文件包由服務(wù)器發(fā)布,驗(yàn)簽成功;
若有第一資源文件包,則確定第一資源文件包中是否有第一資源文件,第一資源文件與資源文件標(biāo)識(shí)對(duì)應(yīng)。
可選地,根據(jù)業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包之前,還包括:
下載服務(wù)器發(fā)布的離線資源包,其中,離線資源包中包括第二資源文件包和第二資源文件包的第一驗(yàn)簽文件。
可選地,下載服務(wù)器發(fā)布的各業(yè)務(wù)的離線資源包之后,還包括:
從離線資源包中獲取第二資源文件包;
根據(jù)第一驗(yàn)簽文件驗(yàn)簽第二資源文件包;
當(dāng)驗(yàn)簽成功后,將第二資源文件包加載至內(nèi)存中。
可選地,從離線資源包中獲取第二資源文件包之前,還包括:
創(chuàng)建第一會(huì)話session;
將離線資源包放入第一session中。
可選地,將第二資源文件包加載至內(nèi)存中,包括:
確定第二資源文件包的虛擬域名;
根據(jù)虛擬域名生成第二資源文件包的第一統(tǒng)一資源定位符url地址;
將第二資源文件包和第一url地址加載至內(nèi)存中。
可選地,根據(jù)業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包,包括:
若存在第二session,則確定有第一資源文件包;
第二session將業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的第一資源文件包加載至內(nèi)存中。
可選地,確定第一資源文件包中是否有第一資源文件,包括:
獲取第一資源文件包的第二url地址;
根據(jù)第二url地址確定第一資源文件包中是否有第一資源文件。
204:若有第一資源文件,則從內(nèi)存中獲取第一資源文件。
本實(shí)施例還提供了另一種資源文件的獲取方法,參見(jiàn)圖3,本實(shí)施例提供的方法流程具體如下:
301:將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的所有第二資源文件生成一個(gè)第三資源文件包;
302:生成第三資源文件包的第二驗(yàn)簽文件;
303:將第三資源文件包和第二驗(yàn)簽文件生成離線資源包;
304:發(fā)布離線資源包,以使客戶端根據(jù)業(yè)務(wù)標(biāo)識(shí)獲取第二資源文件。
有益效果:
根據(jù)用戶的操作確定功能對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)后,根據(jù)業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;若有第一資源文件,則獲取第一資源文件,使得對(duì)應(yīng)相同業(yè)務(wù)標(biāo)識(shí)的不同功能,均從同一資源文件包內(nèi)獲取資源文件,當(dāng)重復(fù)獲取同一資源文件時(shí),不再重復(fù)對(duì)該資源文件的解密、驗(yàn)簽,降低了cpu、內(nèi)存等資源的浪費(fèi)。
結(jié)合上述實(shí)施環(huán)境,本實(shí)施例提供了一種資源文件的獲取方法。為了便于說(shuō)明,本實(shí)施例以客戶端為圖1中的客戶端101,服務(wù)器為圖1中的服務(wù)器102,app包含3個(gè)業(yè)務(wù),分別為業(yè)務(wù)1、業(yè)務(wù)2和業(yè)務(wù)3為例,對(duì)本實(shí)施例提供的方法進(jìn)行詳細(xì)地舉例說(shuō)明。
參見(jiàn)圖4,本實(shí)施例提供的方法流程具體如下:
401:服務(wù)器將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的所有第二資源文件生成一個(gè)第三資源文件包;
在應(yīng)用中,雖然展現(xiàn)給用戶的是各個(gè)功能,但不同功能間可能使用相同的資源文件,本實(shí)施例將具有相同資源文件的不同功能確定為屬于同一業(yè)務(wù)。例如:另存為功能需要彈出文件夾的對(duì)話框,以使用戶選擇存儲(chǔ)的具體位置,打開(kāi)功能也需要彈出文件夾的對(duì)話框,以使用戶選擇待打開(kāi)文件的具體位置,因此,將另存為功能和打開(kāi)功能確定為屬于文件處理業(yè)務(wù)。
上述業(yè)務(wù)和功能之間的關(guān)系為:業(yè)務(wù)是使用相同資源文件的所有功能的組合,除了上述關(guān)系之前,還可以為:業(yè)務(wù)是實(shí)現(xiàn)類似功能的組合。例如:保存功能和另存為功能均屬于存儲(chǔ)業(yè)務(wù)。除此之外,業(yè)務(wù)還可以是具體其他內(nèi)在聯(lián)系的不同功能的組合,本實(shí)施例不對(duì)同一業(yè)務(wù)中不同功能之間的具體內(nèi)在聯(lián)系進(jìn)行限定。
app中包括多種功能,而不同的功能可能屬于同一業(yè)務(wù),例如:保存功能 和另存為功能均可屬于存儲(chǔ)業(yè)務(wù)。本步驟按業(yè)務(wù)種類將資源文件進(jìn)行分類,將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的需要下載的所有第二資源文件生成一個(gè)第三資源文件包。
例如,若app共包括10個(gè)資源文件,分別為資源文件1至資源文件11,其中資源文件1至資源文件5為業(yè)務(wù)1的資源文件,資源文件6至資源文件10為業(yè)務(wù)2的資源文件,資源文件11為業(yè)務(wù)3的資源文件。對(duì)于業(yè)務(wù)1的資源文件1至資源文件5,需要將資源文件1和資源文件2下載至客戶端,對(duì)于業(yè)務(wù)2的資源文件6至資源文件10,需要將資源文件9下載至客戶端,對(duì)于業(yè)務(wù)3的資源文件11,不需要將其下載至客戶端。此時(shí),服務(wù)器僅將資源文件1和資源文件2件生成一個(gè)第三資源文件包1,將資源文件9生成一個(gè)第三資源文件包2。
經(jīng)過(guò)步驟401,有需要下載資源文件的每一個(gè)業(yè)務(wù)均只有唯一一個(gè)資源文件包,即業(yè)務(wù)1的資源文件包為第三資源文件包1,業(yè)務(wù)2的的資源文件包為第三資源文件包2。沒(méi)有需要下載資源文件的業(yè)務(wù)沒(méi)有資源文件包,即業(yè)務(wù)3沒(méi)有資源文件包。
另外,步驟401按業(yè)務(wù)將資源文件進(jìn)行分類,對(duì)于一些業(yè)務(wù)區(qū)分不明顯的app也可以按使用頻率等將資源文件進(jìn)行分類。
402:服務(wù)器加密第三資源文件包,并生成第三資源文件包的第二驗(yàn)簽文件;
本步驟的具體實(shí)現(xiàn)方式包括但不限于:將第三資源文件包加密,通過(guò)私鑰加密生成第三資源文件包的第二驗(yàn)簽文件。
例如圖5所示,服務(wù)器將離線資源包.tar文件進(jìn)行md5(messagedigestalgorithm,消息摘要算法第五版)計(jì)算,并通過(guò)私鑰加密生成驗(yàn)簽文件cert。
403:服務(wù)器將第三資源文件包和第二驗(yàn)簽文件生成離線資源包;
本實(shí)施例不對(duì)將第三資源文件包和第二驗(yàn)簽文件生成離線資源包的具體實(shí)施方式進(jìn)行限定,例如:將第三資源文件包和第二驗(yàn)簽文件打包成下載包,將下載包作為離線資源包。
仍以圖5為例,將.tar和cert打包成為最終的下載包.zip文件。
需要說(shuō)明的是,本步驟可以直接將第三資源文件包和第二驗(yàn)簽文件生成離線資源包,但是為了保證第三資源文件的安全性,可選地,本步驟將加密的第三資源文件包和第二驗(yàn)簽文件生成離線資源包。
經(jīng)過(guò)步驟401至步驟403會(huì)生成離線資源包,該離線資源包中包括需要進(jìn)行離線下載的所有資源。需要進(jìn)行離線下載的所有資源按業(yè)務(wù)進(jìn)行分類,屬于同一業(yè)務(wù)的需要離的所有資源文件存儲(chǔ)一同一資源文件包中。
也就是說(shuō),離線資源包包括資源文件包,資源文件包包括資源文件。不同資源文件包對(duì)應(yīng)不同業(yè)務(wù),屬于同一業(yè)務(wù)的資源文件存儲(chǔ)于同一資源文件包中。
404:服務(wù)器發(fā)布離線資源包;
由于app中不同業(yè)務(wù)對(duì)應(yīng)不同的資源文件,但是同一個(gè)業(yè)務(wù)中的不同功能會(huì)有共享的資源文件,因此,通過(guò)步驟401至404可以按照業(yè)務(wù)為維度將同一業(yè)務(wù)需要下載的所有資源文件生成一個(gè)第三資源文件包,不僅能夠減少服務(wù)器的發(fā)布數(shù)量,方便管理,還能統(tǒng)一更新同一業(yè)務(wù)的離線資源包。
目前不論是ios(蘋果公司開(kāi)發(fā)的移動(dòng)操作系統(tǒng))或者android(安卓操作系統(tǒng))系統(tǒng),app升級(jí)需持續(xù)較長(zhǎng)的時(shí)間,特別是ios至少需要一周的審核發(fā)布時(shí)間。在這種情況下,通過(guò)發(fā)布離線資源包,可以使app預(yù)先離線資源包中的資源文件預(yù)先離線下載至app所屬客戶端,縮短app升級(jí)周期。
另外,離線資源包下載至app中容易受到非法的篡改,為了防止離線資源包中的資源文件被篡改,造成安全性問(wèn)題??梢酝ㄟ^(guò)在步驟402中加密第三資源文件包,并生成第三資源文件包的第二驗(yàn)簽保證離線資源包中資源文件的安全性,步驟403中加密的第三資源文件包和第二驗(yàn)簽文件生成離線資源包,步驟404發(fā)布該離線資源包完成資源文件的加密過(guò)程。
此外,步驟401至步驟404發(fā)布的離線資源包是按照業(yè)務(wù)將多個(gè)資源文件組合成的一個(gè)離線資源包,其包結(jié)構(gòu)與實(shí)際在服務(wù)器上的結(jié)構(gòu)一致,以當(dāng)前目 錄作為根目錄進(jìn)行打包(例如tar格式)。
需要說(shuō)明的是,步驟401至步驟404并非每次執(zhí)行本實(shí)施例提供的方法獲取資源文件時(shí)均執(zhí)行的步驟,僅在需要更新資源文件或者存在新的需要下載的源文件時(shí)才執(zhí)行步驟401至步驟404以使發(fā)布的離線資源包為最新的離線資源包。本實(shí)施例不對(duì)觸發(fā)執(zhí)行步驟401至步驟404的具體條件進(jìn)行限定。
405:客戶端下載服務(wù)器發(fā)布的離線資源包;
其中,離線資源包中包括第二資源文件包和第二資源文件包的第一驗(yàn)簽文件。
本步驟的具體實(shí)施方式,包括但不限于:當(dāng)用戶點(diǎn)擊進(jìn)入app,客戶端發(fā)起請(qǐng)求離線資源包列表,將最新的離線資源包列表與本地做對(duì)比,如果有更新,則根據(jù)需要發(fā)起網(wǎng)絡(luò)請(qǐng)求到服務(wù)器下載離線資源包。服務(wù)器收到請(qǐng)求消息后,進(jìn)行匹配,如果發(fā)現(xiàn)客戶端版本較老則將新的業(yè)務(wù)離線資源包信息返回給客戶端。如果客戶端需要下載離線資源包,則發(fā)起網(wǎng)絡(luò)請(qǐng)求到服務(wù)器直接下載離線資源包置。
由于服務(wù)器在步驟404時(shí)會(huì)發(fā)布各種離線資源包,本步驟中客戶端需要根據(jù)實(shí)際情況從客戶端中挑選需要的離線資源包并下載,因此本步驟中下載的離線資源包為步驟404中發(fā)布的離線資源包中的一部分。本步驟中各第二資源文件包也為步驟404中發(fā)布的部分離線資源包中的第三資源文件包。本步驟中第一驗(yàn)簽文件也為步驟404中發(fā)布的部分離線資源包中的第二驗(yàn)簽文件。
本實(shí)施例不限定第二資源文件包和第三資源文件包的具體關(guān)系,也不限定第一驗(yàn)簽文件和第二驗(yàn)簽文件之間的具體關(guān)系。
在挑選離線資源包時(shí),可以先確定需要資源文件的業(yè)務(wù),將該業(yè)務(wù)的離線資源包確定為挑選的離線資源包。
另外,本步驟并非每次均要執(zhí)行的步驟,僅在需要下載離線資源包時(shí)才執(zhí)行步驟405以獲得最新的離線資源包。本實(shí)施例不對(duì)需要下載離線資源包的具體判斷標(biāo)準(zhǔn)進(jìn)行限定。例如:當(dāng)某一業(yè)務(wù)被用戶點(diǎn)擊時(shí),確定需要下載該業(yè)務(wù) 的離線資源包。
此外,由于離線資源包發(fā)布是階段性的,在新的離線資源包發(fā)布之前,現(xiàn)有離線資源包中的資源文件均可以重復(fù)使用,為了避免每次使用時(shí)均下載一次離線資源包,因此在步驟405下載離線資源包后,在存儲(chǔ)設(shè)備中存儲(chǔ)下載的離線資源包,以備后續(xù)重復(fù)使用。
406:客戶端根據(jù)用戶的操作確定功能標(biāo)識(shí),根據(jù)功能標(biāo)識(shí)確定對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí);
當(dāng)用戶在客戶端點(diǎn)擊一個(gè)功能時(shí),客戶端會(huì)獲取用戶點(diǎn)擊的功能標(biāo)識(shí),再根據(jù)預(yù)設(shè)規(guī)則,確定對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)?;蛘?,用戶點(diǎn)擊一個(gè)功能后,根據(jù)該功能執(zhí)行步驟,觸發(fā)執(zhí)行另一個(gè)功能,此時(shí),客戶端會(huì)觸發(fā)的功能標(biāo)識(shí),再根據(jù)預(yù)設(shè)規(guī)則,確定對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)。
例如,用戶點(diǎn)擊另存為功能時(shí),客戶端會(huì)獲取用戶點(diǎn)擊的另存為功能的標(biāo)識(shí),再根據(jù)預(yù)設(shè)規(guī)則,確定對(duì)應(yīng)的保存業(yè)務(wù)標(biāo)識(shí)和彈出存儲(chǔ)對(duì)話框所需的資源文件標(biāo)識(shí)。
再例如,用戶點(diǎn)擊另存為前一版本功能時(shí),若根據(jù)該功能執(zhí)行步驟,會(huì)觸發(fā)執(zhí)行展現(xiàn)版本列表功能,以使用戶選擇存儲(chǔ)的老版本,此時(shí),客戶端會(huì)觸發(fā)展現(xiàn)版本列表的功能標(biāo)識(shí),再根據(jù)預(yù)設(shè)規(guī)則,確定對(duì)應(yīng)的版本管理業(yè)務(wù)標(biāo)識(shí)和展示框調(diào)用相關(guān)的資源文件標(biāo)識(shí)。
需要說(shuō)明的是,本實(shí)施例僅以先執(zhí)行步驟405再執(zhí)行步驟406為例進(jìn)行說(shuō)明。具體實(shí)施時(shí),還可以根據(jù)具體情況,先執(zhí)行步驟406確定業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí),再執(zhí)行步驟405根據(jù)業(yè)務(wù)標(biāo)識(shí)下載服務(wù)器發(fā)布的離線資源包。本實(shí)施例不對(duì)步驟405和步驟406的具體執(zhí)行順序進(jìn)行限定。
407:客戶端根據(jù)業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包,若無(wú)第一資源文件包,則執(zhí)行步驟408,若有第一資源文件包,則執(zhí)行步驟409;
其中,第一資源文件包由服務(wù)器發(fā)布,驗(yàn)簽成功,且與業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)。
由于資源文件包中包括同一業(yè)務(wù)的資源文件,因此資源文件包與業(yè)務(wù)對(duì) 應(yīng)。
具體的,若存在與業(yè)務(wù)相關(guān)的管理對(duì)象session(會(huì)話),且第二session將業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的第一資源文件包加載至內(nèi)存中,則可以根據(jù)業(yè)務(wù)標(biāo)識(shí)確定是否有與該業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的第二session,或存在第二session,則確定有第一資源文件包,若不存在第二session,則確定沒(méi)有第一資源文件包。
408:客戶端獲取業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的離線資源包,并確認(rèn)其的安全性;
若客戶端的存儲(chǔ)設(shè)備中存儲(chǔ)有業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的離線資源包,則從存儲(chǔ)設(shè)備中獲取該離線資源包。若客戶端的存儲(chǔ)設(shè)備中未存儲(chǔ)有業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的離線資源包,則執(zhí)行步驟405從中服務(wù)器下載該離線資源包。
對(duì)于從存儲(chǔ)設(shè)備中獲取該離線資源包的情況,可以從步驟405中下載并存儲(chǔ)的離線資源包中獲取第二資源文件包,根據(jù)第一驗(yàn)簽文件驗(yàn)簽第二資源文件包,若驗(yàn)簽成功則將第二資源文件包加載至內(nèi)存中,若驗(yàn)簽失敗則刪除該離線資源包,重新執(zhí)行步驟405以重新下載該離線資源包。
若步驟405中下載了多個(gè)離線資源包,則此步驟可以從下載的多個(gè)離線資源包中選擇一個(gè)驗(yàn)證其安全性。例如:當(dāng)某一業(yè)務(wù)被用戶點(diǎn)擊時(shí),則選擇被點(diǎn)擊的業(yè)務(wù)的離線資源包,驗(yàn)證其安全性。
另外,安全性驗(yàn)證方法可以有多種,若服務(wù)器通過(guò)圖5的方法生成離線資源包,則本步驟可以通過(guò)圖6所示的方法進(jìn)行安全性驗(yàn)證。即:在客戶端,進(jìn)入某個(gè)業(yè)務(wù)前,將下載并存儲(chǔ)于存儲(chǔ)設(shè)備的該業(yè)務(wù)的離線資源包.zip文件解壓,之后計(jì)算.tar文件的md5值,利用公鑰進(jìn)行驗(yàn)簽,將結(jié)果與cert文件中的比較。若二者不相同,則認(rèn)為驗(yàn)簽不通過(guò),刪除該離線資源包。若二者相同,則認(rèn)為驗(yàn)簽通過(guò),將第二資源文件包加載至內(nèi)存中。
客戶端應(yīng)用通過(guò)對(duì)離線資源包中的資源文件包進(jìn)行驗(yàn)簽,來(lái)判斷離線資源包是否有被篡改。
此外,本步驟在執(zhí)行時(shí),還可以創(chuàng)建第一session,將步驟405中下載并存儲(chǔ)的離線資源包放入所述第一session中,在第一session中獲取第二資源文件 包;根據(jù)第一驗(yàn)簽文件驗(yàn)簽第二資源文件包;當(dāng)驗(yàn)簽成功后,將第二資源文件包加載至內(nèi)存中。
其中,session為與業(yè)務(wù)相關(guān)的管理對(duì)象,session可以在獲取到業(yè)務(wù)的請(qǐng)求參數(shù)后,根據(jù)請(qǐng)求參數(shù)查找該業(yè)務(wù)的離線資源包,將其驗(yàn)簽并加載到內(nèi)存。由于離線資源包中包括同一業(yè)務(wù)的資源文件,而session又與業(yè)務(wù)相關(guān),因此同一個(gè)session的離線資源包中的資源文件可以是共享的。對(duì)于同一session上的所有請(qǐng)求,都會(huì)優(yōu)先在該session的離線資源包中查找。通過(guò)session不僅方便管理同一業(yè)務(wù)的不同請(qǐng)求,而且可以提高同一業(yè)務(wù)請(qǐng)求的執(zhí)行效率。
對(duì)于驗(yàn)簽成功則將第二資源文件包加載至內(nèi)存中的步驟,由于url(uniformresourelocator,統(tǒng)一資源定位符)可以使權(quán)限管理、域的管理更加方便,因此該步驟可以通過(guò)如下三個(gè)子步驟實(shí)現(xiàn):
子步驟1:確定第二資源文件包的虛擬域名;
由于離線資源包是根據(jù)當(dāng)前資源的目錄打包的,因此,在客戶端為了保持與線上訪問(wèn)的一致性,下發(fā)離線資源包的同時(shí),會(huì)指定服務(wù)器域名,此域名可以是任意符合域名規(guī)則的名稱。
本實(shí)施例不對(duì)確定第二資源文件包的虛擬域名的具體方法進(jìn)行限定,若離線資源包中含有虛擬域名的文件,可以從該文件中獲取虛擬域名,若離線資源包中不含有虛擬域名的文件,可以自行生成虛擬域名。生成方式可以隨機(jī)生成,也可以按預(yù)先制定的生成規(guī)則生成。
子步驟2:根據(jù)虛擬域名生成第二資源文件包的第一url地址;
子步驟3:將第二資源文件包和第一url地址加載至內(nèi)存中。
例如:服務(wù)器為了靈活配置服務(wù)器地址,在離線資源包中只使用當(dāng)前目錄作為根目錄進(jìn)行打包成.tar文件。如:
https://www.domain.com/business/travel/www/index.html。
將其分為兩個(gè)部分,其中虛擬域名為:
https://www.domain.com/business/travel。
在客戶端內(nèi)存加載時(shí),結(jié)合虛擬域名,將其拼接成合法的url地址。通過(guò)虛擬域名,可以使客戶端訪問(wèn)資源文件變得異常簡(jiǎn)單,不像以往的單個(gè)資源文件散落在文件夾中造成的資源文件的困難。
通過(guò)執(zhí)行步驟408,將離線資源包統(tǒng)一驗(yàn)簽、加載進(jìn)內(nèi)存,加載過(guò)程中結(jié)合虛擬域名,因此,對(duì)于訪問(wèn)指定的url資源在內(nèi)存上就一一與其對(duì)應(yīng)起來(lái)。
409:確定第一資源文件包中是否有第一資源文件,若有第一資源文件,則執(zhí)行步驟410,若沒(méi)有第一資源文件,則執(zhí)行步驟411;
其中,第一資源文件與資源文件標(biāo)識(shí)對(duì)應(yīng)。
有兩種情況可以觸發(fā)執(zhí)行本步驟,
第一種情況為:步驟407中客戶端確定內(nèi)存中有服務(wù)器發(fā)布的,且與業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的第一資源文件包。
第二種情況為:步驟408中客戶端獲取業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的離線資源包,驗(yàn)簽成功,將第二資源文件包加載至內(nèi)存中后執(zhí)行步驟409。
對(duì)于第二種情況,將第二資源文件包加載至內(nèi)存后即成為本步驟中的第一資源文件包。
本步驟在具體實(shí)施時(shí),可以獲取第一資源文件包的第二url地址;客戶端根據(jù)第二url地址確定第一資源文件包中是否有第一資源文件。
410:客戶端獲取第一資源文件;
客戶端從內(nèi)存中的第一資源文件包中獲取第一資源文件。
由于步驟408中會(huì)對(duì)離線資源包進(jìn)行安全性驗(yàn)證,即對(duì)離線資源包中的資源文件進(jìn)行驗(yàn)簽,驗(yàn)簽成功的第二資源文件包才會(huì)被加載至內(nèi)存中。因此內(nèi)存中的資源文件均為驗(yàn)簽成功的資源文件,在執(zhí)行步驟410時(shí)可以直接獲取,不需要再次進(jìn)行驗(yàn)簽。
現(xiàn)有的實(shí)現(xiàn)方式中,每次獲取資源文件均會(huì)對(duì)其進(jìn)行驗(yàn)簽,不論其之前是否被驗(yàn)簽過(guò)。此種方式往往會(huì)造成cpu、內(nèi)存的浪費(fèi),頻繁的加解密在客戶端上也是不可取的,甚至嚴(yán)重影響用戶體驗(yàn)。且當(dāng)同一時(shí)間需要訪問(wèn)大量資源文 件的時(shí)候,就會(huì)造成應(yīng)用卡頓、頁(yè)面打開(kāi)慢等影響。特別在諸如列表頁(yè),需要訪問(wèn)大量的資源文件。而且,對(duì)于列表頁(yè),用戶的來(lái)回滾動(dòng),在很短時(shí)間內(nèi)會(huì)觸發(fā)重復(fù)訪問(wèn)同一資源的情況,這時(shí)會(huì)造成每個(gè)文件的重復(fù)驗(yàn)簽。
而本實(shí)施例中僅在步驟408第一次加載資源文件包(資源文件包中包含多個(gè)資源文件)至內(nèi)存時(shí)驗(yàn)簽一次,此后無(wú)論讀取該資源文件包中的任何資源文件均不需要再次進(jìn)行驗(yàn)簽,減少了驗(yàn)簽次數(shù),避免了驗(yàn)簽造成的cpu、內(nèi)存等資源的浪費(fèi)。
411:客戶端從服務(wù)器中獲取第一資源文件。
獲取第一資源文件后可以將獲取到的第一資源文件緩存于內(nèi)存中,或者緩存與內(nèi)存對(duì)應(yīng)的session中。
圖7示出了本實(shí)施例提供方法的具體流程圖。當(dāng)用戶打開(kāi)客戶端應(yīng)用后,從服務(wù)器獲取離線資源包列表,服務(wù)器返回離線資源包列表。當(dāng)客戶端需要下載離線資源包時(shí),從服務(wù)器處下載離線資源包。客戶端獲取url地址后,根據(jù)url地址獲取資源文件。
另外,本實(shí)施例提供的方法服務(wù)器根據(jù)業(yè)務(wù)維度對(duì)資源文件進(jìn)行分類和打包。因?yàn)椋總€(gè)業(yè)務(wù)的功能不同所對(duì)應(yīng)的資源不同,但是同一個(gè)業(yè)務(wù)會(huì)有共享的資源,按照業(yè)務(wù)為維度不僅能夠減少服務(wù)器發(fā)布離線資源包的數(shù)量,還能減少客戶端下載離線資源包的次數(shù)、方便管理,統(tǒng)一更新整個(gè)業(yè)務(wù)的離線資源包。
需要說(shuō)明的是,本申請(qǐng)?zhí)峁┑馁Y源文件的獲取方法中,第一、第二、第三僅為序號(hào),用于區(qū)別資源文件包、資源文件、驗(yàn)簽文件在該方法中所在的步驟,并無(wú)其他意義。第一資源文件包、第二資源文件包與第三資源文件包之間可以相同,也可以不同,也可以部分相同,同理,第一資源文件可以與第二資源文件相同也可以不同,第一驗(yàn)簽文件可以與第二驗(yàn)簽文件相同也可以不同,本實(shí)施例不對(duì)不同序號(hào)的資源文件包、資源文件或驗(yàn)簽文件之間具體關(guān)系進(jìn)行限定。
有益效果:
根據(jù)用戶的操作確定功能對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)后,先根據(jù)業(yè)務(wù)標(biāo)識(shí)在內(nèi)存中確定與業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的資源文件包;再?gòu)馁Y源文件包中獲取與資源文件標(biāo)識(shí)對(duì)應(yīng)的資源文件,使得對(duì)應(yīng)相同業(yè)務(wù)標(biāo)識(shí)的不同功能,均從同一資源文件包內(nèi)獲取資源文件,當(dāng)重復(fù)獲取同一資源文件時(shí),不再重復(fù)對(duì)該資源文件的解密、驗(yàn)簽,降低了cpu、內(nèi)存等資源的浪費(fèi)。
基于同一發(fā)明構(gòu)思,本實(shí)施例提供了一種客戶端,由于客戶端解決問(wèn)題的原理與圖2所示的一種資源文件的獲取方法相似,因此客戶端的實(shí)施可以參見(jiàn)圖2所示的方法的實(shí)施例,重復(fù)之處不再贅述。
參見(jiàn)圖8,該客戶端包括:
第一確定模塊801,用于根據(jù)用戶的操作確定功能標(biāo)識(shí);
第二確定模塊802,用于根據(jù)第一確定模塊801確定的功能標(biāo)識(shí)確定對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí);
第三確定模塊803,用于根據(jù)第二確定模塊802確定的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;
獲取模塊804,用于當(dāng)?shù)谌_定模塊803確定有第一資源文件時(shí),從內(nèi)存中獲取第一資源文件。
參見(jiàn)圖9,第三確定模塊803,包括:
第一確定子模塊8031,用于根據(jù)業(yè)務(wù)標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件包,第一資源文件包由服務(wù)器發(fā)布,驗(yàn)簽成功;
第二確定子模塊8032,用于當(dāng)?shù)谝淮_定子模塊8031確定有第一資源文件包時(shí),確定第一資源文件包中是否有第一資源文件,第一資源文件與資源文件標(biāo)識(shí)對(duì)應(yīng)。
參見(jiàn)圖10,第三確定模塊803,還包括
下載子模塊8033,用于下載服務(wù)器發(fā)布的離線資源包,其中,離線資源包中包括第二資源文件包和第二資源文件包的第一驗(yàn)簽文件。
參見(jiàn)圖11,第三確定模塊803,還包括:
獲取子模塊8034,用于從離線資源包中獲取第二資源文件包;
驗(yàn)簽子模塊8035,用于根據(jù)第一驗(yàn)簽文件驗(yàn)簽獲取子模塊8034獲取的第二資源文件包;
加載子模塊8036,用于當(dāng)驗(yàn)簽子模塊8035驗(yàn)簽成功后,將獲取子模塊8034獲取的第二資源文件包加載至內(nèi)存中。
參見(jiàn)圖12,該第三確定模塊803,還包括:
創(chuàng)建子模塊8037,用于創(chuàng)建第一session;
放入子模塊8038,用于將離線資源包放入創(chuàng)建子模塊8037創(chuàng)建的第一session中。
參見(jiàn)圖13,加載子模塊8036,包括:
確定單元80361,用于確定第二資源文件包的虛擬域名;
生成單元80362,用于根據(jù)確定單元80361確定的虛擬域名生成第二資源文件包的第一url地址;
加載單元80363,用于將第二資源文件包和生成單元80362生成的第一url地址加載至內(nèi)存中。
其中,第一確定子模塊8031,用于當(dāng)存在第二session時(shí),確定有第一資源文件包;
其中,第二session將業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的第一資源文件包加載至內(nèi)存中。
參見(jiàn)圖14,第二確定子模塊8032,包括:
獲取單元80321,用于獲取第一資源文件包的第二url地址;
確定單元80322,用于根據(jù)獲取單元80321獲取的第二url地址確定第一資源文件包中是否有第一資源文件。
有益效果如下:
根據(jù)用戶的操作確定功能對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)后,根據(jù)業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;若有第一資源文件,則獲 取第一資源文件,使得對(duì)應(yīng)相同業(yè)務(wù)標(biāo)識(shí)的不同功能,均從同一資源文件包內(nèi)獲取資源文件,當(dāng)重復(fù)獲取同一資源文件時(shí),不再重復(fù)對(duì)該資源文件的解密、驗(yàn)簽,降低了cpu、內(nèi)存等資源的浪費(fèi)。
基于同一發(fā)明構(gòu)思,本實(shí)施例提供了一種服務(wù)器,由于服務(wù)器解決問(wèn)題的原理與圖3所示的一種資源文件的獲取方法相似,因此服務(wù)器的實(shí)施可以參見(jiàn)圖3所示的方法的實(shí)施例,重復(fù)之處不再贅述。
參見(jiàn)圖15,該服務(wù)器包括:
第一生成模塊1501,用于將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的所有第二資源文件生成一個(gè)第三資源文件包;
第二生成模塊1502,用于生成第一生成模塊1501生成的第三資源文件包的第二驗(yàn)簽文件;
第三生成模塊1503,用于將第一生成模塊1501生成的第三資源文件包和第二生成模塊1502生成的第二驗(yàn)簽文件生成離線資源包;
發(fā)布模塊1504,用于發(fā)布第三生成模塊1503生成的離線資源包,以使客戶端根據(jù)業(yè)務(wù)標(biāo)識(shí)獲取第二資源文件。
有益效果如下:
將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的所有資源文件生成一個(gè)資源文件包,發(fā)布包括資源文件包的離線資源包,以使客戶端根據(jù)業(yè)務(wù)標(biāo)識(shí)獲取資源文件。使得對(duì)應(yīng)相同業(yè)務(wù)標(biāo)識(shí)的不同功能,均從同一資源文件包內(nèi)獲取資源文件,當(dāng)重復(fù)獲取同一資源文件時(shí),不再重復(fù)對(duì)該資源文件的解密、驗(yàn)簽,降低了cpu、內(nèi)存等資源的浪費(fèi)。
基于同一發(fā)明構(gòu)思,本實(shí)施例提供了一種資源文件的獲取系統(tǒng),該系統(tǒng)用于執(zhí)行上述實(shí)施例所提供的資源文件的獲取方法,參見(jiàn)圖16,該系統(tǒng)包括:
客戶端1601和服務(wù)器1602;
其中,客戶端1601如上述圖8至圖14所示的實(shí)施例提供的客戶端,詳見(jiàn)上述圖8至圖14所示的實(shí)施例;
服務(wù)器1602如上述圖15所示的實(shí)施例提供的服務(wù)器,詳見(jiàn)上述圖15所示的實(shí)施例。
有益效果如下:
服務(wù)器將對(duì)應(yīng)同一業(yè)務(wù)標(biāo)識(shí)的所有資源文件生成一個(gè)資源文件包,發(fā)布包括資源文件包的離線資源包,客戶端根據(jù)用戶的操作確定功能對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)后,根據(jù)業(yè)務(wù)標(biāo)識(shí)和資源文件標(biāo)識(shí)確定內(nèi)存中是否有第一資源文件;若有第一資源文件,則獲取第一資源文件,使得對(duì)應(yīng)相同業(yè)務(wù)標(biāo)識(shí)的不同功能,均從同一資源文件包內(nèi)獲取資源文件,當(dāng)重復(fù)獲取同一資源文件時(shí),不再重復(fù)對(duì)該資源文件的解密、驗(yàn)簽,降低了cpu、內(nèi)存等資源的浪費(fèi)。
上述實(shí)施例中,均可以采用現(xiàn)有的功能元器件模塊來(lái)實(shí)施。例如,處理模塊可以采用現(xiàn)有的數(shù)據(jù)處理元器件,至少,現(xiàn)有定位技術(shù)中采用的定位服務(wù)器上便具備實(shí)現(xiàn)該功能元器件;至于接收模塊,則是任意一個(gè)具備信號(hào)傳輸功能的設(shè)備都具備的元器件;同時(shí),處理模塊進(jìn)行的a、n參數(shù)計(jì)算、強(qiáng)度調(diào)整等采用的都是現(xiàn)有的技術(shù)手段,本領(lǐng)域技術(shù)人員經(jīng)過(guò)相應(yīng)的設(shè)計(jì)開(kāi)發(fā)即可實(shí)現(xiàn)。
為了描述的方便,以上所述裝置的各部分以功能分為各種模塊或單元分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各模塊或單元的功能在同一個(gè)或多個(gè)軟件或硬件中實(shí)現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn) 品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。