国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      差分回退升級方法及裝置與流程

      文檔序號:12596340閱讀:411來源:國知局
      差分回退升級方法及裝置與流程

      本發(fā)明涉及應(yīng)用升級技術(shù)領(lǐng)域,尤其涉及一種差分回退升級方法及裝置。



      背景技術(shù):

      目前大廠商均未提供差分回退包,只有各個(gè)版本的升級包,而且這些升級包需要到各個(gè)廠商的網(wǎng)站上查找,并且各個(gè)版本的升級包占用內(nèi)存比較大,需要將升級包從電腦拷貝到終端再做升級,操作復(fù)雜,過程麻煩,需要一定的技巧性,不利于用戶體驗(yàn)。

      而且,如果升級失敗,無法直接進(jìn)行版本回退,需要從網(wǎng)站下載回退包才能進(jìn)行回退。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的主要目的在于提供一種差分回退升級方法及裝置,旨在解決升級失敗后無法及時(shí)回退版本的問題。

      為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種差分回退升級方法,該方法包括:

      獲取升級包和與所述升級包對應(yīng)的回退信息;

      根據(jù)獲取到的所述回退信息生成差分回退包;

      根據(jù)獲取到的所述升級包對待升級應(yīng)用進(jìn)行升級;

      當(dāng)升級失敗時(shí),根據(jù)生成的所述差分回退包對所述待升級應(yīng)用進(jìn)行回退操作。

      優(yōu)選地,在所述回退信息包括路徑信息時(shí),所述根據(jù)獲取到的所述回退信息生成差分回退包的步驟包括:

      解析獲取到的所述回退信息,根據(jù)所述回退信息獲取路徑信息;

      根據(jù)所述路徑信息生成所述差分回退包。

      優(yōu)選地,所述根據(jù)所述路徑信息生成所述差分回退包的步驟包括:

      在所述待升級應(yīng)用對應(yīng)的應(yīng)用數(shù)據(jù)中提取與所述路徑信息對應(yīng)的應(yīng)用數(shù)據(jù)段;

      對獲取的所述應(yīng)用數(shù)據(jù)段封裝并進(jìn)行數(shù)字簽名,以生成所述差分回退包。

      優(yōu)選地,所述根據(jù)獲取到的所述回退信息生成差分回退包的步驟和所述根據(jù)獲取到的所述升級包對待升級應(yīng)用進(jìn)行升級的步驟之間還包括:

      存儲所述差分回退包。

      優(yōu)選地,所述根據(jù)生成的所述差分升級包對被待升級應(yīng)用進(jìn)行升級的步驟之后還包括:

      在升級成功后,接收回退指令;

      提取與接收到的所述回退指令對應(yīng)的所述差分回退包;

      根據(jù)提取到的所述差分回退包對升級后的所述待升級應(yīng)用進(jìn)行回退操作。

      本發(fā)明還提出一種差分回退升級裝置,包括:

      獲取模塊,用于獲取升級包和與所述升級包對應(yīng)的回退信息;

      生成模塊,用于根據(jù)獲取到的所述回退信息生成差分回退包;

      升級模塊,用于根據(jù)獲取到的所述升級包對待升級應(yīng)用進(jìn)行升級;

      第一回退模塊,用于當(dāng)升級失敗時(shí),根據(jù)生成的所述差分回退包對所述待升級應(yīng)用進(jìn)行回退操作。

      優(yōu)選地,所述生成模塊包括:

      解析單元,用于解析獲取到的所述回退信息,根據(jù)所述回退信息獲取路徑信息;

      生成單元,用于根據(jù)所述路徑信息生成所述差分回退包。

      優(yōu)選地,所述生成單元包括:

      提取子單元,用于在所述待升級應(yīng)用對應(yīng)的應(yīng)用數(shù)據(jù)中提取與所述路徑信息對應(yīng)的應(yīng)用數(shù)據(jù)段;

      壓縮簽名子單元,用于對獲取的所述應(yīng)用數(shù)據(jù)段封裝并進(jìn)行數(shù)字簽名,以生成所述差分回退包。

      優(yōu)選地,該差分回退升級裝置還包括:存儲模塊,用于存儲所述差分回退包。

      優(yōu)選地,該差分回退升級裝置還包括:

      接收模塊,用于在升級成功后,接收回退指令;

      提取模塊,用于提取與接收到的所述回退指令對應(yīng)的所述差分回退包;

      第二回退模塊,用于根據(jù)提取到的所述差分回退包對升級后的所述待升級應(yīng)用進(jìn)行回退操作。

      本發(fā)明提出的差分回退升級方法及裝置,利用完整的升級數(shù)據(jù)包獲取差分升級包和差分回退腳本,在進(jìn)行升級之前,根據(jù)差分回退腳本制作差分回退包,對其進(jìn)行數(shù)字簽名并保存,以便于在升級失敗后進(jìn)行回退;而且在升級成功之后如果用戶不想使用升級后的版本,可以隨時(shí)調(diào)用生成的差分回退包回退到升級之前的版本。

      附圖說明

      圖1為本發(fā)明差分回退升級方法的第一實(shí)施例的流程圖;

      圖2為圖1中步驟S20的細(xì)化流程示意圖;

      圖3為圖2中步驟S202的細(xì)化流程示意圖;

      圖4為本發(fā)明差分回退升級方法的第二實(shí)施例的流程圖;

      圖5為本發(fā)明差分回退升級裝置的第一實(shí)施例的功能模塊示意圖;

      圖6為圖5中生成模塊的細(xì)化功能模塊示意圖;

      圖7為圖5中生成單元的細(xì)化功能模塊示意圖;

      圖8為本發(fā)明差分回退升級裝置的第二實(shí)施例的功能模塊示意圖。

      本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。

      具體實(shí)施方式

      應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

      本發(fā)明提供一種差分回退升級方法。

      參照圖1所示,為本發(fā)明差分回退升級方法第一實(shí)施例的流程圖。

      在第一實(shí)施例中,差分回退升級方法包括:

      步驟S10,獲取升級包和與所述升級包對應(yīng)的回退信息;

      在服務(wù)器上通過升級包制作工具將舊版本應(yīng)用的數(shù)據(jù)與新版本應(yīng)用的數(shù)據(jù)進(jìn)行對比分析,檢測是否有差異,當(dāng)檢測不到版本差異時(shí),繼續(xù)獲取新版本應(yīng)用與舊版本應(yīng)用對比分析;當(dāng)檢測到差異時(shí),根據(jù)比對結(jié)果生成升級包文件,與此同時(shí),根據(jù)對比的結(jié)果,生成回退信息,可以在利用升級包制作工具生成升級包的時(shí)候?qū)⒒赝诵畔⒋虬缴壈?,也可以將回退信息單?dú)保存并且與升級包建立關(guān)聯(lián),例如可以以相同的版本號進(jìn)行命名,或者在回退信息中添加標(biāo)示符等方法。

      需要說明的是,此處的升級包可以是完整的升級數(shù)據(jù)包,也可以是差分升級包,也可以生成這兩種升級包,以供用戶在需要升級的時(shí)候根據(jù)需要進(jìn)行選擇;而且,此處的升級可以是對終端的操作系統(tǒng)進(jìn)行升級,也可以是對終端上的應(yīng)用軟件升級,其原理相同。

      完整版的數(shù)據(jù)包占用內(nèi)存大且升級速度慢,而差分升級包是將新版本文件與舊版本應(yīng)用的數(shù)據(jù)做差分,得到更新的補(bǔ)丁文件,例如舊版本的文件有5M,新版的文件有8M,更新的部分則可能只有3M左右(這里需要說明的是,差分包大小并不是簡單的相減,其實(shí)需要包含一些上下文相關(guān)的東西),使用差分升級的好處顯而易見,用戶不需要下載完整的8M文件,只需要下載更新部分就可以,而更新部分可能只有3-4M,可以很大程度上減少流量的損失,因此本實(shí)施例中優(yōu)選生成差分升級包進(jìn)行升級。

      本實(shí)施例中該回退信息中包含有新、舊版本應(yīng)用的差異數(shù)據(jù)對應(yīng)的舊版本數(shù)據(jù)段的路徑信息,例如“xx/xx/filename”,由于差異文件一般情況下包括多個(gè),所以回退信息的內(nèi)容可以為:

      “rollback:

      “xx/xx/filename1”

      “xx/xx/filename2”

      “xx/xx/filename3”

      ……”

      在其他的實(shí)施例中也可以其他的方式定義回退信息,例如回退信息可以包括新、舊版本文件的差異文件對應(yīng)的舊版本文件的標(biāo)識信息,以供后續(xù)根據(jù)標(biāo)志信息提取相應(yīng)的數(shù)據(jù)段。

      步驟S20,根據(jù)獲取到的所述回退信息生成差分回退包。

      如圖2所示,步驟S20包括如下細(xì)化步驟:

      步驟S201解析獲取到的所述回退信息,根據(jù)所述回退信息獲取路徑信息。

      步驟S202,根據(jù)所述路徑信息生成所述差分回退包。如圖3所示,步驟S202包括如下細(xì)化步驟:

      步驟S211,在所述待升級應(yīng)用對應(yīng)的應(yīng)用數(shù)據(jù)中提取與所述路徑信息對應(yīng)的應(yīng)用數(shù)據(jù)段。

      步驟S212,對獲取的所述應(yīng)用數(shù)據(jù)段封裝并進(jìn)行數(shù)字簽名,以生成所述差分回退包。

      由于回退信息中包含多個(gè)對應(yīng)的應(yīng)用數(shù)據(jù)段的路徑信息,按照多個(gè)回退子命令的順序從終端系統(tǒng)文件中獲取對應(yīng)的應(yīng)用數(shù)據(jù)段,直至回退信息行執(zhí)行完畢,將獲取到的全部應(yīng)用數(shù)據(jù)段封裝,封裝完成后,可以將其壓縮成zip格式的文件或者以其他的壓縮格式進(jìn)行壓縮,根據(jù)服務(wù)器下發(fā)的簽名的key或者終端預(yù)置的簽名key,針對回退包做數(shù)字簽名,數(shù)字簽名為慣用技術(shù)手段,在此不再贅述。

      步驟S30,根據(jù)獲取到的所述升級包對待升級應(yīng)用進(jìn)行升級。

      步驟S40,當(dāng)升級失敗時(shí),根據(jù)生成的所述差分回退包對所述待升級應(yīng)用進(jìn)行回退操作。

      在進(jìn)行升級時(shí)可能會出現(xiàn)升級失敗,這時(shí)會自動(dòng)調(diào)取差分回退包進(jìn)行回退,使系統(tǒng)回退到原始狀態(tài)。

      本實(shí)施例提出的差分回退升級方法,利用新舊版本應(yīng)用的數(shù)據(jù)進(jìn)行對比,獲取升級包和差分信息,在進(jìn)行升級之前,根據(jù)差分信息制作差分回退包,對其進(jìn)行數(shù)字簽名并保存,以便于在升級失敗后進(jìn)行回退。

      參照圖4,基于第一實(shí)施例提出本發(fā)明差分回退升級方法第二實(shí)施例,在本實(shí)施例中,步驟S40之后,該方法還包括:

      步驟S50,存儲所述差分回退包。

      步驟S60,在升級成功后,接收回退指令。

      步驟S70,提取與接收到的所述回退指令對應(yīng)的所述差分回退包。

      步驟S80,根據(jù)提取到的所述差分回退包對升級后的所述待升級應(yīng)用進(jìn)行 回退操作。

      將差分回退包保存在終端,以供用戶使用。例如在成功升級之后,如果出現(xiàn)系統(tǒng)報(bào)錯(cuò)、應(yīng)用報(bào)錯(cuò)的情況,用戶不想使用當(dāng)前版本,想回退版本,則可直接選擇差分回退包進(jìn)行版本回退,無需再從服務(wù)器下載完整的回退包,可以達(dá)到快速回退的目的。此時(shí)可以為用戶提供選擇界面,用戶基于該選擇界面發(fā)出回退指令,當(dāng)接收到用戶發(fā)出的回退指令后,提取與接收到的回退指令對應(yīng)的所述差分回退包,對待升級應(yīng)用進(jìn)行版本回退。

      本實(shí)施例提出的差分回退升級方法,在差分升級完成之后如果用戶不想使用升級后的版本,可以隨時(shí)調(diào)用之前制作的差分回退包回退到升級之前的版本。

      本發(fā)明還提出一種差分回退升級裝置。

      參照圖5,圖5為本發(fā)明差分回退升級裝置第一實(shí)施例的示意圖。

      在該實(shí)施例中,差分回退升級裝置包括:

      獲取模塊10,用于獲取升級包和與所述升級包對應(yīng)的回退信息。

      在服務(wù)器上通過升級包制作工具將舊版本應(yīng)用的數(shù)據(jù)與新版本應(yīng)用的數(shù)據(jù)進(jìn)行對比分析,檢測是否有差異,當(dāng)檢測不到版本差異時(shí),繼續(xù)獲取新版本應(yīng)用與舊版本應(yīng)用對比分析;當(dāng)檢測到差異時(shí),根據(jù)比對結(jié)果生成升級包文件,與此同時(shí),根據(jù)對比的結(jié)果,生成回退信息,可以在利用升級包制作工具生成升級包的時(shí)候?qū)⒒赝诵畔⒋虬缴壈校部梢詫⒒赝诵畔为?dú)保存并且與升級包建立關(guān)聯(lián),例如可以以相同的版本號進(jìn)行命名,或者在回退信息中添加標(biāo)示符等方法。

      需要說明的是,此處的升級包可以是完整的升級數(shù)據(jù)包,也可以是差分升級包,也可以生成這兩種升級包,以供用戶在需要升級的時(shí)候根據(jù)需要進(jìn)行選擇。

      完整版的數(shù)據(jù)包占用內(nèi)存大且升級速度慢,而差分升級包是將新版本文件與舊版本應(yīng)用的數(shù)據(jù)做差分,得到更新的補(bǔ)丁文件,例如舊版本的文件有5M,新版的文件有8M,更新的部分則可能只有3M左右(這里需要說明的是,差分包大小并不是簡單的相減,其實(shí)需要包含一些上下文相關(guān)的東西),使用 差分升級的好處顯而易見,用戶不需要下載完整的8M文件,只需要下載更新部分就可以,而更新部分可能只有3-4M,可以很大程度上減少流量的損失,因此本實(shí)施例中優(yōu)選生成差分升級包進(jìn)行升級。

      本實(shí)施例中該回退信息中包含有新、舊版本應(yīng)用的差異數(shù)據(jù)對應(yīng)的舊版本數(shù)據(jù)段的路徑信息,例如“xx/xx/filename”,由于差異文件一般情況下包括多個(gè),所以回退信息的內(nèi)容可以為:

      “rollback:

      “xx/xx/filename1”

      “xx/xx/filename2”

      “xx/xx/filename3”

      ……”

      在其他的實(shí)施例中也可以其他的方式定義回退信息,例如回退信息可以包括新、舊版本應(yīng)用的差異數(shù)據(jù)對應(yīng)的舊版本數(shù)據(jù)的標(biāo)識信息,以供后續(xù)根據(jù)該標(biāo)識信息提取相應(yīng)的文件。

      生成模塊20,用于根據(jù)獲取到的所述回退信息生成差分回退包。

      如圖2所示,生成模塊20包括以下單元:

      解析單元210,用于于解析獲取到的所述回退信息,根據(jù)所述回退信息獲取路徑信息。

      在獲取模塊10獲取到回退信息10之后,解析單元210對回退信息中的數(shù)據(jù)進(jìn)行分析,從中獲取其包含的升級包對應(yīng)的原始版本文件的路徑信息。

      生成單元220,用于根據(jù)所述路徑信息生成所述差分回退包。

      生成單元220根據(jù)解析單元210獲取到的路徑信息生成差分回退包,其具體過程如下:

      如圖3所示,生成單元220包括如下子單元:

      提取子單元221,用于在所述待升級應(yīng)用對應(yīng)的應(yīng)用數(shù)據(jù)中提取與所述路徑信息對應(yīng)的應(yīng)用數(shù)據(jù)段。

      壓縮簽名子單元222,用于對獲取的所述應(yīng)用數(shù)據(jù)段封裝并進(jìn)行數(shù)字簽名,以生成所述差分回退包。

      由于獲取模塊10所獲取到的回退信息中包含多個(gè)對應(yīng)的應(yīng)用數(shù)據(jù)段的路徑信息,提取子單元221按照多個(gè)回退子命令的順序從終端系統(tǒng)文件中獲取 對應(yīng)的應(yīng)用數(shù)據(jù)段,直至回退信息行執(zhí)行完畢,壓縮簽名子單元222將獲取到的全部應(yīng)用數(shù)據(jù)段封裝壓縮,封裝壓縮完成后,壓縮簽名子單元222根據(jù)服務(wù)器下發(fā)的簽名的key或者終端預(yù)置的簽名key,針對回退包做數(shù)字簽名,數(shù)字簽名為慣用技術(shù)手段,在此不再贅述。

      升級模塊30,用于根據(jù)獲取到的所述升級包對待升級應(yīng)用進(jìn)行升級。

      第一回退模塊40,當(dāng)升級失敗時(shí),根據(jù)生成的所述差分回退包對所述待升級應(yīng)用進(jìn)行回退。

      在升級模塊30對待升級應(yīng)用進(jìn)行升級時(shí)可能會出現(xiàn)升級失敗,這時(shí)第一回退模塊40會自動(dòng)調(diào)取差分回退包對待升級應(yīng)用進(jìn)行回退,使系統(tǒng)回退到升級之前的版本。

      本實(shí)施例提出的差分回退升級裝置,利用完整的升級數(shù)據(jù)包獲取差分升級包和差分回退腳本,在進(jìn)行升級之前,根據(jù)差分回退腳本制作差分回退包,對其進(jìn)行數(shù)字簽名并保存,以便于在應(yīng)用升級失敗后進(jìn)行回退。

      參照圖8,基于第一實(shí)施例提出本發(fā)明差分回退升級裝置第二實(shí)施例,在本實(shí)施例中,該裝置還包括:

      存儲模塊50,用于存儲所述差分回退包。

      接收模塊60,用于在升級成功后,接收回退指令。

      提取模塊70,用于提取與接收到的所述回退指令對應(yīng)的所述差分回退包。

      第二回退模塊80,用于根據(jù)提取到的所述差分回退包對升級后的所述待升級應(yīng)用進(jìn)行回退操作。

      存儲模塊50將生成的差分回退包保存在終端,以供用戶后續(xù)使用。例如在成功升級之后,如果出現(xiàn)系統(tǒng)報(bào)錯(cuò)、應(yīng)用報(bào)錯(cuò)的情況,用戶不想使用當(dāng)前版本,想回退版本,則可直接選擇差分回退包進(jìn)行版本回退,無需再從服務(wù)器下載完整的回退包,可以達(dá)到快速回退的目的。此時(shí)可以為用戶提供選擇界面,用戶基于該選擇界面發(fā)出回退指令,當(dāng)接收模塊60接收到用戶發(fā)出的回退指令后,提取模塊70提取與接收到的回退指令對應(yīng)的所述差分回退包,第二回退模塊80根據(jù)提取到的回退包對升級后的待升級應(yīng)用進(jìn)行版本回退。

      需要說明的是,第一回退模塊40和第二回退模塊80可以是同一個(gè)模塊。

      本實(shí)施例提出的差分升級裝置在差分升級成功之后,如果用戶不想使用升級后的應(yīng)用版本,可以隨時(shí)調(diào)用之前制作的差分回退包回退到升級之前的版本。

      以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1