移動(dòng)終端的應(yīng)用程序更新方法與移動(dòng)終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種移動(dòng)終端的應(yīng)用程序更新方法與移動(dòng)終端。
【背景技術(shù)】
[0002]隨著移動(dòng)終端設(shè)備的普及,越來越多的移動(dòng)應(yīng)用(如,微信、支付寶等)應(yīng)運(yùn)而生,為人們的日常生活提供便利。
[0003]傳統(tǒng)的移動(dòng)應(yīng)用在安裝時(shí),將應(yīng)用安裝包中的靜態(tài)文件安裝到一個(gè)存儲(chǔ)區(qū)域中,由于系統(tǒng)本身的限制,只能讀取這個(gè)存儲(chǔ)區(qū)域里面的文件,但不能對(duì)這個(gè)存儲(chǔ)區(qū)域里面的文件進(jìn)行更改。
[0004]這種方式導(dǎo)致了在需要更新時(shí),用戶不得不重新下載一個(gè)新的完整的應(yīng)用安裝包,并替換舊的應(yīng)用安裝包,使得整個(gè)更新過程不夠高效,造成大量冗余文件被反復(fù)下載。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提出一種移動(dòng)終端的應(yīng)用程序更新方法與移動(dòng)終端,能夠提高移動(dòng)終端的應(yīng)用程序的更新效率。
[0006]本發(fā)明實(shí)施例提供一種移動(dòng)終端的應(yīng)用程序更新方法,包括:
[0007]在初次啟動(dòng)應(yīng)用程序時(shí),為所述應(yīng)用程序分配一個(gè)靜態(tài)文件存儲(chǔ)空間,并將所述應(yīng)用程序的安裝包中的靜態(tài)文件復(fù)制到所述靜態(tài)文件存儲(chǔ)空間中進(jìn)行存儲(chǔ);
[0008]進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新;
[0009]當(dāng)需要進(jìn)行更新時(shí),從服務(wù)器中下載最新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件,以完成所述應(yīng)用程序的更新。
[0010]在一種實(shí)施方式中,所述進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新,具體包括:
[0011 ]向服務(wù)器發(fā)送索引文件獲取請(qǐng)求,從服務(wù)器中獲取第一索引文件;所述第一索引文件記載了當(dāng)前存儲(chǔ)在所述服務(wù)器中的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào);
[0012]將所述第一索引文件與存儲(chǔ)在所述移動(dòng)終端的第二索引文件對(duì)比,當(dāng)所述第一索引文件與第二索引文件的內(nèi)容不完全一致時(shí),判定需要進(jìn)行更新;所述第二索引文件記載了當(dāng)前存儲(chǔ)在移動(dòng)終端的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào);
[0013]所述當(dāng)需要進(jìn)行更新時(shí),從服務(wù)器中下載最新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件,以完成所述應(yīng)用程序的更新,具體包括:
[0014]通過--對(duì)比所述第一索引文件與所述第二索引文件中同名的兩個(gè)靜態(tài)文件的版本號(hào),查找出需要更新的靜態(tài)文件和/或新增的靜態(tài)文件;
[0015]從所述服務(wù)器中下載需要更新的靜態(tài)文件和/或新增的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件;
[0016]將所述第一索引文件覆蓋所述第二索引文件,以更新所述第二索引文件。
[0017]在另一種實(shí)施方式中,所述進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新,具體包括:
[0018]讀取存儲(chǔ)在移動(dòng)終端的第二索引文件;所述第二索引文件記載了當(dāng)前存儲(chǔ)在所述移動(dòng)終端的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào)以及所述第二索引文件的內(nèi)容修改時(shí)間;
[0019]將所述第二索引文件的內(nèi)容修改時(shí)間發(fā)送到服務(wù)器,由所述服務(wù)器將所述第二索引文件的內(nèi)容修改時(shí)間與第一索引文件的內(nèi)容修改時(shí)間進(jìn)行對(duì)比;所述第一索引文件存儲(chǔ)在所述服務(wù)器中,并記載了當(dāng)前存儲(chǔ)在所述服務(wù)器中的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào)以及所述第一索引文件的內(nèi)容修改時(shí)間;
[0020]當(dāng)獲取到所述服務(wù)器返回的內(nèi)容修改時(shí)間不一致的信息時(shí),判定需要進(jìn)行更新;
[0021]所述當(dāng)需要進(jìn)行更新時(shí),從服務(wù)器中下載最新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件,以完成所述應(yīng)用程序的更新,具體包括:
[0022]當(dāng)需要進(jìn)行更新時(shí),從服務(wù)器中獲取所述第一索引文件;
[0023]通過一一對(duì)比所述第一索引文件與所述第二索引文件中同名的兩個(gè)靜態(tài)文件的版本號(hào),查找出需要更新的靜態(tài)文件和/或新增的靜態(tài)文件;
[0024]從所述服務(wù)器中下載需要更新的靜態(tài)文件和/或新增的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件;
[0025]將所述第一索引文件覆蓋所述第二索引文件,以更新所述第二索引文件。
[0026]在另一種實(shí)施方式中,所述進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新,具體包括:
[0027]向服務(wù)器發(fā)送修改時(shí)間獲取請(qǐng)求,獲取存儲(chǔ)在服務(wù)器中的第一索引文件的內(nèi)容修改時(shí)間;所述第一索引文件記載了當(dāng)前存儲(chǔ)在所述服務(wù)器中的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào)以及所述第一索引文件的內(nèi)容修改時(shí)間;
[0028]讀取存儲(chǔ)在移動(dòng)終端的第二索引文件;所述第二索引文件記載了當(dāng)前存儲(chǔ)在所述移動(dòng)終端的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào)以及所述第二索引文件的內(nèi)容修改時(shí)間;
[0029]對(duì)比所述第一索引文件的內(nèi)容修改時(shí)間與所述第二索引文件的內(nèi)容修改時(shí)間,當(dāng)兩者不一致時(shí),判定需要進(jìn)行更新;
[0030]所述當(dāng)需要進(jìn)行更新時(shí),從服務(wù)器中下載最新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件,以完成所述應(yīng)用程序的更新,具體包括:
[0031]當(dāng)需要進(jìn)行更新時(shí),向服務(wù)器發(fā)送索引文件獲取請(qǐng)求,從服務(wù)器中獲取所述第一索引文件;
[0032]通過一一對(duì)比所述第一索引文件與所述第二索引文件中同名的兩個(gè)靜態(tài)文件的版本號(hào),查找出需要更新的靜態(tài)文件和/或新增的靜態(tài)文件;
[0033]從所述服務(wù)器中下載需要更新的靜態(tài)文件和/或新增的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件;
[0034]將所述第一索引文件覆蓋所述第二索引文件,以更新所述第二索引文件。
[0035]作為更優(yōu)選地,所述版本號(hào)為所述靜態(tài)文件的MD5值。
[0036]作為更優(yōu)選地,所述進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新具體是在達(dá)到預(yù)設(shè)的聯(lián)網(wǎng)校驗(yàn)時(shí)機(jī)時(shí),進(jìn)行聯(lián)網(wǎng)校驗(yàn),判斷是否需要進(jìn)行更新。
[0037]作為更優(yōu)選地,所述進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新具體是在達(dá)到預(yù)設(shè)的聯(lián)網(wǎng)校驗(yàn)時(shí)機(jī)時(shí),且當(dāng)前時(shí)間距離上次聯(lián)網(wǎng)校驗(yàn)的時(shí)間超過預(yù)設(shè)的時(shí)間間隔時(shí),進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新。
[0038]作為更優(yōu)選地,所述聯(lián)網(wǎng)校驗(yàn)時(shí)機(jī)為啟動(dòng)所述應(yīng)用程序時(shí)。
[0039]作為更優(yōu)選地,所述移動(dòng)終端的應(yīng)用程序更新方法還包括:
[0040]判斷是否成功將所述應(yīng)用程序的安裝包中所有的靜態(tài)文件復(fù)制到所述靜態(tài)文件存儲(chǔ)空間中進(jìn)行存儲(chǔ);
[0041 ]當(dāng)復(fù)制成功時(shí),記錄一個(gè)復(fù)制成功標(biāo)識(shí);
[0042]所述當(dāng)需要進(jìn)行更新時(shí),從服務(wù)器中下載最新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件,以完成所述應(yīng)用程序的更新,具體包括:
[0043]當(dāng)需要進(jìn)行更新時(shí),判斷是否存在所述復(fù)制成功標(biāo)識(shí);
[0044]當(dāng)不存在所述復(fù)制成功標(biāo)識(shí)時(shí),禁止從服務(wù)器中下載需要更新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中;
[0045]當(dāng)存在所述復(fù)制成功標(biāo)識(shí)時(shí),從服務(wù)器中下載需要更新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,以完成所述應(yīng)用程序的更新。
[0046]作為更優(yōu)選地,所述移動(dòng)終端的應(yīng)用程序更新方法,還包括:
[0047]在每次啟動(dòng)所述應(yīng)用程序時(shí),判斷是否存在所述復(fù)制成功標(biāo)識(shí);
[0048]當(dāng)存在所述復(fù)制成功標(biāo)識(shí)時(shí),讀取所述靜態(tài)文件存儲(chǔ)空間中的靜態(tài)文件;
[0049]當(dāng)不存在所述復(fù)制成功標(biāo)識(shí)時(shí),讀取所述安裝包中的靜態(tài)文件。
[0050]相應(yīng)地,本發(fā)明還提供一種移動(dòng)終端,包括:
[0051]存儲(chǔ)空間分配模塊,用于在初次啟動(dòng)應(yīng)用程序時(shí),為所述應(yīng)用程序分配一個(gè)靜態(tài)文件存儲(chǔ)空間,并將所述應(yīng)用程序的安裝包中的靜態(tài)文件復(fù)制到所述靜態(tài)文件存儲(chǔ)空間中進(jìn)行存儲(chǔ);
[0052]聯(lián)網(wǎng)校驗(yàn)?zāi)K,用于進(jìn)行聯(lián)網(wǎng)校驗(yàn),以判斷是否需要進(jìn)行更新;
[0053]應(yīng)用程序更新模塊,用于當(dāng)需要進(jìn)行更新時(shí),從服務(wù)器中下載最新的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件,以完成所述應(yīng)用程序的更新。
[0054]在一種實(shí)施方式中,所述聯(lián)網(wǎng)校驗(yàn)?zāi)K具體包括:
[0055]索引文件獲取單元,用于向服務(wù)器發(fā)送索引文件獲取請(qǐng)求,從服務(wù)器中獲取第一索引文件;所述第一索引文件記載了當(dāng)前存儲(chǔ)在所述服務(wù)器中的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào);
[0056]索引文件對(duì)比單元,用于將所述第一索引文件與存儲(chǔ)在所述移動(dòng)終端的第二索引文件對(duì)比,當(dāng)所述第一索引文件與第二索引文件的內(nèi)容不完全一致時(shí),判定需要進(jìn)行更新;所述第二索引文件記載了當(dāng)前存儲(chǔ)在移動(dòng)終端的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào);
[0057]所述應(yīng)用程序更新模塊具體包括:
[0058]版本號(hào)對(duì)比單元,用于通過一一對(duì)比所述第一索引文件與所述第二索引文件中同名的兩個(gè)靜態(tài)文件的版本號(hào),查找出需要更新的靜態(tài)文件和/或新增的靜態(tài)文件;
[0059]靜態(tài)文件下載單元,用于從所述服務(wù)器中下載需要更新的靜態(tài)文件和/或新增的靜態(tài)文件到所述靜態(tài)文件存儲(chǔ)空間中,并覆蓋所述靜態(tài)文件存儲(chǔ)空間中的同名的靜態(tài)文件;
[0060]索引文件更新單元,用于將所述第一索引文件覆蓋所述第二索引文件,以更新所述第二索引文件。
[0061 ]在另一種實(shí)施方式中,所述聯(lián)網(wǎng)校驗(yàn)?zāi)K具體包括:
[0062]索引文件讀取單元,用于讀取存儲(chǔ)在移動(dòng)終端的第二索引文件;所述第二索引文件記載了當(dāng)前存儲(chǔ)在所述移動(dòng)終端的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào)以及所述第二索引文件的內(nèi)容修改時(shí)間;
[0063]修改時(shí)間發(fā)送單元,用于將所述第二索引文件的內(nèi)容修改時(shí)間發(fā)送到服務(wù)器,由所述服務(wù)器將所述第二索引文件的內(nèi)容修改時(shí)間與第一索引文件的內(nèi)容修改時(shí)間進(jìn)行對(duì)比;所述第一索引文件存儲(chǔ)在所述服務(wù)器中,并記載了當(dāng)前存儲(chǔ)在所述服務(wù)器中的所述應(yīng)用程序的每個(gè)靜態(tài)文件的版本號(hào)以及所述第一索弓I文件的內(nèi)容修改時(shí)間;
[0064]更新判定單元,用于當(dāng)獲取到所述服務(wù)器返回的內(nèi)容修改時(shí)間不一致的信息時(shí),判定需要進(jìn)行更新;
[0065]所述應(yīng)用程序更新模塊具體包括:
[0066]索引文件獲取單元,用于當(dāng)需要進(jìn)行更新時(shí),向服務(wù)器發(fā)送索引文件獲取請(qǐng)求,從服務(wù)器中獲取所述第一索引文件;
[0067]版本號(hào)對(duì)比單元,用于通過一一對(duì)比所述第一索引文件與所述第二索引文件中同名的兩個(gè)靜態(tài)文件的版本號(hào),查找出需要更新的靜態(tài)文件和/或新增的靜態(tài)文件;
[0068]靜態(tài)文件下載單元,用于從所述服務(wù)器中下載需要更