1.一種組件更新處理方法,其特征在于,所述方法包括:
當(dāng)應(yīng)用中的組件被打開之后,確定所述組件能夠進(jìn)行熱更新;
當(dāng)所述組件需要更新時(shí),從組件服務(wù)器中獲取新更新包的下載地址;
根據(jù)所述下載地址,下載所述組件的所述新更新包;
采用所述新更新包更新所述組件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述組件需要更新時(shí),從組件服務(wù)器中獲取新更新包的下載地址,具體包括:
向所述組件服務(wù)器發(fā)送攜帶本地更新包版本號(hào)的更新請(qǐng)求;
接收所述組件服務(wù)器發(fā)送的攜帶更新標(biāo)識(shí)位的更新響應(yīng)消息;所述更新標(biāo)識(shí)位為所述組件服務(wù)器根據(jù)所述本地更新包的版本號(hào)和最新的更新包的版本號(hào)確定的;
根據(jù)所述更新響應(yīng)消息中的所述更新標(biāo)識(shí)位,確定所述組件需要下載所述新更新包進(jìn)行更新;
從所述更新響應(yīng)消息中獲取所述新更新包的下載地址;
進(jìn)一步地,所述方法還包括:
當(dāng)根據(jù)所述更新響應(yīng)消息中的所述更新標(biāo)識(shí)位,確定所述組件不需要下載所述新更新包進(jìn)行更新,進(jìn)一步從所述更新響應(yīng)消息中獲取下載標(biāo)識(shí)位;
根據(jù)所述下載標(biāo)識(shí)位確定已下載最新的更新包。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述下載地址,下載所述組件的所述新更新包,具體包括:
根據(jù)所述下載地址向文件服務(wù)器發(fā)送攜帶白名單標(biāo)識(shí)的更新包下載請(qǐng)求,以供所述文件服務(wù)器根據(jù)所述白名單標(biāo)識(shí)檢測(cè)所述更新包下載請(qǐng)求為合法請(qǐng)求;
接收所述文件服務(wù)器發(fā)送的、采用第一加密算法對(duì)所述新更新包進(jìn)行加密后的第一文件和采用第二加密算法對(duì)所述新更新包的第一信息摘要值進(jìn)行加密后的第二文件;
采用所述第一加密算法對(duì)應(yīng)的解密算法對(duì)所述第一文件解密;
獲取所述第一文件解密后的文件的第二信息摘要值;
采用所述第二加密算法對(duì)應(yīng)的解密算法對(duì)所述第二文件進(jìn)行解密,得到第三信息摘要值;
將所述第二信息摘要值和所述第三信息摘要值進(jìn)行比對(duì),當(dāng)兩者一致時(shí),確定采用所述第一加密算法對(duì)應(yīng)的解密算法對(duì)所述第一文件解密后的文件為所述新更新包。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,根據(jù)所述下載地址向文件服務(wù)器發(fā)送攜帶白名單標(biāo)識(shí)的更新包下載請(qǐng)求,具體包括:
將所述白名單標(biāo)識(shí)攜帶在所述更新包下載請(qǐng)求的頭文件中;
采用超文本傳輸協(xié)議向所述下載地址對(duì)應(yīng)的所述文件服務(wù)器發(fā)送所述更新包下載請(qǐng)求。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
在采用所述新更新包更新所述組件過程中,更新崩潰退出時(shí),記錄崩潰標(biāo)識(shí)位;
進(jìn)一步地,在采用所述新更新包更新所述組件過程中,更新崩潰退出時(shí),記錄崩潰標(biāo)識(shí)位,具體包括:在采用所述新更新包更新所述組件過程中,更新崩潰退出時(shí),將崩潰時(shí)運(yùn)行的所述新更新包的對(duì)應(yīng)的函數(shù)的退出標(biāo)識(shí)更新為非正常退出的標(biāo)識(shí)。
6.根據(jù)權(quán)利要求1-5任一所述的方法,其特征在于,采用所述新更新包更新所述組件之后,所述方法還包括:
刪除本地的舊更新包,存儲(chǔ)所述新更新包以及所述更新包的版本號(hào)。
7.根據(jù)權(quán)利要求1-5任一所述的方法,其特征在于,確定所述組件能夠進(jìn)行熱更新,具體包括:
根據(jù)基線接口標(biāo)識(shí)位確定所述應(yīng)用允許所述組件進(jìn)行熱更新。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,根據(jù)基線接口標(biāo)識(shí)位確定所述應(yīng)用允許所述組件進(jìn)行熱更新之后,當(dāng)所述組件需要更新時(shí),從組件服務(wù)器中獲取新更新包的下載地址之前,所述方法還包括:
檢測(cè)當(dāng)前運(yùn)行的應(yīng)用的版本號(hào)、組件的版本號(hào)以及更新包的版本號(hào)是否分別均與本地存儲(chǔ)的應(yīng)用的版本號(hào)、組件的版本號(hào)以及更新包的版本號(hào)一致;
當(dāng)不一致時(shí),刪除本地的更新包;
進(jìn)一步地,當(dāng)運(yùn)行的所述應(yīng)用的版本號(hào)、所述組件的版本號(hào)以及所述更新包的版本號(hào)是否分別均與本地存儲(chǔ)的所述應(yīng)用的版本號(hào)、所述組件的版本號(hào)以及所述更新包的版本號(hào)一致時(shí),所述方法還包括:
檢測(cè)本地存儲(chǔ)的所述更新包是否存在崩潰標(biāo)識(shí)位;當(dāng)本地存儲(chǔ)的更新包存在所述崩潰標(biāo)識(shí)位,不加載本地的存儲(chǔ)的更新包;
進(jìn)一步地,當(dāng)本地存儲(chǔ)的所述更新包不存在所述崩潰標(biāo)識(shí)位時(shí),檢測(cè)并確定控制加載本地標(biāo)識(shí)位標(biāo)識(shí)的為所述組件服務(wù)器允許所述組件加載更新包。
9.一種組件更新處理裝置,其特征在于,所述裝置包括:
確定模塊,用于當(dāng)應(yīng)用中的組件被打開之后,確定所述組件能夠進(jìn)行熱更新;
獲取模塊,用于當(dāng)所述組件需要更新時(shí),從組件服務(wù)器中獲取新更新包的下載地址;
下載模塊,用于根據(jù)所述下載地址,下載所述組件的所述新更新包;
更新模塊,用于采用所述新更新包更新所述組件。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述獲取模塊,具體用于:
向所述組件服務(wù)器發(fā)送攜帶本地更新包版本號(hào)的更新請(qǐng)求;
接收所述組件服務(wù)器發(fā)送的攜帶更新標(biāo)識(shí)位的更新響應(yīng)消息;所述更新標(biāo)識(shí)位為所述組件服務(wù)器根據(jù)所述本地更新包的版本號(hào)和最新的更新包的版本號(hào)確定的;
根據(jù)所述更新響應(yīng)消息中的所述更新標(biāo)識(shí)位,確定所述組件需要下載所述新更新包進(jìn)行更新下載標(biāo)識(shí)位;
從所述更新響應(yīng)消息中獲取所述新更新包的下載地址;
進(jìn)一步地,所述獲取模塊,還用于當(dāng)根據(jù)所述更新響應(yīng)消息中的所述更新標(biāo)識(shí)位,確定所述組件不需要下載所述新更新包進(jìn)行更新,進(jìn)一步從所述更新響應(yīng)消息中獲取下載標(biāo)識(shí)位;
所述確定模塊,還用于根據(jù)所述下載標(biāo)識(shí)位確定已下載最新的更新包。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述下載模塊,具體用于:
根據(jù)所述下載地址向文件服務(wù)器發(fā)送攜帶白名單標(biāo)識(shí)的更新包下載請(qǐng)求,以供所述文件服務(wù)器根據(jù)所述白名單標(biāo)識(shí)檢測(cè)所述更新包下載請(qǐng)求為合法請(qǐng)求;
接收所述文件服務(wù)器發(fā)送的、采用第一加密算法對(duì)所述新更新包進(jìn)行加密后的第一文件和采用第二加密算法對(duì)所述新更新包的第一信息摘要值進(jìn)行加密后的第二文件;
采用所述第一加密算法對(duì)應(yīng)的解密算法對(duì)所述第一文件解密;
獲取所述第一文件解密后的文件的第二信息摘要值;
采用所述第二加密算法對(duì)應(yīng)的解密算法對(duì)所述第二文件進(jìn)行解密,得到第三信息摘要值;
將所述第二信息摘要值和所述第三信息摘要值進(jìn)行比對(duì),當(dāng)兩者一致時(shí),確定采用所述第一加密算法對(duì)應(yīng)的解密算法對(duì)所述第一文件解密后的文件為所述新更新包。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述下載模塊,具體還用于:
將所述白名單標(biāo)識(shí)攜帶在所述更新包下載請(qǐng)求的頭文件中;
采用超文本傳輸協(xié)議向所述下載地址對(duì)應(yīng)的所述文件服務(wù)器發(fā)送所述更新包下載請(qǐng)求。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:
記錄模塊,用于在采用所述新更新包更新所述組件過程中,更新崩潰退出時(shí),記錄崩潰標(biāo)識(shí)位;
進(jìn)一步地,所述記錄模塊,具體用于在采用所述新更新包更新所述組件過程中,更新崩潰退出時(shí),將崩潰時(shí)運(yùn)行的所述新更新包的對(duì)應(yīng)的函數(shù)的退出標(biāo)識(shí)更新為非正常退出的標(biāo)識(shí)。
14.根據(jù)權(quán)利要求9-13任一所述的裝置,其特征在于,所述更新模塊,還用于刪除本地的舊更新包,存儲(chǔ)所述新更新包以及所述更新包的版本號(hào)。
15.根據(jù)權(quán)利要求9-13任一所述的裝置,其特征在于,所述確定模塊,具體用于根據(jù)基線接口標(biāo)識(shí)位確定所述應(yīng)用允許所述組件進(jìn)行熱更新。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括:
檢測(cè)模塊,用于檢測(cè)當(dāng)前運(yùn)行的應(yīng)用的版本號(hào)、組件的版本號(hào)以及更新包的版本號(hào)是否分別均與本地存儲(chǔ)的應(yīng)用的版本號(hào)、組件的版本號(hào)以及更新包的版本號(hào)一致;
處理模塊,用于當(dāng)所述檢測(cè)模塊確定不一致時(shí),刪除本地的更新包;
進(jìn)一步地,所述檢測(cè)模塊,還用于當(dāng)確定運(yùn)行的所述應(yīng)用的版本號(hào)、所述組件的版本號(hào)以及所述更新包的版本號(hào)是否分別均與本地存儲(chǔ)的所述應(yīng)用的版本號(hào)、所述組件的版本號(hào)以及所述更新包的版本號(hào)一致時(shí),進(jìn)一步檢測(cè)本地存儲(chǔ)的所述更新包是否存在崩潰標(biāo)識(shí)位;
所述處理模塊,還用于當(dāng)本地存儲(chǔ)的更新包存在所述崩潰標(biāo)識(shí)位,不加載本地的存儲(chǔ)的更新包。
所述檢測(cè)模塊,還用于當(dāng)本地存儲(chǔ)的所述更新包不存在所述崩潰標(biāo)識(shí)位時(shí),檢測(cè)并確定控制加載本地標(biāo)識(shí)位標(biāo)識(shí)的為所述組件服務(wù)器允許所述組件加載更新包。