TWI648966B - 增量升級的方法及裝置 - Google Patents
增量升級的方法及裝置 Download PDFInfo
- Publication number
- TWI648966B TWI648966B TW107104499A TW107104499A TWI648966B TW I648966 B TWI648966 B TW I648966B TW 107104499 A TW107104499 A TW 107104499A TW 107104499 A TW107104499 A TW 107104499A TW I648966 B TWI648966 B TW I648966B
- Authority
- TW
- Taiwan
- Prior art keywords
- upgrade
- version file
- file
- memory
- idle resource
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一種增量升級的方法,用於一裝置中,包括:接收對應一應用程式的一增量升級包,其中上述增量升級包至少包括一增量差異文件及一目標版本文件大小;取得上述裝置之一記憶體之閒置資源及對應上述應用程式之一當前版本文件;比較上述記憶體之上述閒置資源及一最大升級資源需求,以決定升級上述應用程式之一升級流程,其中上述最大升級資源需求係為上述當前版本文件大小、上述增量差異文件大小及上述目標版本文件大小之一容量總和;以及根據上述升級流程還原上述目標版本文件,並安裝上述目標版本文件。
Description
本揭露係涉及一種增量升級的方法及裝置。更加具體地說,本揭露係有關於一種根據記憶體容量大小適應性增量升級的方法及裝置。
版本升級是指對作業系統或軟體應用程式舊版本的漏洞進行改善,或者對軟體添加新的應用功能的更新,使軟體更加完善且好用。
目前,有幾種方法用於升級軟體應用程式。其中最簡單的是分發一個完整的軟體應用程式來替換一個較舊的應用程式。此種「全面升級」方法簡單,但昂貴且不方便。
一些軟體發行者發布「增量升級」以取代全面升級方法。這些升級不包含整個軟體應用程式,而只包含將軟體應用程式一給定版本轉換為新版本所需的資訊。
然而,增量升級存在對裝置記憶體資源需求高的缺點,因此記憶體資源低的裝置犧牲升級時間以解決記憶體容量消耗大的問題。但對於記憶體資源足夠大的裝置,則無需採用此種犧牲升級時間的方式。因此,如何能根據裝置的記憶體容量大小自適應增量升級係為目前急需解決的問題。
以下發明內容僅為示例性的,且不意指以任何方式加以限制。除所述說明性方面、實施方式和特徵之外,通過參照附圖和下述具體實施方式,其他方面、實施方式和特徵也將顯而易見。即,以下發明內容被提供以介紹概念、重點、益處及本文所描述新穎且非顯而易見的技術優勢。所選擇,非所有的,實施例將進一步詳細描述如下。因此,以下發明內容並不意旨在所要求保護主題的必要特徵,也不意旨在決定所要求保護主題的範圍中使用。
本揭露提出一種增量升級的方法,用於一裝置中,包括:接收對應一應用程式的一增量升級包,其中上述增量升級包至少包括一增量差異文件及一目標版本文件大小;取得上述裝置之一記憶體之閒置資源及對應上述應用程式之一當前版本文件;比較上述記憶體之上述閒置資源及一最大升級資源需求,以決定升級上述應用程式之一升級流程,其中上述最大升級資源需求係為上述當前版本文件大小、上述增量差異文件大小及上述目標版本文件大小之一容量總和;以及根據上述升級流程還原上述目標版本文件,並安裝上述目標版本文件。
在一些實施例中,其中比較上述記憶體之上述閒置資源及上述最大升級資源需求以決定升級上述應用程式之上述升級流程更包括:判斷上述記憶體之上述閒置資源是否大於且等於上述最大升級資源需求;以及當判斷上述記憶體之上述閒置資源大於且等於上述最大升級資源需求時,執行一第一升級流程。
在一些實施例中,上述方法更包括:當判斷上述記憶體之上述閒置資源小於上述最大升級資源需求時,判斷上述記憶體之上述閒置資源是否大於上述目標版本文件大小時;當判斷上述記憶體之上述閒置資源大於上述目標版本文件大小時,執行一第二升級流程;以及當判斷上述記憶體之上述閒置資源不大於上述目標版本文件大小時,執行一第三升級流程;其中上述記憶體之一讀取速度大於上述記憶體之一寫入速度。
在一些實施例中,上述第一升級流程係包括:讀取對應上述應用程式之上述當前版本文件至上述閒置資源;讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據上述當前版本文件及上述增量差異文件還原上述目標版本文件。
在一些實施例中,上述第二升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及判斷上述當前版本文件及上述增量差異文件已完全被讀取至上述閒置資源時,根據上述當前版本文件及上述增量差異文件還原上述目標版本文件。
在一些實施例中,上述第三升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據每批上述當前版本文件及每批上述增量差異文件分批還原上述目標版本文件。
在一些實施例中,上述方法更包括:當判斷上述記憶體之上述閒置資源小於上述最大升級資源需求時,判斷上述記憶體之上述閒置資源是否大於上述當前版本文件大小及上述增量差異文件大小之一總和時;當判斷上述記憶體之上述閒置資源大於上述當前版本文件大小及上述增量差異文件大小之上述總和時,執行一第四升級流程;以及當判斷上述記憶體之上述閒置資源不大於上述當前版本文件大小及上述增量差異文件大小之上述總和時,執行一第三升級流程;其中上述記憶體之一寫入速度大於上述記憶體之一讀取速度。
在一些實施例中,上述第四升級流程係包括:讀取對應上述應用程式之上述當前版本文件至上述閒置資源;讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據上述當前版本文件及上述增量差異文件分批還原上述目標版本文件。
在一些實施例中,上述第三升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據每批上述當前版本文件及每批上述增量差異文件分批還原為上述目標版本文件。
在一些實施例中,上述增量升級包更包括一文件校驗值,而根據上述升級流程還原上述目標版本文件更包括:根據上述文件校驗值偵測被還原的上述目標版本文件是否正確;以及當偵測被還原的上述目標版本文件不正確時,停止上述升級流程。
本揭露提出一種增量升級的裝置,包括:一或多個處理器;以及一或多個電腦儲存媒體,儲存電腦可讀取指令,其中上述處理器使用上述電腦儲存媒體以執行:接收對應一應用程式的一增量升級包,其中上述增量升級包至少包括一增量差異文件及一目標版本文件大小;取得上述裝置之一記憶體之閒置資源及對應上述應用程式之一當前版本文件;比較上述記憶體之上述閒置資源及一最大升級資源需求,以決定升級上述應用程式之一升級流程,其中上述最大升級資源需求係為上述當前版本文件大小、上述增量差異文件大小及上述目標版本文件大小之一容量總和;以及根據上述升級流程還原上述目標版本文件,並安裝上述目標版本文件。
100‧‧‧系統
110‧‧‧電子裝置
112‧‧‧使用者
120‧‧‧伺服器系統
122‧‧‧伺服器
124‧‧‧資料庫
150‧‧‧網路
200‧‧‧方法
S205、S210、S215、S220‧‧‧步驟
S305、S310、S315、S320、S325‧‧‧步驟
400‧‧‧方法
S405、S410、S415、S420‧‧‧步驟
500‧‧‧方法
S505、S510、S515、S520、S525‧‧‧步驟
600‧‧‧方法
S605、S610、S615、S620‧‧‧步驟
S705、S710、S715、S720、S725‧‧‧步驟
800‧‧‧方法
S805、S810、S815、S820‧‧‧步驟
900‧‧‧電子裝置
910‧‧‧匯流排
912‧‧‧記憶體
914‧‧‧處理器
916‧‧‧顯示元件
918‧‧‧I/O埠口
920‧‧‧I/O元件
922‧‧‧電源供應器
附圖被包括以提供本揭露進一步理解且被合併並組成本揭露的一部分。附圖係說明本揭露的實施例且連同描述一起用以解釋本揭露的原理。其可理解附圖不一定按比例描繪係,一些元件可以超過在實際實施方式的大小來顯示,以清楚地說明本揭露的概念。
第1圖係顯示根據本揭露一實施例中可以用於執行增量升級的系統的示例性示意圖。
第2圖係顯示根據本揭露一實施例所述之增量升級的方法之流程圖。
第3圖係顯示根據本揭露一實施例所述之電子裝置決定升級應用程式之升級流程之流程圖。
第4圖係顯示根據本揭露一實施例所述之第一升級流程之
流程圖。
第5圖係顯示根據本揭露一實施例所述之第二升級流程之流程圖。
第6圖係顯示根據本揭露一實施例所述之第三升級流程之流程圖。
第7圖係顯示根據本揭露一實施例所述之電子裝置決定升級應用程式之升級流程之流程圖。
第8圖係顯示根據本揭露一實施例所述之第四升級流程之流程圖。
第9圖係顯示用以實現本揭露實施例所述之示例性操作環境。
在下文中將參考附圖對本揭露的各方面進行更充分的描述。然而,本揭露可以具體化成許多不同形式且不應解釋為侷限於貫穿本揭露所呈現的任何特定結構或功能。相反地,提供這些方面將使得本揭露周全且完整,並且本揭露將給本領域技術人員充分地傳達本揭露的範圍。基於本文所教導的內容,本領域的技術人員應意識到,無論是單獨還是結合本揭露的任何其它方面實現本文所揭露的任何方面,本揭露的範圍旨在涵蓋本文中所揭露的任何方面。例如,可以使用本文所提出任意數量的裝置或者執行方法來實現。另外,除了本文所提出本揭露的多個方面之外,本揭露的範圍更旨在涵蓋使用其它結構、功能或結構和功能來實現的裝置或方法。應可理解,其可透過申請專利範圍的一或多個元件具體化本文所揭露的任何方
面。
詞語「示例性」在本文中用於表示「用作示例、實例或說明」。本揭露的任何方面或本文描述為「示例性」的設計不一定被解釋為優選於或優於本揭露或設計的其他方面。此外,相同的數字在所有若干圖示中指示相同的元件,且除非在描述中另有指定,而冠詞「一」和「上述」包含複數的參考。
可以理解,當元件被稱為被「連接」或「耦接」至另一元件時,該元件可被直接地連接到或耦接至另一元件或者可存在中間元件。相反地,當該元件被稱為被「直接連接」或「直接耦接」至到另一元件時,則不存在中間元件。用於描述元件之間的關係的其他詞語應以類似方式被解釋(例如,「在…之間」與「直接在…之間」、「相鄰」與「直接相鄰」等方式)。
第1圖係顯示根據本揭露一實施例中可以用於執行增量升級的系統100的示例性示意圖。系統100可包括透過一或多個網路150與一或多個伺服器系統120通訊的電子裝置110。電子裝置110可包括一或多個數種類型的電子裝置。示例性電子裝置可以包括桌上型電腦、筆記型電腦、智慧型手機、個人數位助理(PDA)、平板電腦或任何其他合適的計算機裝置。電子裝置110可以包括配置用以執行由電腦可讀介質儲存指令的一或多個處理器,以執行像是輸入/輸出、通訊、資料處理等的各種裝置操作。
一或多個伺服器系統120可以包括一或多個伺服器122(例如,伺服器群),其包括被配置以執行由電腦可讀介
質儲存指令以執行各種伺服器操作的一或多個處理器。一或多個伺服器系統120還可以包括作為用於儲存數據的電腦可讀記憶體的一或多個資料庫124。網路150可提供有線和/或無線網路,且可包括封包式(packet-based network)網路,像是TCP-IP網路。網路150也可包括區域網路(Local Area Network,LAN)(例如,內聯網)、無線區域網路(Wireless Local Area Network,WLAN)或Wi-Fi網路、第三代(3G)或第四代(4G)移動電信網路、廣域網路(Wide Area Network,WAN)、網際網路(Internet)或其任何適當的組合。
通常,一或多個伺服器系統120可以資料庫形式處理和儲存與軟體應用程式有關的資料。示例性資料可包括對應一應用程式的增量升級包,其中增量升級包至少包括一增量差異文件、一目標版本文件大小及一文件校驗值。電子裝置110可被一或多個使用者112使用以存取資料庫中的軟體應用程式有關的資料。作為非限制性示例,根據本揭露實施方式,使用者112可使用電子裝置110存取資料庫以請求下載安裝於電子裝置110中一應用程式的增量升級包。下載完增量升級包後,電子裝置110可將增量升級包和應用程式的當前版本文件進行還原,以取得應用程式的目標版本文件。電子裝置110接著可安裝應用程式的目標版本文件,以完成應用程式由當前版本升級到目標版本的升級操作。
為說明本發明的目的,提供了本發明的方法示例的詳細描述。在描述該方法示例時,應用程式升級指的是應用程式的特定更新,例如,將媒體播放機版本6.0更新到媒體播
放機版本7.0。此外,如本文所使用的,術語「增量差異文件」係指比較對應裝置內部應用程式的當前版本文件與目標版本文件而產生的差異文件。
此外,第1圖所示的電子裝置110及伺服器系統120係執行增量升級系統100架構的示例。第1圖所示的每個元件可經由任何類型的電子裝置來實現,像是參考第1圖描述的電子裝置900,如第9圖所示。
第2圖係顯示根據本揭露一實施例所述之增量升級的方法200之流程圖。此方法可執行於如第1圖所示之電子裝置110的處理器中。
在步驟S205中,電子裝置可由伺服器系統接收對應一應用程式的一增量升級包,其中上述增量升級包至少包括一增量差異文件及一目標版本文件大小。在步驟S210中,電子裝置取得電子裝置之一記憶體之閒置資源及對應應用程式之一當前版本文件。在步驟S215中,電子裝置比較記憶體之閒置資源及一最大升級資源需求,以決定升級上述應用程式之一升級流程,其中最大升級資源需求係為當前版本文件大小、增量差異文件大小及上述目標版本文件大小之一容量總和。在步驟S220中,電子裝置根據上述升級流程還原目標版本文件,並安裝目標版本文件。
電子裝置於步驟S215中如何比較記憶體之閒置資源及最大升級資源需求以決定升級上述應用程式之升級流程係說明如下。
第3圖係顯示根據本揭露一實施例所述之電子裝
置決定升級應用程式之升級流程之流程圖。在流程開始之前,電子裝置可先判斷記憶體之一讀取速度是否大於記憶體之一寫入速度。當電子裝置判斷記憶體之讀取速度大於寫入速度時,執行第3圖之流程。
如第3圖所示,在步驟S305中,電子裝置判斷記憶體之閒置資源M是否大於且等於最大升級資源需求,其中最大升級資源需求係為當前版本文件大小M1、增量差異文件大小M2及目標版本文件大小M3之一容量總和(M1+M2+M3)。當電子裝置判斷記憶體之閒置資源大於且等於最大升級資源需求(即M≧(M1+M2+M3))時(步驟S305中的「是」),在步驟S310中,執行一第一升級流程,如第4圖所示。
第4圖係顯示根據本揭露一實施例所述之第一升級流程400之流程圖。在步驟S405中,電子裝置讀取對應應用程式之當前版本文件至記憶體之閒置資源中。在步驟S410中,電子裝置讀取對應應用程式的增量差異文件至記憶體之閒置資源中。在步驟S415中,電子裝置根據記憶體中之當前版本文件及增量差異文件還原目標版本文件。在步驟S420中,電子裝置安裝上述目標版本文件,完成應用程式之升級。
回到第3圖,當電子裝置判斷記憶體之閒置資源小於最大升級資源需求(即M<(M1+M2+M3))時(步驟S305中的「否」),在步驟S315中,電子裝置判斷記憶體之閒置資源M是否大於目標版本文件大小M3。當電子裝置判斷記憶體之閒置資源M大於目標版本文件大小M3(即M>M3)時,(步驟S315中的「是」),在步驟S320中,執行一第二升級流程,如第5圖
所示。
第5圖係顯示根據本揭露一實施例所述之第二升級流程500之流程圖。在步驟S505中,電子裝置分批讀取對應應用程式之當前版本文件至記憶體之閒置資源中。在步驟S510中,電子裝置分批讀取對應應用程式的增量差異文件至記憶體之閒置資源中。例如,電子裝置每次僅讀取128位元的當前版本文件或增量差異文件至記憶體之閒置資源中。
在步驟S515中,電子裝置判斷當前版本文件及增量差異文件是否已完全被讀取至記憶體之閒置資源中。當電子裝置判斷當前版本文件及增量差異文件尚未完全被讀取至記憶體之閒置資源中(步驟S515中的「否」)時,回到步驟S505中,電子裝置繼續分批讀取對應應用程式之當前版本文件至記憶體之閒置資源中。
當電子裝置判斷當前版本文件及增量差異文件已完全被讀取至記憶體之閒置資源中(步驟S515中的「是」)時,在步驟S520中,電子裝置根據當前版本文件及增量差異文件還原目標版本文件。在步驟S525中,電子裝置安裝上述目標版本文件,完成應用程式之升級。
回到第3圖,當電子裝置判斷記憶體之閒置資源M不大於目標版本文件M3的文件容量(即M≦M3)時,(步驟S315中的「否」),在步驟S325中,執行一第三升級流程,如第6圖所示。
第6圖係顯示根據本揭露一實施例所述之第三升級流程600之流程圖。在步驟S605中,電子裝置分批讀取對應
應用程式之當前版本文件至記憶體之閒置資源中。在步驟S610中,電子裝置分批讀取對應應用程式的增量差異文件至記憶體之閒置資源中。在步驟S615中,電子裝置根據每批當前版本文件及每批增量差異文件分批還原目標版本文件。在步驟S620中,電子裝置分批安裝還原後的目標版本文件,完成應用程式之升級。例如,電子裝置每次僅讀取128位元的當前版本文件或增量差異文件至記憶體之閒置資源中,接著還原並安裝128位元的目標版本文件。
在另一實施例中,當電子裝置判斷記憶體之寫入速度大於讀取速度時,執行第7圖之流程。第7圖係顯示根據本揭露一實施例所述之電子裝置決定升級應用程式之升級流程之流程圖。
如第7圖所示,在步驟S705中,電子裝置判斷記憶體之閒置資源M是否大於且等於最大升級資源需求,其中最大升級資源需求係為當前版本文件大小M1、增量差異文件大小M2及目標版本文件大小M3之一容量總和(M1+M2+M3)。當電子裝置判斷記憶體之閒置資源大於且等於最大升級資源需求(即M≧(M1+M2+M3))時(步驟S705中的「是」),在步驟S710中,執行一第一升級流程,如第4圖所示。
當電子裝置判斷記憶體之閒置資源小於最大升級資源需求(即M<(M1+M2+M3))時(步驟S705中的「否」),在步驟S715中,電子裝置判斷記憶體之閒置資源M是否大於當前版本文件大小M1及增量差異文件大小M2之一總和(M1+M2)。當電子裝置判斷記憶體之閒置資源M大於當前版本文件大小
及增量差異文件大小之總和(即M>(M1+M2))時,(步驟S715中的「是」),在步驟S720中,執行一第四升級流程,如第8圖所示。
第8圖係顯示根據本揭露一實施例所述之第四升級流程800之流程圖。在步驟S805中,電子裝置讀取對應應用程式之當前版本文件至記憶體之閒置資源中。在步驟S810中,電子裝置讀取對應應用程式的增量差異文件至記憶體之閒置資源中。在步驟S815中,電子裝置根據當前版本文件及增量差異文件分批還原上述目標版本文件。在步驟S820中,電子裝置分批安裝還原後的目標版本文件,完成應用程式之升級。例如,電子裝置每次僅還原並安裝128位元的目標版本文件。
回到第7圖,當電子裝置判斷記憶體之閒置資源M不大於當前版本文件大小及增量差異文件大小之總和(即M≦(M1+M2))時,(步驟S715中的「否」),在步驟S725中,執行一第三升級流程,如第6圖所示。
在一實施例中,在電子裝置根據升級流程還原目標版本文件後,更可根據包括在增量升級包中之文件校驗值偵測被還原的目標版本文件是否正確。更詳細地說明,電子裝置可計算被還原目標版本文件的一目標校驗值,並將此目標校驗值與增量升級包中的文件校驗值進行比對。當偵測目標校驗值與文件校驗值相同時,則電子裝置判斷被還原的目標版本文件正確。當偵測目標校驗值與文件校驗值不相同時,則電子裝置判斷被還原的目標版本文件不正確,並停止升級流程且傳送一通知以通知使用者升級流程失敗。
對於本揭露已描述的實施例,下文描述了可以實現本揭露實施例的示例性操作環境。具體參考第9圖,第9圖係顯示用以實現本揭露實施例的示例性操作環境,一般可被視為電子裝置900。電子裝置900僅為一合適計算環境的一個示例,並不意圖暗示對本揭露使用或功能範圍的任何限制。電子裝置900也不應被解釋為具有與所示元件任一或組合相關任何的依賴性或要求。
本揭露可在電腦程式碼或機器可使用指令來執行本揭露,指令可為程式模組的電腦可執行指令,其程式模組由電腦或其它機器,例如個人數位助理或其它可攜式裝置執行。一般而言,程式模組包括例程、程式、物件、元件、數據結構等,程式模組指的是執行特定任務或實現特定抽象數據類型的程式碼。本揭露可在各種系統組態中實現,包括可攜式裝置、消費者電子產品、通用電腦、更專業的計算裝置等。本揭露還可在分散式運算環境中實現,處理由通訊網路所連結的裝置。
參考第9圖。電子裝置900包括直接或間接耦接以下裝置的匯流排910、記憶體912、一或多個處理器914、一或多個顯示元件916、輸入/輸出(I/O)埠口918、輸入/輸出(I/O)元件920以及說明性電源供應器922。匯流排910表示可為一或多個匯流排之元件(例如,位址匯流排、數據匯流排或其組合)。雖然第9圖的各個方塊為簡要起見以線示出,實際上,各個元件的分界並不是具體的,例如,可將顯示裝置的呈現元件視為I/O元件;處理器可具有記憶體。
電子裝置900-般包括各種電腦可讀取媒體。電腦
可讀取媒體可以是可被電子裝置900存取的任何可用媒體,該媒體同時包括易揮發性和非易揮發性媒體、可移動和不可移動媒體。舉例但不侷限於,電腦可讀取媒體可包括電腦儲存媒體和通訊媒體。電腦可讀取媒體同時包括在用於儲存像是電腦可讀取指令、資料結構、程式模組或其它數據之類資訊的任何方法或技術中實現的易揮發性性和非易揮發性媒體、可移動和不可移動媒體。電腦儲存媒體包括但不侷限於RAM、ROM、EEPROM、快閃記憶體或其它記憶體技術、CD-ROM、數位多功能光碟(DVD)或其它光碟儲存裝置、磁片、磁碟、磁片儲存裝置或其它磁儲存裝置,或可用於儲存所需的資訊並且可被電子裝置900存取的其它任何媒體。電腦儲存媒體本身不包括信號。
通訊媒體一般包含電腦可讀取指令、資料結構、程式模組或其它採用諸如載波或其他傳輸機制之類的模組化數據訊號形式的數據,並包括任何資訊傳遞媒體。術語「模組化數據訊號」係指具有一或多個特徵集合或以在訊號中編碼資訊之一方式更改的訊號。舉例但不侷限於,通訊媒體包括像是有線網路或直接有線連接的有線媒體及無線媒體,像是聲頻、射頻、紅外線以及其它無線媒體。上述媒體的組合包括在電腦可讀取媒體的範圍內。
記憶體912包括以易揮發性和非易揮發性記憶體形式的電腦儲存媒體。記憶體可為可移動、不移動或可以為這兩種的組合。示例性硬體裝置包括固態記憶體、硬碟驅動器、光碟驅動器等。電子裝置900包括一或多個處理器,其讀取來
自像是記憶體912或I/O元件920各實體的數據。顯示元件916向使用者或其它裝置顯示數據指示。示例性顯示元件包括顯示裝置、揚聲器、列印元件、振動元件等。
I/O埠口918允許電子裝置900邏輯連接到包括I/O元件920的其它裝置,一些此種裝置為內建裝置。示例性元件包括麥克風、搖桿、遊戲台、碟形衛星訊號接收器、掃描器、印表機、無線裝置等。I/O元件920可提供一自然使用者介面,用於處理使用者生成的姿勢、聲音或其它生理輸入。在一些例子中,這些輸入可被傳送到一合適的網路元件以便進一步處理。NUI可實現語言識別、觸摸與手寫筆辨識、面部識別、生物識別、在螢幕上以及鄰近螢幕的姿勢識別、空中手勢、頭部及眼部追蹤以及與電子裝置900所顯示相關聯的觸摸識別的任意組合。電子裝置900可裝備有深度照相機,像是立體照相機系統、紅外線照相機系統、RGB照相機系統和這些系統的組合,以偵測與識別姿勢。另外,電子裝置900可以裝備有偵測運動的加速度計或陀螺儀。加速度計或陀螺儀的輸出可被提供給電子裝置900顯示以呈現沉浸式增強現實或虛擬實境。
此外,電子裝置900中之處理器914也可執行記憶體912中之程式及指令以呈現上述實施例所述之動作和步驟,或其它在說明書中內容之描述。
如上所述,由於本揭露之增量升級的方法及裝置更將記憶體之閒置資源納入考量,因此可提高記憶體之閒置資源的利用率,以最佳化裝置增量升級所需的時間。
此外,在上述示例性裝置中,儘管上述方法已在
使用一系列步驟或方框之流程圖的基礎上描述,但本發明不侷限於這些步驟的順序,並且一些步驟可不同於其餘步驟的順序執行或其餘步驟可同時進行。舉例而言,電子裝置可先讀取對應應用程式的增量差異文件至記憶體之閒置資源中,再讀取對應應用程式之當前版本文件至記憶體之閒置資源中。在舉另一例子,電子裝置可同時分批讀取對應應用程式之當前版本文件及增量差異文件至記憶體之閒置資源中。此外,本領域的技術人士將理解在流程圖中所示的步驟並非唯一的,其可包括流程圖的其他步驟,或者一或多個步驟可被刪除而不會影響本發明的範圍。
申請專利範圍中用以修飾元件之「第一」、「第二」、「第三」、「第四」等序數詞之使用本身未暗示任何優先權、優先次序、各元件之間之先後次序、或方法所執行之步驟之次序,而僅用作標識來區分具有相同名稱(具有不同序數詞)之不同元件。
雖然本揭露已以實施範例揭露如上,然其並非用以限定本案,任何熟悉此項技藝者,在不脫離本揭露之精神和範圍內,當可做些許更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (18)
- 一種增量升級的方法,用於一裝置中,包括:接收對應一應用程式的一增量升級包,其中上述增量升級包至少包括一增量差異文件及一目標版本文件大小;取得上述裝置之一記憶體之閒置資源及對應上述應用程式之一當前版本文件;比較上述記憶體之上述閒置資源及一最大升級資源需求,以決定升級上述應用程式之一升級流程,其中上述最大升級資源需求係為上述當前版本文件大小、上述增量差異文件大小及上述目標版本文件大小之一容量總和;以及根據上述升級流程還原上述目標版本文件,並安裝上述目標版本文件;其中比較上述記憶體之上述閒置資源及上述最大升級資源需求以決定升級上述應用程式之上述升級流程更包括:判斷上述記憶體之上述閒置資源是否大於且等於上述最大升級資源需求;以及當判斷上述記憶體之上述閒置資源大於且等於上述最大升級資源需求時,執行一第一升級流程。
- 如申請專利範圍第1項所述之增量升級的方法,更包括:當判斷上述記憶體之上述閒置資源小於上述最大升級資源需求時,判斷上述記憶體之上述閒置資源是否大於上述目標版本文件大小時;當判斷上述記憶體之上述閒置資源大於上述目標版本文件大小時,執行一第二升級流程;以及 當判斷上述記憶體之上述閒置資源不大於上述目標版本文件大小時,執行一第三升級流程;其中上述記憶體之一讀取速度大於上述記憶體之一寫入速度。
- 如申請專利範圍第1項所述之增量升級的方法,其中上述第一升級流程係包括:讀取對應上述應用程式之上述當前版本文件至上述閒置資源;讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據上述當前版本文件及上述增量差異文件還原上述目標版本文件。
- 如申請專利範圍第2項所述之增量升級的方法,其中上述第二升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及判斷上述當前版本文件及上述增量差異文件已完全被讀取至上述閒置資源時,根據上述當前版本文件及上述增量差異文件還原上述目標版本文件。
- 如申請專利範圍第2項所述之增量升級的方法,其中上述第三升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒 置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據每批上述當前版本文件及每批上述增量差異文件分批還原上述目標版本文件。
- 如申請專利範圍第1項所述之增量升級的方法,上述方法更包括:當判斷上述記憶體之上述閒置資源小於上述最大升級資源需求時,判斷上述記憶體之上述閒置資源是否大於上述當前版本文件大小及上述增量差異文件大小之一總和時;當判斷上述記憶體之上述閒置資源大於上述當前版本文件大小及上述增量差異文件大小之上述總和時,執行一第四升級流程;以及當判斷上述記憶體之上述閒置資源不大於上述當前版本文件大小及上述增量差異文件大小之上述總和時,執行一第三升級流程;其中上述記憶體之一寫入速度大於上述記憶體之一讀取速度。
- 如申請專利範圍第6項所述之增量升級的方法,其中上述第四升級流程係包括:讀取對應上述應用程式之上述當前版本文件至上述閒置資源;讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及 根據上述當前版本文件及上述增量差異文件分批還原上述目標版本文件。
- 如申請專利範圍第6項所述之增量升級的方法,其中上述第三升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據每批上述當前版本文件及每批上述增量差異文件分批還原為上述目標版本文件。
- 如申請專利範圍第1項所述之增量升級的方法,其中上述增量升級包更包括一文件校驗值,而根據上述升級流程還原上述目標版本文件更包括:根據上述文件校驗值偵測被還原的上述目標版本文件是否正確;以及當偵測被還原的上述目標版本文件不正確時,停止上述升級流程。
- 一種增量升級的裝置,包括:一或多個處理器;以及一或多個電腦儲存媒體,儲存電腦可讀取指令,其中上述處理器使用上述電腦儲存媒體以執行:接收對應一應用程式的一增量升級包,其中上述增量升級包至少包括一增量差異文件及一目標版本文件大小;取得上述裝置之一記憶體之閒置資源及對應上述應用程式 之一當前版本文件;比較上述記憶體之上述閒置資源及一最大升級資源需求,以決定升級上述應用程式之一升級流程,其中上述最大升級資源需求係為上述當前版本文件大小、上述增量差異文件大小及上述目標版本文件大小之一容量總和;以及根據上述升級流程還原上述目標版本文件,並安裝上述目標版本文件;其中上述處理器比較上述記憶體之上述閒置資源及上述最大升級資源需求以決定升級上述應用程式之上述升級流程更包括:判斷上述記憶體之上述閒置資源是否大於且等於上述最大升級資源需求;以及當判斷上述記憶體之上述閒置資源大於且等於上述最大升級資源需求時,執行一第一升級流程。
- 如申請專利範圍第10項所述之增量升級的裝置,其中上述處理器更使用上述電腦儲存媒體以執行:當判斷上述記憶體之上述閒置資源小於上述最大升級資源需求時,判斷上述記憶體之上述閒置資源是否大於上述目標版本文件大小時;當判斷上述記憶體之上述閒置資源大於上述目標版本文件大小時,執行一第二升級流程;以及當判斷上述記憶體之上述閒置資源不大於上述目標版本文件大小時,執行一第三升級流程;其中上述記憶體之一讀取速度大於上述記憶體之一寫入速 度。
- 如申請專利範圍第10項所述之增量升級的裝置,其中由上述處理器所執行之上述第一升級流程係包括:讀取對應上述應用程式之上述當前版本文件至上述閒置資源;讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據上述當前版本文件及上述增量差異文件還原上述目標版本文件。
- 如申請專利範圍第11項所述之增量升級的裝置,其中由上述處理器所執行之上述第二升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及判斷上述當前版本文件及上述增量差異文件已完全被讀取至上述閒置資源時,根據上述當前版本文件及上述增量差異文件還原上述目標版本文件。
- 如申請專利範圍第11項所述之增量升級的裝置,其中由上述處理器所執行之上述第三升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及 根據每批上述當前版本文件及每批上述增量差異文件分批還原上述目標版本文件。
- 如申請專利範圍第10項所述之增量升級的裝置,其中由上述處理器更使用上述電腦儲存媒體以執行:當判斷上述記憶體之上述閒置資源小於上述最大升級資源需求時,判斷上述記憶體之上述閒置資源是否大於上述當前版本文件大小及上述增量差異文件大小之一總和時;當判斷上述記憶體之上述閒置資源大於上述當前版本文件大小及上述增量差異文件大小之上述總和時,執行一第四升級流程;以及當判斷上述記憶體之上述閒置資源不大於上述當前版本文件大小及上述增量差異文件大小之上述總和時,執行一第三升級流程;其中上述記憶體之一寫入速度大於上述記憶體之一讀取速度。
- 如申請專利範圍第15項所述之增量升級的裝置,其中由上述處理器所執行之上述第四升級流程係包括:讀取對應上述應用程式之上述當前版本文件至上述閒置資源;讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據上述當前版本文件及上述增量差異文件分批還原上述目標版本文件。
- 如申請專利範圍第15項所述之增量升級的裝置,其中由上 述處理器所執行之上述第三升級流程係包括:分批讀取對應上述應用程式之上述當前版本文件至上述閒置資源;分批讀取對應上述應用程式的上述增量差異文件至上述閒置資源;以及根據每批上述當前版本文件及每批上述增量差異文件分批還原為上述目標版本文件。
- 如申請專利範圍第10項所述之增量升級的裝置,其中上述增量升級包更包括一文件校驗值,而上述處理器根據上述升級流程還原上述目標版本文件更包括:根據上述文件校驗值偵測被還原的上述目標版本文件是否正確;以及當偵測被還原的上述目標版本文件不正確時,停止上述升級流程。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201810077283.8 | 2018-01-26 | ||
CN201810077283.8A CN110083381B (zh) | 2018-01-26 | 2018-01-26 | 增量升级的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI648966B true TWI648966B (zh) | 2019-01-21 |
TW201933829A TW201933829A (zh) | 2019-08-16 |
Family
ID=65803602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107104499A TWI648966B (zh) | 2018-01-26 | 2018-02-08 | 增量升級的方法及裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11003438B2 (zh) |
CN (1) | CN110083381B (zh) |
TW (1) | TWI648966B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200104118A1 (en) * | 2018-09-28 | 2020-04-02 | Bose Corporation | Systems and methods for providing staged updates in embedded devices |
CN112416381A (zh) * | 2019-08-22 | 2021-02-26 | 中兴通讯股份有限公司 | 差分升级方法、装置、服务器及可读存储介质 |
CN110837392A (zh) * | 2019-11-06 | 2020-02-25 | 四川天邑康和通信股份有限公司 | 一种iptv或融合网关的自适应差分升级的方法及系统 |
CN113641376B (zh) * | 2020-05-11 | 2024-06-04 | 深圳Tcl新技术有限公司 | 一种智能终端的升级优化方法及智能终端 |
CN111708566A (zh) * | 2020-06-10 | 2020-09-25 | 深圳云之家网络有限公司 | 软件增量更新方法、装置、系统及计算机可读存储介质 |
CN111767213B (zh) * | 2020-06-18 | 2024-04-05 | 北京同邦卓益科技有限公司 | 数据库检查点的测试方法、装置、电子设备及存储介质 |
CN112306541B (zh) * | 2020-11-05 | 2023-06-23 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向任务加改装需求的航电系统增量升级方法 |
CN113254038B (zh) * | 2021-05-25 | 2024-03-08 | 青岛海信移动通信技术有限公司 | 一种升级确认方法、服务器、线控器和移动终端 |
CN113791800A (zh) * | 2021-08-13 | 2021-12-14 | 江铃汽车股份有限公司 | 一种自动泊车控制模块远程升级方法、系统及汽车 |
CN114637527B (zh) * | 2022-05-18 | 2022-08-19 | 海马云(天津)信息技术有限公司 | 云应用的热更新资源提取与更新方法和装置 |
CN116954685B (zh) * | 2023-09-20 | 2023-12-26 | 浪潮通用软件有限公司 | 低代码应用系统灰度滚动升级方法、系统、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI249705B (en) * | 2002-04-01 | 2006-02-21 | Ntt Docomo Inc | Communication terminal software updating method, communication terminal, and software updating method |
TWI275999B (en) * | 2002-05-23 | 2007-03-11 | Htc Corp | Method for updating software of an embedded device |
US20120209650A1 (en) * | 2011-02-11 | 2012-08-16 | Avaya Inc. | Context-based mobile activity assistant |
TWI503747B (zh) * | 2013-11-06 | 2015-10-11 | Mitsubishi Electric Corp | Software update device and software update program products |
TWI518595B (zh) * | 2014-03-17 | 2016-01-21 | 廣達電腦股份有限公司 | 軟體更新方法及系統以及行動裝置 |
TWI560546B (en) * | 2014-06-11 | 2016-12-01 | Home Control Singapore Pte Ltd | System for installing software on a small-memory device |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409685B2 (en) * | 2002-04-12 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
US20020156863A1 (en) * | 2001-04-23 | 2002-10-24 | Luosheng Peng | Apparatus and methods for managing caches on a gateway |
EP1398948B1 (en) * | 2002-09-13 | 2013-11-06 | Ricoh Company, Ltd. | Image forming apparatus, methods used therein and a computer readable storage medium |
US6836657B2 (en) * | 2002-11-12 | 2004-12-28 | Innopath Software, Inc. | Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade |
US7007049B2 (en) * | 2002-11-18 | 2006-02-28 | Innopath Software, Inc. | Device memory management during electronic file updating |
WO2010016057A2 (en) * | 2008-08-04 | 2010-02-11 | Red Bend Ltd. | Performing a pre-update on a non volatile memory |
US9176883B2 (en) * | 2009-04-30 | 2015-11-03 | HGST Netherlands B.V. | Storage of data reference blocks and deltas in different storage devices |
US9128798B2 (en) * | 2012-10-17 | 2015-09-08 | Movimento Group | Module updating device |
CN103051723B (zh) * | 2012-12-27 | 2016-08-31 | 广州市动景计算机科技有限公司 | 一种增量升级方法及服务器、终端 |
CN104391728B (zh) * | 2014-12-12 | 2018-01-16 | 北京奇虎科技有限公司 | 软件升级差量包获取方法和相应的升级方法以及装置 |
CN105808284B (zh) * | 2014-12-31 | 2019-10-22 | 广州市动景计算机科技有限公司 | 一种增量升级方法及应用其的服务器 |
CN104991791B (zh) * | 2015-06-09 | 2018-03-02 | 北京奇虎科技有限公司 | 一种文件的增量升级发布方法和装置 |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105068848B (zh) * | 2015-08-28 | 2018-12-11 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN106610839B (zh) * | 2015-10-21 | 2020-10-30 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
US9973564B2 (en) * | 2015-10-30 | 2018-05-15 | Hewlett Packard Enterprise Development Lp | Determining variable chunk size for transfer of a file |
CN105786568B (zh) * | 2016-02-25 | 2019-06-07 | Oppo广东移动通信有限公司 | 一种升级内容显示方法、装置及智能终端 |
KR20170126230A (ko) * | 2016-05-09 | 2017-11-17 | 한국전자통신연구원 | 펌웨어 업데이트 장치 및 방법, 그리고 펌웨어 업데이트 시스템 |
-
2018
- 2018-01-26 CN CN201810077283.8A patent/CN110083381B/zh active Active
- 2018-02-08 TW TW107104499A patent/TWI648966B/zh active
- 2018-11-29 US US16/204,030 patent/US11003438B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI249705B (en) * | 2002-04-01 | 2006-02-21 | Ntt Docomo Inc | Communication terminal software updating method, communication terminal, and software updating method |
TWI275999B (en) * | 2002-05-23 | 2007-03-11 | Htc Corp | Method for updating software of an embedded device |
US20120209650A1 (en) * | 2011-02-11 | 2012-08-16 | Avaya Inc. | Context-based mobile activity assistant |
TWI503747B (zh) * | 2013-11-06 | 2015-10-11 | Mitsubishi Electric Corp | Software update device and software update program products |
TWI518595B (zh) * | 2014-03-17 | 2016-01-21 | 廣達電腦股份有限公司 | 軟體更新方法及系統以及行動裝置 |
TWI560546B (en) * | 2014-06-11 | 2016-12-01 | Home Control Singapore Pte Ltd | System for installing software on a small-memory device |
Also Published As
Publication number | Publication date |
---|---|
CN110083381B (zh) | 2023-04-28 |
US20190235859A1 (en) | 2019-08-01 |
TW201933829A (zh) | 2019-08-16 |
US11003438B2 (en) | 2021-05-11 |
CN110083381A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI648966B (zh) | 增量升級的方法及裝置 | |
EP3479243B1 (en) | Fault-tolerant variable region repaving during firmware over the air update | |
US9258299B2 (en) | Biometric cloud communication and data movement | |
US8200962B1 (en) | Web browser extensions | |
US8499304B2 (en) | Multiple mode mobile device | |
RU2456663C2 (ru) | Прогрессивная начальная загрузка для беспроводного устройства | |
US9680964B2 (en) | Programming model for installing and distributing occasionally connected applications | |
CN112055424B (zh) | 电子装置以及切换电子装置的方法 | |
EP3032418A1 (en) | Permission control method and device | |
US20150154224A1 (en) | Method, device, processing center and system for desktop synchronization | |
CN102938039A (zh) | 针对应用的选择性文件访问 | |
WO2015157937A9 (zh) | 软件升级方法和终端 | |
US11588909B1 (en) | System and method for subscription based solution data compatibility | |
US11789718B2 (en) | System and method for subscription based solution modification implementation | |
US20230222471A1 (en) | System and method for subscription based solution implementation | |
US11671379B1 (en) | System and method for subscription management using dynamically composed management entities | |
US12093102B2 (en) | System and method for power state enforced subscription management | |
US11379458B2 (en) | Electronic device and data management method thereof | |
US9753933B2 (en) | Electronic device and method for mounting file system using virtual block device | |
US12001299B2 (en) | Data backup on secure partition | |
US8412836B2 (en) | User authentication across multiple network stacks | |
US10853085B2 (en) | Adjustable performance boot system | |
EP3523745B1 (en) | Electronic device, method for controlling thereof and computer-readable recording medium | |
JP6209854B2 (ja) | 情報処理システム | |
US11989304B2 (en) | Secure multi-BIOS-image system |