專利名稱:一種數(shù)據(jù)下載處理方法及裝置的制作方法
技術(shù)領域:
本發(fā)明涉及通信技術(shù)領域,尤其涉及一種數(shù)據(jù)下載處理方法及裝置。
背景技術(shù):
自動路測終端能夠根據(jù)預先設定的測試方案或自動路測平臺的實時指令,來完成多種制式相關(guān)無線接口數(shù)據(jù)的采集工作,測試數(shù)據(jù)可以通過數(shù)據(jù)調(diào)制解調(diào)器(MODEM),實時或按約定的時間將數(shù)據(jù)回傳到遠端服務器。實際運行過程中,因無線參數(shù)變化、采集方法調(diào)整或軟件缺陷修復,自動測試終端會有頻繁的軟件升級需求,由于終端設備數(shù)量多、分布廣,必須采用自動軟件升級的方法。傳統(tǒng)軟件升級方案,基本都是在升級包下載到本地后,進行完整性校驗,然后再進行更新文件操作,在這一過程中,如果出現(xiàn)偶發(fā)的斷電、磁盤扇區(qū)錯誤、基礎版本錯誤等,就會導致升級失敗。自動路測終端因無線參數(shù)變化、采集方法調(diào)整或軟件缺陷修復等業(yè)務要求,有頻繁的軟件升級需求,升級成功率對設備運行維護有重大意義,無論是升級過程失敗或因原系統(tǒng)核心文件存在缺陷而導致的升級失敗都是難以接受的?,F(xiàn)有技術(shù)的軟件升級方法是通過無線空中接口,在自動路測終端和自動路測平臺服務器之間建立網(wǎng)絡連接(socket)通信,下載升級包校驗正確后,進行文件更新操作?,F(xiàn)有技術(shù)(下載升級軟件包,校驗后覆蓋更新)的升級方式在理想情況下工作正常。但實際操作過程中,因升級過程斷電、磁盤扇區(qū)錯誤或基本版本存在病毒干擾導致的問題,往往會遇到升級失敗的情況,表現(xiàn)是下發(fā)升級包后,軟件不能自動更新,甚至升級后設備無法正常工作。具體分析如下更新軟件包在執(zhí)行更新操作時,往往需要數(shù)十秒的時間,如果在這一時間出現(xiàn)斷電或磁盤扇區(qū)錯誤,升級過程就會中斷,如果在覆寫過程中失敗,則會導致設備啟動失?。卉浖潞?,僅根據(jù)某個文件中版本信息(如xml文件),上報軟件版本號,但實際更新文件是否被正確覆蓋,無法保證;軟件更新后,即使更新文件被正確的覆蓋了,但因為原基礎版本存在問題(如文件被病毒改下或損壞),雖然上報軟件被正確更新,但實際工作不正常。綜上所述,現(xiàn)有技術(shù)中的自動路測終端在實際的運行過程中,自動路測設備軟件更新的成功率并不高,給日常運維帶來極大的干擾。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種數(shù)據(jù)下載處理方法及裝置,用以保證自動路測終端下載的軟件升級包的完整性,以及內(nèi)核文件的完整性。本發(fā)明實施例提供的一種數(shù)據(jù)下載處理方法包括下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一消息摘要算法第五版MD5值;計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5值與所述第一 MD5值是否一致,確定軟件更新包是否下載正確。本發(fā)明實施例提供的一種數(shù)據(jù)下載處理裝置包括選擇下載單元,用于下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一消息摘要算法第五版MD5值;第一校驗單元,用于計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5值與所述第一 MD5值是否一致,確定軟件更新包是否下載正確。本發(fā)明實施例,通過選擇下載網(wǎng)絡下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一 MD5值;計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5值與所述第一 MD5值是否一致,確定軟件更新包是否下載正確,從而實現(xiàn)保證自動路測終端下載的軟件更新包的正確性,提高了自動路測終端軟件升級的成功率。
圖I為本發(fā)明實施例提供的一種數(shù)據(jù)下載處理方法的總體流程示意圖;圖2為本發(fā)明實施例提供的一種數(shù)據(jù)下載處理方法的具體流程示意圖;圖3為本發(fā)明實施例提供的一種數(shù)據(jù)下載處理裝置的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例提供了一種數(shù)據(jù)下載處理方法及裝置。本發(fā)明實施例提供的技術(shù)方案,能夠解決的技術(shù)問題包括針對現(xiàn)有自動路測終端軟件升級成功率不高的問題,提出一種新的自動軟件升級方案,通過升級包校驗、內(nèi)核會聚校驗,不僅能保證升級包完整性,同時能保證內(nèi)核文件完整性;同時,通過鏡像切換、版本號與內(nèi)核哈希(Hash)對比方法,保證了軟件版本切換的平滑性,避免突發(fā)事件(如斷電、磁盤扇區(qū)錯誤等)對軟件升級的干擾,確保了軟件升級的成功率,解決了自動路測終端軟件升級成功率不高的問題。下面結(jié)合附圖對本發(fā)明實施例提供的技術(shù)方案進行說明。參見圖1,本發(fā)明實施例提供的一種數(shù)據(jù)下載處理方法,包括步驟S101、選擇下載網(wǎng)絡下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一消息摘要算法第五版(Message DigestAlgorithm, MD5)值;S102、計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5值與所述第一 MD5值是否一致,確定軟件更新包是否下載正確。較佳地,當計算得到的軟件更新包的MD5值與所述第一 MD5值一致時,該方法還包括從軟件更新包中獲取用于對原版本的所有內(nèi)核文件的正確性進行校驗的第二 MD5 值;根據(jù)所述第二 MD5值,判斷原版本的所有內(nèi)核文件是否正確。較佳地,所述根據(jù)所述第二 MD5值,判斷原版本的所有內(nèi)核文件是否正確,包括將原版本的所有內(nèi)核文件復制到預設的鏡像目錄中;
將鏡像目錄中的內(nèi)核文件進行壓縮,得到壓縮后的文件,并計算該壓縮后的文件的MD5值;判斷壓縮后的文件的MD5值與所述第二 MD5值是否相同,如果是,則確定原版本的所有內(nèi)核文件正確,否則,上報原版本文件錯誤信息。較佳地,當確定原版本的所有內(nèi)核文件正確時,該方法還包括從軟件更新包中獲取用于對升級后的文件進行校驗的第三MD5值;根據(jù)所述第三MD5值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗。較佳地,所述根據(jù)所述第三MD5值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗,包括將軟件更新包中的內(nèi)核文件覆蓋到鏡像目錄中,更新鏡像目錄中的原版本的所有內(nèi)核文件;對更新后的鏡像目錄中的內(nèi)核文件進行壓縮,并計算壓縮后的文件的MD5值;判斷計算壓縮后的文件的MD5值與所述第三MD5值是否相同,如果是,則將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號;否則,確定升級失敗。較佳地,將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號后,該方法還包括將原版本目錄更新至鏡像目錄。較佳地,將原版本目錄成功更新至鏡像目錄后,該方法還包括啟動新版本的文件,啟動成功后,清理鏡像目錄中的文件。較佳地,所述選擇下載網(wǎng)絡,包括隨機選擇下載網(wǎng)絡;或者,按照預設優(yōu)先級順序選擇下載網(wǎng)絡;或者,按照預先配置選擇特定的下載網(wǎng)絡。較佳地,所述下載軟件更新包,包括通過空中接口下載軟件更新包,下載過程中實時記錄已傳輸數(shù)據(jù)流和文件偏移位置。也就是說,本發(fā)明實施例中,軟件更新包的頭96個字節(jié)包括3個MD5值,每32個字節(jié)表示一個MD5值,第一 MD5值用于對下載的軟件更新包是否正確進行校驗,以保證下載的軟件更新包正確。第二 MD5值用于對原版本的所有內(nèi)核文件的正確性進行校驗,以保證原版本的所有內(nèi)核文件正確。第三MD5值用于對升級后的文件進行校驗,保證軟件升級成功。本發(fā)明實施例提供的新的自動路測終端智能軟件升級方案,克服了傳統(tǒng)方案中軟件升級成功率不高的問題。同時,由于升級過程采用了內(nèi)核會聚校驗方法,不僅能保證軟件更新包覆蓋的正確性,同時能保證整體軟件作為一個完整版本的正確性。參見圖2,本發(fā)明實施例提供的新的自動路測終端智能軟件升級方案,具體升級步驟包括S201、在已經(jīng)連接的多制式協(xié)議中(WCDMA、TD-SCDMA、CDMA2000、GSM、WIFI),選擇連接,可以隨機選擇,也可以按照預設的優(yōu)先級選擇,也可以根據(jù)配置選擇特定連接。
例如,選擇連接的優(yōu)先級順序如下WIFI > WCDMA > TD-SCDMA > CDMA2000 > GSM。即WIFI的優(yōu)先級最高,GSM的優(yōu)先級最低。也就是說,終端優(yōu)先選擇WIFI連接, 若WIFI連接不存在,則優(yōu)先選擇WCDMA連接,若WCDMA連接也不存在,則再選擇下一優(yōu)先級的連接,以此類推?;蛘撸A先配置了只能選擇某一協(xié)議的連接,例如,預先配置選擇TD-SCDMA連接, 則只選擇該連接,而不按照優(yōu)先級進行選擇。S202、通過空中接口下載軟件更新包,下載過程中實時記錄已傳輸數(shù)據(jù)流和文件偏移位置,從而實現(xiàn)支持斷點續(xù)傳下載的功能。S203、下載完畢后,讀取軟件更新包的頭32個字節(jié)(即該軟件更新包的第一個32 個字節(jié)),作為軟件更新包唯一的MD5值(將該MD5值稱為第一 MD5值),同時校驗軟件更新包,計算軟件更新包的MD5值(具體計算方法可以采用現(xiàn)有技術(shù))。S204、根據(jù)如下公式(一),判斷計算得到的軟件更新包的MD5和軟件更新包中的第一 MD5值是否相同,如果是,則認為軟件更新包下載正確;否則,返回步驟S201,重新下載軟件更新包。MD5 (update, zip) == GetUpdateMD5 (update, zip)公式(一)其中,MD5 (update, zip)表示計算得到的軟件更新包的MD5, GetUpdateMD5 (update, zip)表不軟件更新包中的第一 MD5值。S205、根據(jù)軟件更新包中內(nèi)置的內(nèi)核文件列表、內(nèi)核文件消息摘要算法(Message Digest Algorithm, MD)值和更新文件列表,將原版本的所有內(nèi)核文件復制到預設的鏡像目錄adt_mirror中,將鏡像目錄adt_mirror中的內(nèi)核文件使用壓縮(zip)算法會聚到 adt_kernel. zip文件中,即使用zip算法對軟件更新包中的內(nèi)核文件進行壓縮,得到adt_ kernel, zip文件。然后,計算該adt_kernel. zip文件的MD5值。S206、校驗adt_kernel. zip文件的MD5值,即利用下列公式(二)判斷adt_ kernel, zip文件的MD5值和軟件更新包中的內(nèi)核文件的MD5值(該MD5值是軟件更新包的第二個32個字節(jié)所表示的值,可以稱該MD5值為第二 MD5值)是否相同,如果是,則繼續(xù)后續(xù)的步驟,否則,上報事件基礎版本錯誤,返回步驟S201,重新下載軟件更新包。MD5 (ZIP (GetKernelList (update, zip), baseVersion))== GetBaseVersionMD5 (update, zip)公式(二)其中,MD5(ZIP (GetKernelList (update, zip), baseVersion))表不 adt_kernel. zip文件的MD5值,GetBaseVersionMD5 (update, zip)表不軟件更新包中的第二 MD5值。S207、執(zhí)行軟件更新操作,在鏡像目錄中執(zhí)行文件覆蓋操作,即將軟件更新包中的內(nèi)核文件覆蓋到鏡像目錄adt_mirror中,更新鏡像目錄adt_mirror中的原版本的所有內(nèi)核文件。S208、判斷覆蓋是否成功,如果覆蓋失敗或斷電,則返回步驟S203,否則,覆蓋成功則執(zhí)行步驟S209。由于采用了鏡像目錄,不會對原版本產(chǎn)生任何影響。S209、對更新后的鏡像目錄執(zhí)行內(nèi)核文件會聚,即使用zip算法對鏡像目錄adt_ mirror中的內(nèi)核文件進行壓縮,并計算壓縮后的文件的MD5值。
S210、利用如下公式(三),判斷該MD5值與軟件更新包中的第三MD5值(即軟件更新包中的第三個32個字節(jié)所表示的值,用以表示目標版本號)是否相同,如果不相同,則返回步驟S203。如果相同,則將鏡像目錄adt_mirror中的版本信息文件,由原版本號更新至目標版本號,即軟件更新包的版本號。MD5 (ZIP (GetKernelList (update, zip) , destVersion))== GetDestVersionMD5 (update, zip)公式(三)其中,MD5(ZIP(GetKernelList(update,zip), destVersion))表不使用 zip算法對鏡像目錄adt_mirror中的內(nèi)核文件進行壓縮后得到的文件的MD5值, GetDestVersionMD5 (update, zip)表不軟件更新包中的第三MD5值。S211、執(zhí)行鏡像切換操作,設置軟連接,將原版本目錄更新至鏡像目錄。S212、判斷鏡像切換操作是否成功,該動作執(zhí)行最多數(shù)毫秒,幾乎不可能失敗,如果失敗,則返回步驟S207 ;如果成功,執(zhí)行步驟S213。S213、新軟件版本啟動成功后,清理升級步驟中留下的垃圾文件,即刪除鏡像目錄 adt_mirror中的文件,為下次軟件升級做好準備。綜上所述,本發(fā)明實施例提供的技術(shù)方案,需要下載的軟件更新包可以根據(jù)任何已有的無線連接進行下載,同時智能選擇下載網(wǎng)絡。軟件更新包采用斷點續(xù)傳方式,在傳輸數(shù)據(jù)流的同時記錄文件偏移。自動路測軟件更新包內(nèi)置更新包MD5值,可以采用自我檢測的方式驗證更新包正確性。根據(jù)軟件更新包中內(nèi)核文件列表,執(zhí)行內(nèi)核會聚動作,并檢測內(nèi)核文件的原MD5值,確?;A版本的正確性。對升級后的鏡像目錄執(zhí)行內(nèi)核會聚動作,檢測升級后的文件MD5值和版本號一致性,確保軟件升級成功。使用軟連接的鏡像切換方式,毫秒級的操作,幾乎不可能失敗,即使失敗也能通過回退流程重新執(zhí)行,不會影響到原版本軟件。參見圖3,本發(fā)明實施例提供的一種數(shù)據(jù)下載處理裝置,包括選擇下載單元11,用于選擇下載網(wǎng)絡下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一 MD5值;第一校驗單元12,用于計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5值與所述第一 MD5值是否一致,確定軟件更新包是否下載正確。較佳地,該裝置還包括第二校驗單元13,用于當?shù)谝恍r瀱卧?2確定計算得到的軟件更新包的MD5值與所述第一 MD5值一致時,從軟件更新包中獲取用于對原版本的所有內(nèi)核文件的正確性進行校驗的第二 MD5值;根據(jù)所述第二 MD5值,判斷原版本的所有內(nèi)核文件是否正確。較佳地,所述第二校驗單元13根據(jù)所述第二 MD5值,判斷原版本的所有內(nèi)核文件是否正確時,具體用于將原版本的所有內(nèi)核文件復制到預設的鏡像目錄中;將鏡像目錄中的內(nèi)核文件進行壓縮,得到壓縮后的文件,并計算該壓縮后的文件的MD5值;判斷壓縮后的文件的MD5值與所述第二 MD5值是否相同,如果是,則確定原版本的所有內(nèi)核文件正確,否則,上報原版本文件錯誤信息。較佳地,該裝置還包括
第三校驗單元14,用于當所述第二校驗單元13確定原版本的所有內(nèi)核文件正確時,從軟件更新包中獲取用于對升級后的文件進行校驗的第三MD5值;根據(jù)所述第三MD5 值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗。較佳地,所述第三校驗單元14根據(jù)所述第三MD5值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗時,具體用于將軟件更新包中的內(nèi)核文件覆蓋到鏡像目錄中,更新鏡像目錄中的原版本的所有內(nèi)核文件;對更新后的鏡像目錄中的內(nèi)核文件進行壓縮,并計算壓縮后的文件的MD5值;判斷計算壓縮后的文件的MD5值與所述第三MD5值是否相同,如果是,則將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號;否則,確定升級失敗。較佳地,該裝置還包括鏡像切換單元15,用于在所述第三校驗單元將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號后,將原版本目錄更新至鏡像目錄。較佳地,該裝置還包括清理單元16,用于在成功啟動新版本的文件后,清理鏡像目錄中的文件。較佳地,所述選擇下載單元11,選擇下載網(wǎng)絡時,具體用于隨機選擇下載網(wǎng)絡;或者,按照預設優(yōu)先級順序選擇下載網(wǎng)絡;或者,按照預先配置選擇特定的下載網(wǎng)絡。較佳地,所述選擇下載單元11,下載軟件更新包時,具體用于通過空中接口下載軟件更新包,下載過程中實時記錄已傳輸數(shù)據(jù)流和文件偏移位置??傊?,本發(fā)明實施例提供的技術(shù)方案,比現(xiàn)有的自動路測終端的軟件升級方案,有如下的優(yōu)點軟件更新包中內(nèi)置更新包MD5值、更新文件列表、內(nèi)核文件列表,源內(nèi)核版本MD5 值及目標內(nèi)核MD5值。版本號與內(nèi)核文件會聚后MD5值對應,非簡單的版本號更改,確保軟件升級成功。升級過程不僅僅校驗軟件更新包的正確性,同時驗證原基礎版本和升級目標版本的正確性,由于升級后會重新檢測目標版本號和目標內(nèi)核版本的一致性,故可確保升級成功。升級時采用了軟連接的鏡像切換方式,避免了斷電或覆蓋文件失敗導致的升級失敗問題,大大提高了升級的成功率。本領域內(nèi)的技術(shù)人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。顯然,本領域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)下載處理方法,其特征在于,該方法包括下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一消息摘要算法第五版MD5值;計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5值與所述第一 MD5 值是否一致,確定軟件更新包是否下載正確。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,當計算得到的軟件更新包的MD5值與所述第一 MD5值一致時,該方法還包括從軟件更新包中獲取用于對原版本的所有內(nèi)核文件的正確性進行校驗的第二 MD5值; 根據(jù)所述第二 MD5值,判斷原版本的所有內(nèi)核文件是否正確。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述第二MD5值,判斷原版本的所有內(nèi)核文件是否正確,包括將原版本的所有內(nèi)核文件復制到預設的鏡像目錄中;將鏡像目錄中的內(nèi)核文件進行壓縮,得到壓縮后的文件,并計算該壓縮后的文件的MD5值;判斷壓縮后的文件的MD5值與所述第二 MD5值是否相同,如果是,則確定原版本的所有內(nèi)核文件正確,否則,上報原版本文件錯誤信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當確定原版本的所有內(nèi)核文件正確時,該方法還包括從軟件更新包中獲取用于對升級后的文件進行校驗的第三MD5值;根據(jù)所述第三MD5值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述第三MD5值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗,包括將軟件更新包中的內(nèi)核文件覆蓋到鏡像目錄中,更新鏡像目錄中的原版本的所有內(nèi)核文件;對更新后的鏡像目錄中的內(nèi)核文件進行壓縮,并計算壓縮后的文件的MD5值;判斷計算壓縮后的文件的MD5值與所述第三MD5值是否相同,如果是,則將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號;否則,確定升級失敗。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號后,該方法還包括將原版本目錄更新至鏡像目錄。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,將原版本目錄成功更新至鏡像目錄后,該方法還包括啟動新版本的文件,啟動成功后,清理鏡像目錄中的文件。
8.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述下載軟件更新包之前還包括選擇下載網(wǎng)絡的步驟,該步驟具體包括隨機選擇下載網(wǎng)絡;或者,按照預設優(yōu)先級順序選擇下載網(wǎng)絡;或者,按照預先配置選擇特定的下載網(wǎng)絡。
9.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述下載軟件更新包,包括通過空中接口下載軟件更新包,下載過程中實時記錄已傳輸數(shù)據(jù)流和文件偏移位置。
10.一種數(shù)據(jù)下載處理裝置,其特征在于,該裝置包括選擇下載單元,用于下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一消息摘要算法第五版MD5值; 第一校驗單元,用于計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5 值與所述第一 MD5值是否一致,確定軟件更新包是否下載正確。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,該裝置還包括第二校驗單元,用于當?shù)谝恍r瀱卧_定計算得到的軟件更新包的MD5值與所述第一 MD5值一致時,從軟件更新包中獲取用于對原版本的所有內(nèi)核文件的正確性進行校驗的第二 MD5值;根據(jù)所述第二 MD5值,判斷原版本的所有內(nèi)核文件是否正確。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述第二校驗單元根據(jù)所述第二MD5 值,判斷原版本的所有內(nèi)核文件是否正確時,具體用于將原版本的所有內(nèi)核文件復制到預設的鏡像目錄中;將鏡像目錄中的內(nèi)核文件進行壓縮,得到壓縮后的文件,并計算該壓縮后的文件的MD5值;判斷壓縮后的文件的MD5值與所述第二 MD5值是否相同,如果是,則確定原版本的所有內(nèi)核文件正確,否則,上報原版本文件錯誤信息。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,該裝置還包括第三校驗單元,用于當所述第二校驗單元確定原版本的所有內(nèi)核文件正確時,從軟件更新包中獲取用于對升級后的文件進行校驗的第三MD5值;根據(jù)所述第三MD5值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第三校驗單元根據(jù)所述第三MD5 值,對利用軟件更新包對原版本文件進行升級后得到的文件進行校驗時,具體用于將軟件更新包中的內(nèi)核文件覆蓋到鏡像目錄中,更新鏡像目錄中的原版本的所有內(nèi)核文件;對更新后的鏡像目錄中的內(nèi)核文件進行壓縮,并計算壓縮后的文件的MD5值;判斷計算壓縮后的文件的MD5值與所述第三MD5值是否相同,如果是,則將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號;否則,確定升級失敗。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,該裝置還包括鏡像切換單元,用于在所述第三校驗單元將鏡像目錄中的版本信息文件,由原版本號更新至目標版本號后,將原版本目錄更新至鏡像目錄。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,該裝置還包括清理單元,用于在成功啟動新版本的文件后,清理鏡像目錄中的文件。
17.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述選擇下載單元,還用于選擇下載網(wǎng)絡,具體包括隨機選擇下載網(wǎng)絡;或者,按照預設優(yōu)先級順序選擇下載網(wǎng)絡;或者,按照預先配置選擇特定的下載網(wǎng)絡。
18.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述選擇下載單元,下載軟件更新包時,具體用于通過空中接口下載軟件更新包,下載過程中實時記錄已傳輸數(shù)據(jù)流和文件偏移位置。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)下載處理方法及裝置,用以保證自動路測終端下載的軟件更新包的正確性,提高自動路測終端軟件升級的成功率。本發(fā)明提供的一種數(shù)據(jù)下載處理方法包括選擇下載網(wǎng)絡下載軟件更新包,從中獲取用于校驗軟件更新包是否下載正確的第一MD5值;計算軟件更新包的MD5值,通過比較計算得到的軟件更新包的MD5值與所述第一MD5值是否一致,確定軟件更新包是否下載正確。
文檔編號G06F11/07GK102609326SQ20121001510
公開日2012年7月25日 申請日期2012年1月17日 優(yōu)先權(quán)日2012年1月17日
發(fā)明者廖軍 申請人:上海大唐移動通信設備有限公司, 大唐移動通信設備有限公司