CN110083381B - 增量升级的方法及装置 - Google Patents

增量升级的方法及装置 Download PDF

Info

Publication number
CN110083381B
CN110083381B CN201810077283.8A CN201810077283A CN110083381B CN 110083381 B CN110083381 B CN 110083381B CN 201810077283 A CN201810077283 A CN 201810077283A CN 110083381 B CN110083381 B CN 110083381B
Authority
CN
China
Prior art keywords
upgrade
version file
memory
file
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810077283.8A
Other languages
English (en)
Other versions
CN110083381A (zh
Inventor
许文瑞
郑云彬
齐世玮
张红森
孔建云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wistron Neweb Corp
Original Assignee
Wistron Neweb Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wistron Neweb Corp filed Critical Wistron Neweb Corp
Priority to CN201810077283.8A priority Critical patent/CN110083381B/zh
Priority to TW107104499A priority patent/TWI648966B/zh
Priority to US16/204,030 priority patent/US11003438B2/en
Publication of CN110083381A publication Critical patent/CN110083381A/zh
Application granted granted Critical
Publication of CN110083381B publication Critical patent/CN110083381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental 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

增量升级的方法及装置
技术领域
本发明涉及一种增量升级的方法及装置,且特别涉及一种根据存储器容量大小适应性增量升级的方法及装置。
背景技术
版本升级是指对操作系统或软件应用程序旧版本的漏洞进行改善,或者对软件添加新的应用功能的更新,使软件更加完善且好用。
目前,有几种方法用于升级软件应用程序。其中最简单的是发布一个完整的软件应用程序来替换一个较旧的应用程序。此种“全面升级”方法简单,但昂贵且不方便。
一些软件发行者发布“增量升级”以取代全面升级方法。这些升级不包含整个软件应用程序,只包含将软件应用程序一给定版本转换为新版本所需的信息。
然而,增量升级存在对装置存储器资源需求高的缺点,因此存储器资源低的装置牺牲升级时间以解决存储器容量消耗大的问题。但对于存储器资源足够大的装置,则无需采用此种牺牲升级时间的方式。因此,如何能根据装置的存储器容量大小自适应增量升级是目前急需解决的问题。
因此,需要提供一种增量升级的方法及装置来解决上述问题。
发明内容
以下发明内容仅为示例性的,且不意指以任何方式加以限制。除所述说明性方面、实施方式和特征之外,通过参照附图和下述具体实施方式,其他方面、实施方式和特征也将显而易见。即,以下发明内容被提供以介绍概念、重点、益处以及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下发明内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。
本发明提出一种增量升级的方法,用于一装置中,上述增量升级的方法包括:接收对应一应用程序的一增量升级包,其中上述增量升级包至少包括一增量差异文件及一目标版本文件大小;取得上述装置的一存储器的闲置资源及对应上述应用程序的一当前版本文件;比较上述存储器的上述闲置资源及一最大升级资源需求,以决定升级上述应用程序的一升级流程,其中上述最大升级资源需求是上述当前版本文件大小、上述增量差异文件大小及上述目标版本文件大小的一容量总和;以及根据上述升级流程复原上述目标版本文件,并安装上述目标版本文件。
在一些实施例中,其中比较上述存储器的上述闲置资源及上述最大升级资源需求以决定升级上述应用程序的上述升级流程还包括:判断上述存储器的上述闲置资源是否大于且等于上述最大升级资源需求;以及当判断上述存储器的上述闲置资源大于且等于上述最大升级资源需求时,执行一第一升级流程。
在一些实施例中,上述方法还包括:当判断上述存储器的上述闲置资源小于上述最大升级资源需求时,判断上述存储器的上述闲置资源是否大于上述目标版本文件大小;当判断上述存储器的上述闲置资源大于上述目标版本文件大小时,执行一第二升级流程;以及当判断上述存储器的上述闲置资源不大于上述目标版本文件大小时,执行一第三升级流程;其中上述存储器的一读取速度大于上述存储器的一写入速度。
在一些实施例中,上述第一升级流程包括:读取对应上述应用程序的上述当前版本文件至上述闲置资源;读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及根据上述当前版本文件及上述增量差异文件复原上述目标版本文件。
在一些实施例中,上述第二升级流程包括:分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及判断上述当前版本文件及上述增量差异文件已完全被读取至上述闲置资源时,根据上述当前版本文件及上述增量差异文件复原上述目标版本文件。
在一些实施例中,上述第三升级流程包括:分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及根据每批上述当前版本文件及每批上述增量差异文件分批复原上述目标版本文件。
在一些实施例中,上述方法还包括:当判断上述存储器的上述闲置资源小于上述最大升级资源需求时,判断上述存储器的上述闲置资源是否大于上述当前版本文件大小及上述增量差异文件大小的一总和;当判断上述存储器的上述闲置资源大于上述当前版本文件大小及上述增量差异文件大小的上述总和时,执行一第四升级流程;以及当判断上述存储器的上述闲置资源不大于上述当前版本文件大小及上述增量差异文件大小的上述总和时,执行一第三升级流程;其中上述记忆体的一写入速度大于上述存储器的一读取速度。
在一些实施例中,上述第四升级流程包括:读取对应上述应用程序的上述当前版本文件至上述闲置资源;读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及根据上述当前版本文件及上述增量差异文件分批复原上述目标版本文件。
在一些实施例中,上述第三升级流程包括:分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及根据每批上述当前版本文件及每批上述增量差异文件分批复原为上述目标版本文件。
在一些实施例中,上述增量升级包还包括一文件校验值,而根据上述升级流程复原上述目标版本文件还包括:根据上述文件校验值检测被复原的上述目标版本文件是否正确;以及当检测到被复原的上述目标版本文件不正确时,停止上述升级流程。
本发明提出一种增量升级的装置,上述增量升级的装置包括:一或多个处理器;以及一或多个计算机储存媒体,储存计算机可读取指令,其中上述处理器使用上述计算机储存媒体以执行;接收对应一应用程序的一增量升级包,其中上述增量升级包至少包括一增量差异文件及一目标版本文件大小;取得上述装置的一存储器的闲置资源及对应上述应用程序的一当前版本文件;比较上述存储器的上述闲置资源及一最大升级资源需求,以决定升级上述应用程序的一升级流程,其中上述最大升级资源需求是上述当前版本文件大小、上述增量差异文件大小及上述目标版本文件大小的一容量总和;以及根据上述升级流程复原上述目标版本文件,并安装上述目标版本文件。
本发明的有益效果在于可提高存储器的闲置资源的利用率,以优化装置增量升级所需的时间。
附图说明
附图被包括以提供本发明进一步理解且被合并并组成本发明的一部分。附图是说明本发明的实施例且连同描述一起用以解释本发明的原理。其可理解附图不一定按比例描绘,一些组件可以超过在实际实施方式的大小来显示,以清楚地说明本发明的概念。
图1是显示根据本发明一实施例中可以用于执行增量升级的系统的示例性示意图。
图2是显示根据本发明一实施例所述的增量升级的方法的流程图。
图3是显示根据本发明一实施例所述的电子装置决定升级应用程序的升级流程的流程图。
图4是显示根据本发明一实施例所述的第一升级流程的流程图。
图5是显示根据本发明一实施例所述的第二升级流程的流程图。
图6是显示根据本发明一实施例所述的第三升级流程的流程图。
图7是显示根据本发明一实施例所述的电子装置决定升级应用程序的升级流程的流程图。
图8是显示根据本发明一实施例所述的第四升级流程的流程图。
图9是显示用以实现本发明实施例所述的示例性操作环境。
主要组件符号说明:
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是显示根据本发明一实施例中可以用于执行增量升级的系统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 AreaNetwork,WLAN)或Wi-Fi网络、第三代(3G)或第四代(4G)移动电信网络、广域网(Wide AreaNetwork,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所示的电子装置的处理器中。
在步骤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所显示相关联的触摸识别的任意组合。计算装置600可装备有深度照相机,像是立体照相机系统、红外线照相机系统、RGB照相机系统和这些系统的组合,以检测与识别姿势。另外,电子装置900可以装备有检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可被提供给电子装置900显示以呈现沉浸式增强现实或虚拟现实。
此外,电子装置900中的处理器914也可执行存储器912中的程序及指令以呈现上述实施例所述的动作和步骤,或其他在说明书中内容的描述。
如上所述,由于本发明的增量升级的方法及装置还将存储器的闲置资源纳入考虑,因此可提高存储器的闲置资源的利用率,以优化装置增量升级所需的时间。
此外,在上述示例性装置中,尽管上述方法已在使用一系列步骤或框图的基础上描述,但本发明不局限于这些步骤的顺序,并且一些步骤可不同于其余步骤的顺序执行或其余步骤可同时进行。举例而言,电子装置可先读取对应应用程序的增量差异文件至存储器的闲置资源中,再读取对应应用程序的当前版本文件至存储器的闲置资源中。再举另一例子,电子装置可同时分批读取对应应用程序的当前版本文件及增量差异文件至存储器的闲置资源中。此外,本领域的技术人员将理解在流程图中所示的步骤并非唯一的,其可包括流程图的其他步骤,或者一或多个步骤可被删除而不会影响本发明的范围。
权利要求中用以修饰组件的“第一”、“第二”、“第三”、“第四”等序数词的使用本身未暗示任何优先权、优先次序、各组件之间的先后次序、或方法所执行的步骤的次序,而仅用作标识来区分具有相同名称(具有不同序数词)的不同组件。
虽然本发明已以实施范例公开如上,然而其并非用以限定本发明,任何本技术领域中的普通技术人员,在不脱离本发明的精神和范围的情况下,应当可做些许更动与润饰,因此本发明的保护范围应当视所附的权利要求书所界定者为准。

Claims (18)

1.一种增量升级的方法,用于一装置中,上述增量升级的方法包括:
接收对应一应用程序的一增量升级包,其中上述增量升级包至少包括一增量差异文件及一目标版本文件大小;
取得上述装置的一存储器的闲置资源及对应上述应用程序的一当前版本文件;
比较上述存储器的上述闲置资源及一最大升级资源需求,以决定升级上述应用程序的一升级流程,其中上述最大升级资源需求是上述当前版本文件大小、上述增量差异文件大小及上述目标版本文件大小的一容量总和;以及
根据上述升级流程复原上述目标版本文件,并安装上述目标版本文件;
其中比较上述存储器的上述闲置资源及上述最大升级资源需求以决定升级上述应用程序的上述升级流程还包括:
判断上述存储器的上述闲置资源是否大于且等于上述最大升级资源需求;
当判断上述存储器的上述闲置资源大于且等于上述最大升级资源需求时,执行一第一升级流程;
当判断上述存储器的上述闲置资源小于上述最大升级资源需求时,判断上述存储器的上述闲置资源是否大于上述目标版本文件大小;
当判断上述存储器的上述闲置资源大于上述目标版本文件大小时,执行一第二升级流程;以及
当判断上述存储器的上述闲置资源不大于上述目标版本文件大小时,执行一第三升级流程;
其中上述存储器的一读取速度大于上述存储器的一写入速度。
2.如权利要求1所述的增量升级的方法,其中上述第一升级流程包括:
读取对应上述应用程序的上述当前版本文件至上述闲置资源;
读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据上述当前版本文件及上述增量差异文件复原上述目标版本文件。
3.如权利要求1所述的增量升级的方法,其中上述第二升级流程包括:
分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;
分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
判断上述当前版本文件及上述增量差异文件已完全被读取至上述闲置资源时,根据上述当前版本文件及上述增量差异文件复原上述目标版本文件。
4.如权利要求1所述的增量升级的方法,其中上述第三升级流程包括:
分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;
分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据每批上述当前版本文件及每批上述增量差异文件分批复原上述目标版本文件。
5.如权利要求1所述的增量升级的方法,其中上述增量升级包还包括一文件校验值,而根据上述升级流程复原上述目标版本文件还包括:
根据上述文件校验值检测被复原的上述目标版本文件是否正确;以及
当检测到被复原的上述目标版本文件不正确时,停止上述升级流程。
6.一种增量升级的方法,用于一装置中,上述增量升级的方法包括:
接收对应一应用程序的一增量升级包,其中上述增量升级包至少包括一增量差异文件及一目标版本文件大小;
取得上述装置的一存储器的闲置资源及对应上述应用程序的一当前版本文件;
比较上述存储器的上述闲置资源及一最大升级资源需求,以决定升级上述应用程序的一升级流程,其中上述最大升级资源需求是上述当前版本文件大小、上述增量差异文件大小及上述目标版本文件大小的一容量总和;以及
根据上述升级流程复原上述目标版本文件,并安装上述目标版本文件;
其中比较上述存储器的上述闲置资源及上述最大升级资源需求以决定升级上述应用程序的上述升级流程还包括:
判断上述存储器的上述闲置资源是否大于且等于上述最大升级资源需求;
当判断上述存储器的上述闲置资源大于且等于上述最大升级资源需求时,执行一第一升级流程;
当判断上述存储器的上述闲置资源小于上述最大升级资源需求时,判断上述存储器的上述闲置资源是否大于上述当前版本文件大小及上述增量差异文件大小的一总和;
当判断上述存储器的上述闲置资源大于上述当前版本文件大小及上述增量差异文件大小的上述总和时,执行一第四升级流程;以及
当判断上述存储器的上述闲置资源不大于上述当前版本文件大小及上述增量差异文件大小的上述总和时,执行一第三升级流程;
其中上述存储器的一写入速度大于上述存储器的一读取速度。
7.如权利要求6所述的增量升级的方法,其中上述第四升级流程包括:
读取对应上述应用程序的上述当前版本文件至上述闲置资源;
读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据上述当前版本文件及上述增量差异文件分批复原上述目标版本文件。
8.如权利要求6所述的增量升级的方法,其中上述第三升级流程包括:
分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;
分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据每批上述当前版本文件及每批上述增量差异文件分批复原为上述目标版本文件。
9.如权利要求6所述的增量升级的方法,其中上述增量升级包还包括一文件校验值,而根据上述升级流程复原上述目标版本文件还包括:
根据上述文件校验值检测被复原的上述目标版本文件是否正确;以及
当检测到被复原的上述目标版本文件不正确时,停止上述升级流程。
10.一种增量升级的装置,上述增量升级的装置包括:
一或多个处理器;以及
一或多个计算机储存媒体,储存计算机可读取指令,其中上述处理器使用上述计算机储存媒体以执行;
接收对应一应用程序的一增量升级包,其中上述增量升级包至少包括一增量差异文件及一目标版本文件大小;
取得上述装置的一存储器的闲置资源及对应上述应用程序的一当前版本文件;
比较上述存储器的上述闲置资源及一最大升级资源需求,以决定升级上述应用程序的一升级流程,其中上述最大升级资源需求是上述当前版本文件大小、上述增量差异文件大小及上述目标版本文件大小的一容量总和;以及
根据上述升级流程复原上述目标版本文件,并安装上述目标版本文件;
其中上述处理器比较上述存储器的上述闲置资源及上述最大升级资源需求以决定升级上述应用程序的上述升级流程还包括:
判断上述存储器的上述闲置资源是否大于且等于上述最大升级资源需求;
当判断上述存储器的上述闲置资源大于且等于上述最大升级资源需求时,执行一第一升级流程;
当判断上述存储器的上述闲置资源小于上述最大升级资源需求时,判断上述存储器的上述闲置资源是否大于上述目标版本文件大小;
当判断上述存储器的上述闲置资源大于上述目标版本文件大小时,执行一第二升级流程;以及
当判断上述存储器的上述闲置资源不大于上述目标版本文件大小时,执行一第三升级流程;
其中上述存储器的一读取速度大于上述存储器的一写入速度。
11.如权利要求10所述的增量升级的装置,其中由上述处理器所执行的上述第一升级流程包括:
读取对应上述应用程序的上述当前版本文件至上述闲置资源;
读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据上述当前版本文件及上述增量差异文件复原上述目标版本文件。
12.如权利要求10所述的增量升级的装置,其中由上述处理器所执行的上述第二升级流程包括:
分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;
分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
判断上述当前版本文件及上述增量差异文件已完全被读取至上述闲置资源时,根据上述当前版本文件及上述增量差异文件复原上述目标版本文件。
13.如权利要求10所述的增量升级的装置,其中由上述处理器所执行的上述第三升级流程包括:
分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;
分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据每批上述当前版本文件及每批上述增量差异文件分批复原上述目标版本文件。
14.如权利要求10所述的增量升级的装置,其中上述增量升级包还包括一文件校验值,而上述处理器根据上述升级流程复原上述目标版本文件还包括:
根据上述文件校验值检测被复原的上述目标版本文件是否正确;以及
当检测到被复原的上述目标版本文件不正确时,停止上述升级流程。
15.一种增量升级的装置,上述增量升级的装置包括:
一或多个处理器;以及
一或多个计算机储存媒体,储存计算机可读取指令,其中上述处理器使用上述计算机储存媒体以执行;
接收对应一应用程序的一增量升级包,其中上述增量升级包至少包括一增量差异文件及一目标版本文件大小;
取得上述装置的一存储器的闲置资源及对应上述应用程序的一当前版本文件;
比较上述存储器的上述闲置资源及一最大升级资源需求,以决定升级上述应用程序的一升级流程,其中上述最大升级资源需求是上述当前版本文件大小、上述增量差异文件大小及上述目标版本文件大小的一容量总和;以及
根据上述升级流程复原上述目标版本文件,并安装上述目标版本文件;
其中上述处理器比较上述存储器的上述闲置资源及上述最大升级资源需求以决定升级上述应用程序的上述升级流程还包括:
判断上述存储器的上述闲置资源是否大于且等于上述最大升级资源需求;
当判断上述存储器的上述闲置资源大于且等于上述最大升级资源需求时,执行一第一升级流程;
当判断上述存储器的上述闲置资源小于上述最大升级资源需求时,判断上述存储器的上述闲置资源是否大于上述当前版本文件大小及上述增量差异文件大小的一总和;
当判断上述存储器的上述闲置资源大于上述当前版本文件大小及上述增量差异文件大小的上述总和时,执行一第四升级流程;以及
当判断上述存储器的上述闲置资源不大于上述当前版本文件大小及上述增量差异文件大小的上述总和时,执行一第三升级流程;
其中上述存储器的一写入速度大于上述存储器的一读取速度。
16.如权利要求15所述的增量升级的装置,其中由上述处理器所执行的上述第四升级流程包括:
读取对应上述应用程序的上述当前版本文件至上述闲置资源;
读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据上述当前版本文件及上述增量差异文件分批复原上述目标版本文件。
17.如权利要求15所述的增量升级的装置,其中由上述处理器所执行的上述第三升级流程包括:
分批读取对应上述应用程序的上述当前版本文件至上述闲置资源;
分批读取对应上述应用程序的上述增量差异文件至上述闲置资源;以及
根据每批上述当前版本文件及每批上述增量差异文件分批复原为上述目标版本文件。
18.如权利要求15所述的增量升级的装置,其中上述增量升级包还包括一文件校验值,而上述处理器根据上述升级流程复原上述目标版本文件还包括:
根据上述文件校验值检测被复原的上述目标版本文件是否正确;以及
当检测到被复原的上述目标版本文件不正确时,停止上述升级流程。
CN201810077283.8A 2018-01-26 2018-01-26 增量升级的方法及装置 Active CN110083381B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810077283.8A CN110083381B (zh) 2018-01-26 2018-01-26 增量升级的方法及装置
TW107104499A TWI648966B (zh) 2018-01-26 2018-02-08 增量升級的方法及裝置
US16/204,030 US11003438B2 (en) 2018-01-26 2018-11-29 Method and device for incremental upgrade

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810077283.8A CN110083381B (zh) 2018-01-26 2018-01-26 增量升级的方法及装置

Publications (2)

Publication Number Publication Date
CN110083381A CN110083381A (zh) 2019-08-02
CN110083381B true CN110083381B (zh) 2023-04-28

Family

ID=65803602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810077283.8A Active CN110083381B (zh) 2018-01-26 2018-01-26 增量升级的方法及装置

Country Status (3)

Country Link
US (1) US11003438B2 (zh)
CN (1) CN110083381B (zh)
TW (1) TWI648966B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
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
CN110837392A (zh) * 2019-11-06 2020-02-25 四川天邑康和通信股份有限公司 一种iptv或融合网关的自适应差分升级的方法及系统
CN113641376A (zh) * 2020-05-11 2021-11-12 深圳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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391728A (zh) * 2014-12-12 2015-03-04 北京奇虎科技有限公司 软件升级差量包获取方法和相应的升级方法以及装置
CN104991791A (zh) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 一种文件的增量升级发布方法和装置
CN105045631A (zh) * 2015-07-30 2015-11-11 北京奇虎科技有限公司 一种升级客户端侧应用程序的方法和装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
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
JPWO2003083647A1 (ja) * 2002-04-01 2005-08-04 株式会社エヌ・ティ・ティ・ドコモ 通信端末のソフトウェア更新方法、通信端末、及びソフトウェア更新システム
TWI275999B (en) * 2002-05-23 2007-03-11 Htc Corp Method for updating software of an embedded device
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
US20120209654A1 (en) * 2011-02-11 2012-08-16 Avaya Inc. Mobile activity assistant analysis
US9128798B2 (en) * 2012-10-17 2015-09-08 Movimento Group Module updating device
CN103051723B (zh) * 2012-12-27 2016-08-31 广州市动景计算机科技有限公司 一种增量升级方法及服务器、终端
US20160267273A1 (en) * 2013-11-06 2016-09-15 Mitsubishi Electric Corporation Software update apparatus and computer-readable storage medium storing software update program
TWI518595B (zh) * 2014-03-17 2016-01-21 廣達電腦股份有限公司 軟體更新方法及系統以及行動裝置
EP2955629B1 (en) * 2014-06-11 2021-10-27 Home Control Singapore Pte. Ltd. System for installing new firmware on a small-memory device
CN105808284B (zh) * 2014-12-31 2019-10-22 广州市动景计算机科技有限公司 一种增量升级方法及应用其的服务器
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 한국전자통신연구원 펌웨어 업데이트 장치 및 방법, 그리고 펌웨어 업데이트 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391728A (zh) * 2014-12-12 2015-03-04 北京奇虎科技有限公司 软件升级差量包获取方法和相应的升级方法以及装置
CN104991791A (zh) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 一种文件的增量升级发布方法和装置
CN105045631A (zh) * 2015-07-30 2015-11-11 北京奇虎科技有限公司 一种升级客户端侧应用程序的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
yili gong.A distributed File system with variable sized object for enhanced random writes.《the computer journal》.2016,第1536-1550页. *
孙亚京.TM反病毒软件服务器增量升级的设计与实现.《cnki优秀硕士学位论文全文库 信息科技辑》.2015,(第04期),第I138-539页. *

Also Published As

Publication number Publication date
US11003438B2 (en) 2021-05-11
CN110083381A (zh) 2019-08-02
TW201933829A (zh) 2019-08-16
TWI648966B (zh) 2019-01-21
US20190235859A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
CN110083381B (zh) 增量升级的方法及装置
EP3128421B1 (en) Method, device, and system for achieving java application installation by cloud compilation
JP6649510B2 (ja) パッチアップグレードに基づくファイル処理方法及び機器、端末、並びに記憶媒体
US8667487B1 (en) Web browser extensions
US10447814B2 (en) Joint servicing of software packages
US9680964B2 (en) Programming model for installing and distributing occasionally connected applications
CN112055424B (zh) 电子装置以及切换电子装置的方法
US8589862B2 (en) Application loading
US20100318968A1 (en) Catalog-based software component management
EP3926466A1 (en) Electronic device which prefetches application and method therefor
US20100088448A1 (en) Virtual computing accelerator and program downloading method for server-based virtual computing
US11099915B2 (en) Optimizing startup time for event-driven functions
US20200401384A1 (en) Electronic device and operation method thereof
US20140181810A1 (en) Automatic discovery of externally added devices
CN112115105A (zh) 一种业务处理方法、装置及设备
US8914815B2 (en) Automated framework for tracking and maintaining kernel symbol list types
US11379458B2 (en) Electronic device and data management method thereof
WO2019139740A1 (en) Extensible input stack for processing input device data
CN106775835B (zh) 获取升级文件的方法、服务器及终端
WO2019139738A1 (en) Extensible input stack for processing input device data
US20170277528A1 (en) Application installation system and method for handheld devices
CN114490124A (zh) 调用应用程序编程接口api的方法、装置、设备及介质
US10853085B2 (en) Adjustable performance boot system
CN110580200A (zh) 数据同步方法和装置
US20230289446A1 (en) Secure multi-bios-image system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant