CN111831296A - 应用程序更新方法、终端设备和计算机可读存储介质 - Google Patents

应用程序更新方法、终端设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111831296A
CN111831296A CN201910309159.4A CN201910309159A CN111831296A CN 111831296 A CN111831296 A CN 111831296A CN 201910309159 A CN201910309159 A CN 201910309159A CN 111831296 A CN111831296 A CN 111831296A
Authority
CN
China
Prior art keywords
application program
update
updating
application
information
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.)
Pending
Application number
CN201910309159.4A
Other languages
English (en)
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.)
Tianjin 58daojia Technology Co ltd
Original Assignee
Tianjin 58daojia Technology Co ltd
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 Tianjin 58daojia Technology Co ltd filed Critical Tianjin 58daojia Technology Co ltd
Priority to CN201910309159.4A priority Critical patent/CN111831296A/zh
Publication of CN111831296A publication Critical patent/CN111831296A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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

应用程序更新方法、终端设备和计算机可读存储介质
技术领域
本申请涉及计算机领域,特别涉及一种应用程序更新方法、终端设备和计算机可读存储介质。
背景技术
应用程序(英语:application program)或应用软件(application software),简称应用(app),是计算机软件的主要分类之一,是指为针对用户的某种特殊应用目的所撰写的软件。例如文本处理器、表格处理器、浏览器、媒体播放器、游戏、购物软件、派单软件等等,都可以认为是应用程序。与之应用程序相对应的概念是主要功能为驱动计算机运行的系统程序。应用程序能与计算机及其系统软件相捆绑,也可以被分开发布,并且可能以私有、开源或通用项目的形式编写。为移动平台所编写的应用被称为移动应用。
有一些应用程序是免费的,也有一些是收取费用的。另外应用程序本身免费,而内部所设置的第三方服务收费的情况也很常见,例如快递、外卖这一类的派单程序,或购物程序。在目前的移动端的技术中,用户通常从应用商店下载应用程序到目标移动设备,然后进行安装。有的付费应用在应用商店下载时就已经收取,而另外一些付费应用则在使用过程中由用户实时支付。
作为计算机程序,不可避免地会存在漏洞,随着应用程序的更新,新版本的应用程序往往会对这些漏洞进行修复。然而在一些情形中,用户有可能倾向于使用旧版本的程序以利用这些漏洞。另外,未能及时更新也容易导致漏洞被黑客利用,降低了应用程序的安全性。
发明内容
为了解决上述问题或至少部分地解决上述技术问题,在本申请的一个实施方式中,提供了一种应用程序更新方法,包括:
所述应用程序在启动时无法连接网络,而在启动后运行中能够连接网络的情况下,启动获取步骤:
获取步骤:通过可用网络获取所述应用程序的更新信息;
更新步骤:根据所述更新信息更新所述应用程序。
本申请的实施方式还提供了一种终端设备。该终端设备包括:存储器及处理器;其中,
所述存储器,用于存储应用程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述应用程序,以用于:
应用程序在启动时无法连接网络,而在启动后运行中能够连接网络的情况下,通过可用网络获取所述应用程序的更新信息;
根据所述更新信息更新所述应用程序。
本申请的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序在被处理器执行时能够实现前述的应用程序更新方法的步骤。
在本申请的实施方式中,即便应用程序启动时无法连接网络,跳过了更新的时机,也依然能够借助于在应用程序使用的过程中通过可用网络获取所述应用程序的更新信息进行追加更新。相比于现有技术而言,本申请的实施方式能够防止用户通过对网络设置障碍而绕过应用程序的自主更新进程,使用旧版或非法版本从而利用漏洞,提高了应用程序的安全性。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单介绍。显而易见地,下面描述中的附图仅用于示意本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图中未提及的技术特征、连接关系乃至方法步骤。
图1是本申请一实施方式的应用程序更新方法的流程示意图;
图2是本申请另一实施方式提供的用户设备的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施方式一
本申请提供了一种应用程序更新方法。
本申请的发明人发现,绝大多数的应用程序都倾向于在应用程序启动的同时启动更新进程。而用户为了绕过应用程序的更新,针对这一点,往往会考虑在应用程序启动前或启动时关闭终端设备的网络连接,甚至于借助防火墙切断这一时机的网络连接。由于在应用程序启动时,无法搜寻到网络,因此在无法获取到更新信息的前提下应用程序通常会默认自身处于最新的状态,导致过期版本和非法版本的应用程序依然能够长期在线工作。
为解决上述问题,本申请的第一实施方式提供一种应用程序更新方法,参见图1所示,包括:
应用程序在启动时无法连接网络,而在启动后运行中能够连接网络的情况下,启动获取步骤:
获取步骤:通过可用网络获取所述应用程序的更新信息;
更新步骤:根据更新信息更新应用程序。
在获取步骤中,所获取的更新信息可以包括以下内容中的一种或几种:当前应用程序的版本号,更新日期,当前的系统日期,在终端内是否已存在更新包,如若存在,该更新包的版本号、更新日期,远程服务器的对应更新接口是否存在更新包,如若存在,该更新包的版本号、更新日期等等。
在满足更新包的版本号更新,或更新日期相对更近的前提下,则可以进入更新步骤。通常而言,在更新步骤中,应用程序会尝试下载更新包中的内容,或者,若系统禁止了应用程序的内置下载,则应用程序会尝试跳转至应用商店,要求用户手动下载更新包。
在现有技术中,具有多种应用程序的更新机制,包括覆盖安装更新、增量更新、删除后重新安装更新等方式。
对于覆盖安装更新的方式而言,通常,将更新后的文件覆盖在原始文件上,然后重新启动应用程序完成更新。这是目前最常见的更新方式。
对于增量更新的方式而言,有时候无需停止应用程序的运行,而是仅仅将外围的资源、组件释放至指定的路径,在程序页面刷新后,或程序本身重启后调用这些资源,相当于完成了更新。这种方式仅适合与程序的核心功能无关的一些外围的、增量的资源包的更新。
对于删除后重新安装更新的方式而言,有些时候一些旧版的数据已经无法适配于新版的程序,然而程序自身不具备足够的权限或能力删除这些数据时,需要使用这一方法进行更新。这种方式相对较为少见,但依然存在,尤其在个人计算机领域中(例如旧版的office程序,或者是X86版本的一些旧版程序需要更新至X64版时)。
应用程序在更新时,会提示用户即将更新,并提请用户确认。如果用户不确认,视更新的重要程度而言,有可能可以继续使用旧版本的应用程序,也有可能强制退出而禁止用户使用旧版本的应用程序。当然,某些程序也存在不提示而直接进行更新的现象。
在本申请的实施方式的更新步骤中,主要采用的是覆盖安装更新和增量更新这两种更新方式。
在本申请的实施方式中,对于应用程序在启动时的网络状态,可以由操作系统监测,也可以通过应用程序自检。因此可选地,同样参见图1所示,还包括:
起始步骤:响应于应用程序的启动,检测终端的网络连接状态,若网络连接可用,则进入获取步骤,若网络连接不可用,则进入监听步骤;
监听步骤:在应用程序的运行过程中,持续监听应用程序的网络连接状态,若网络连接恢复为可用,则进入获取步骤。
通过应用程序自检时,应用程序的更新过程无需操作系统的介入,需要的权限较低,执行可行性高。
在起始步骤中,应用程序对网络连接的状态的检测可以是主动检测,也可以是被动检测。其中,采用主动检测方式时,应用程序可以向操作系统的控制网络的模块发送查询网络状态的命令,在收到反馈之后获知网络连接是否可用。而采用被动检测方式时,应用程序则被动地监听来自操作系统的网络状态变更“通知”。相比于主动检测方式而言,采用被动检测方式更加省电。
可选地,若在起始步骤中曾进入过获取步骤并执行了更新步骤,则在后续的程序运行中不执行监听步骤。
相比于持续地执行监听步骤而言,显然在确认了应用程序曾进行过更新之后,不再执行监听步骤可以更好地节约电能。
值得一提的是,在起始步骤中曾进入过获取步骤,指的是曾获取过应用程序的更新信息,而并不代表一定要完成了更新步骤。这是因为在覆盖安装更新时,需要停止应用程序的运行,因此完成了更新步骤后再次启动应用程序则代表应用程序已经重新启动并重新运行了一次新的起始步骤。而对于增量更新而言,通常不涉及应用程序的漏洞修复之类的底层的文件,所以不需要停止应用程序,也就是不需要对应用程序进行重启。因此进一步可选地,若在起始步骤中曾进入过获取步骤并执行了更新步骤,且完成了应用程序的不重启增量更新,则在后续的程序运行中不执行监听步骤。
同样可选地,若在监听步骤中进入获取步骤并执行了更新步骤,且完成了应用程序的不重启增量更新,则可以停止监听步骤,直至应用程序被关闭。
另外,可选地,若在获取步骤中,所获取到的更新信息中的应用程序版本信息与当前的应用程序版本信息比对一致,则不执行监听步骤直至应用程序被关闭。
当二者的版本信息一致时,可以认为二者的版本相同,因此不执行监听步骤可以进一步地节约电能,延长终端的续航时间。
在本申请的第一实施方式中,还提供了若干个基于上述应用程序更新方法的应用场景,以作为范例更好地示意本申请的工作原理和过程。
场景一
用户A在汽车上打开应用程序,此时汽车正好经过隧道,网络连接丢失,导致应用程序在启动时无法连接网络。
过了一段时间(如5分钟、10分钟或一小时等)后,汽车离开隧道,网络连接恢复为可用。在检测到网络连接可用之后,应用程序获取更新信息,并根据更新信息提示用户更新应用程序。
场景二
用户B意图使用旧版的,含有漏洞的应用程序,但知道该应用程序会在启动时自动更新。因此用户B关闭了系统的网络连接,并打开应用程序。
过了一段时间后,由于应用程序需要联网才能实现完整的功能,因此用户B恢复了系统的网络连接。在监听到网络连接可用之后,应用程序获取更新信息,并根据更新信息提示用户更新应用程序。
用户B拒绝更新应用程序,应用程序将自动关闭,无法使用。
另外,应用程序还可以预先下载好更新包,在下一次启动时即便离线也能够自动执行更新程序。
综上所述,在本申请的实施方式中,即便应用程序启动时无法连接网络,跳过了更新的时机,也依然能够借助于在应用程序使用的过程中通过可用网络获取所述应用程序的更新信息进行追加更新。相比于现有技术而言,本申请的实施方式能够防止用户通过对网络设置障碍而绕过应用程序的自主更新进程,使用旧版或非法版本从而利用漏洞,提高了应用程序的安全性。
实施方式二
本申请的第二实施方式提供了一种应用程序更新方法,第二实施方式的应用程序更新方法是第一实施方式的应用程序更新方法的进一步改进,主要改进之处在于,在本申请的第二实施方式中,获取步骤所获取的更新信息包括更新等级信息;
更新等级信息至少包括强制级、推荐级两个等级;
其中,若在获取步骤中,所获取到的更新信息的更新等级信息为强制级,则进入更新步骤;
而若在获取步骤中,所获取到的更新信息的更新等级信息为推荐级,则下载更新数据包,并存储于本地,以在应用程序的下一次启动时进入更新步骤。
通过设置两种或以上的更新等级,可以对更新的强制性形成区分。例如,对于修补了漏洞的更新版本而言,可以将更新等级设置为强制级,从而严格地要求用户及时更新应用程序的版本。
因此进一步地,若更新等级为强制级,在更新步骤中,若用户取消更新,则直接关闭应用程序,以禁止用户使用带有漏洞的旧版应用程序,提高安全性。或者,若更新等级为强制级,在更新步骤中,不经过用户的确认,直接对应用程序执行更新动作。
而反之,若更新等级为推荐级,则允许用户取消更新,甚至可以建议用户在Wifi环境而非流量环境下进行更新,以节约用户的上网费用。
另外,作为本实施方式的一种替代方案,在获取步骤中,获取到的更新信息还可以包括对当前应用程序版本的评估信息。在评估信息中,可以对当前的版本进行评估,看是否为存在漏洞的高危版本。
若是,则更新的方式可以参考前文对强制级更新的处理,若否,则更新的方式可以参考前文对推荐级更新的处理。
另外,可选地来说,还可以对更新等级进行调整,以更好地保障安全性,防止旧版应用蒙混过关。具体地,在获取步骤中,若符合以下条件中的任意一项,则调整更新等级为强制级:
上一次更新时间与系统当前时间的间隔超过预设时长;
获取到的更新信息中的应用程序版本信息与当前的应用程序版本信息相比,版本号之差大于或等于预设值。
其中,可选地,预设时长大于或等于两周且小于或等于两个月。
其中,可选地,预设值大于或等于0.02且小于或等于1。
对于当下快节奏的互联网产品开发周期而言,通常一个月左右就能迎来一次较大幅度的版本更新,这期间版本号往往发生两次到三次的变动。因此,将预设时长和预设值设置在这两个幅度范围内,能够更好地保障安全性。
在本申请的第二实施方式中,同样提供了若干个基于上述应用程序更新方法的应用场景,以作为范例更好地示意本申请的工作原理和过程。
场景三
用户C在汽车上打开应用程序,此时汽车正好经过隧道,网络连接丢失,导致应用程序在启动时无法连接网络。
过了一小段时间后,汽车离开隧道,网络连接恢复为可用。在检测到网络连接可用之后,应用程序获取更新信息。
应用程序所获取到的更新信息的评级为推荐级,在应用程序的界面上弹出了更新提示。用户C考虑到汽车上网络不通畅,而且流量费用高昂,选择了“下次更新”。
用户C回到家中,连上了Wifi之后,应用程序完成了更新动作。
场景四
用户D意图使用旧版的,含有漏洞的应用程序,但知道该应用程序会在启动时自动更新。因此用户D关闭了系统的网络连接,并打开应用程序。
过了一小段时间后,由于应用程序需要联网才能实现完整的功能,因此用户D恢复了系统的网络连接。在监听到网络连接可用之后,应用程序获取更新信息。
应用程序所获取到的更新信息的评级为强制级,在应用程序的界面上弹出了更新提示。若用户D拒绝更新应用程序,则应用程序将自动关闭,无法使用。
另外,应用程序还可以预先下载好更新包,在下一次启动时即便离线也能够自动执行更新程序。
综上所述,通过为应用程序的更新进行评级,可以在减少对用户的打扰的前提下提高应用程序的安全性,并能够通过及时的更新为用户提供更加丰富多彩的新功能。
实施方式三
本发明的第三实施方式提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现第一或第二实施方式的方法的步骤。
借助计算机程序能够自动化地完成上述步骤,提高效率。
本实施方式所指的处理器可以是中央处理单元(Central Processing Unit,CPU),但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、状态机、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Appl ication SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
在一个或多个示例性实施方式中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或借其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。作为替换方案,存储介质可以被整合到处理器中。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。或者在替换方案中,处理器和存储介质也可作为分立组件驻留在用户终端中。
实施方式四
本申请的第四实施方式还提供了一种装有应用程序的终端,其包括:
应用程序在启动时无法连接网络,而在启动后运行中能够连接网络的情况下,启动获取模块:
获取模块,用于通过可用网络获取所述应用程序的更新信息;
更新模块,与获取模块通信连接,根据更新信息更新应用程序。
获取模块所获取的更新信息可以包括以下内容中的一种或几种:当前应用程序的版本号,更新日期,当前的系统日期,在终端内是否已存在更新包,如若存在,该更新包的版本号、更新日期,远程服务器的对应更新接口是否存在更新包,如若存在,该更新包的版本号、更新日期等等。
在满足更新包的版本号以及更新日期相对应用程序更加“新”的前提下,则可以进行更新。通常而言,在更新模块工作时,应用程序会尝试下载更新包中的内容,或者,若系统禁止了应用程序的内置下载,则应用程序会尝试跳转至应用商店,要求用户手动下载更新包。
在现有技术中,具有多种应用程序的更新机制,包括覆盖安装更新、增量更新、删除后重新安装更新等方式。
对于覆盖安装更新的方式而言,将更新后的文件覆盖在原始文件上,然后重新启动应用程序完成更新。这是目前最常见的更新方式。
对于增量更新的方式而言,有时候无需停止应用程序的运行,而是仅仅将外围的资源、组件释放至指定的路径,在程序页面刷新后,或程序本身重启后调用这些资源,相当于完成了更新。这种方式仅适合与程序的核心功能无关的一些外围的、增量的资源包的更新。
对于删除后重新安装更新的方式而言,有些时候一些旧版的数据已经无法适配于新版的程序,然而程序自身不具备足够的权限或能力删除这些数据时,需要使用这一方法进行更新。这种方式相对较为少见,但依然存在,尤其在个人计算机领域中(例如旧版的office程序,或者是X86版本的一些旧版程序需要更新至X64版时)。
应用程序在更新时,会提示用户即将更新,并提请用户确认。如果用户不确认,视更新的重要程度而言,有可能可以继续使用旧版本的应用程序,也有可能强制退出而禁止用户使用旧版本的应用程序。当然,某些程序也存在不提示而直接进行更新的现象。
在本申请的实施方式的更新步骤中,主要采用的是覆盖安装更新和增量更新这两种更新方式。
在本申请的实施方式中,对于应用程序在启动时的网络状态,可以由操作系统监测,也可以通过应用程序自检。因此可选地,这一终端还可以包括:
监听模块,与获取模块通信连接,用于在应用程序启动时,检测终端的网络连接状态,若网络连接可用,则通知获取模块通过可用网络获取所述应用程序的更新信息,若网络连接不可用,则在应用程序的运行过程中,持续监听应用程序的网络连接状态,若网络连接恢复为可用,则通知获取模块通过可用网络获取所述应用程序的更新信息。
由应用程序自检时,应用程序的更新过程无需操作系统的介入,需要的权限较低,执行可行性高。
应用程序对网络连接的状态的检测可以是主动检测,也可以是被动检测。其中,采用主动检测方式时,应用程序可以向操作系统的控制网络的模块发送查询网络状态的命令,在收到反馈之后获知网络连接是否可用。而采用被动检测方式时,应用程序则被动地监听来自操作系统的网络状态变更“通知”。相比于主动检测方式而言,采用被动检测方式更加省电。
可选地,若获取模块曾在应用程序启动时获取过应用程序的更新信息,则监听模块在后续的过程中不再持续监听应用程序的网络连接状态。
相比于监听模块持续地进行监听而言,显然在确认了应用程序曾进行过更新之后,不再监听可以更好地节约电能。
可选地,若获取模块曾在应用程序启动时获取过应用程序的更新信息,且更新模块完成了应用程序的不重启增量更新,则监听模块在后续的过程中不再持续监听应用程序的网络连接状态。
可选地,若更新模块完成了应用程序的不重启增量更新,则监听模块在后续的过程中不再持续监听应用程序的网络连接状态。
可选地,若获取模块所获取到的更新信息中的应用程序版本信息与当前的应用程序版本信息比对一致,则监听模块在后续的过程中不再持续监听应用程序的网络连接状态,直至应用程序被关闭。
当二者的版本信息一致时,可以认为二者的版本相同,因此不再监听也可以进一步地节约电能,延长终端的续航时间。
另外,可选地,获取模块所获取的更新信息包括更新等级信息;
更新等级信息至少包括强制级、推荐级两个等级;
其中,若获取模块所获取到的更新信息的更新等级信息为强制级,则更新模块根据更新信息更新应用程序;
而若获取模块所获取到的更新信息的更新等级信息为推荐级,则更新模块在后台下载更新数据包,并在应用程序的下一次启动时更新应用程序。
通过设置两种或以上的更新等级,可以对更新的强制性形成区分。例如,对于修补了漏洞的更新版本而言,可以将更新等级设置为强制级,从而严格地要求用户及时更新应用程序的版本。
因此进一步地,若更新等级为强制级,在更新模块工作时,若用户取消更新,则直接关闭应用程序,以禁止用户使用带有漏洞的旧版应用程序,提高安全性。或者,若更新等级为强制级,在更新模块工作时,不经过用户的确认,直接对应用程序执行更新动作。
而反之,若更新等级为推荐级,则允许用户取消更新,甚至可以建议用户在Wifi环境而非流量环境下进行更新,以节约用户的上网费用。
另外,作为本实施方式的一种替代方案,在获取步骤中,获取到的更新信息还可以包括对当前应用程序版本的评估信息。在评估信息中,可以对当前的版本进行评估,看是否为存在漏洞的高危版本。
若是,则更新的方式可以参考前文对强制级更新的处理,若否,则更新的方式可以参考前文对推荐级更新的处理。
另外,可选地来说,还可以对更新等级进行调整,以更好地保障安全性,防止旧版应用蒙混过关。具体地,若获取模块所获取的更新信息符合以下条件中的任意一项,则调整更新等级为强制级:
上一次更新时间与系统当前时间的间隔超过预设时长;
获取到的更新信息中的应用程序版本信息与当前的应用程序版本信息相比,版本号之差大于或等于预设值。
可选地,预设时长大于或等于两周且小于或等于两个月。
可选地,预设值大于或等于0.02且小于或等于1。
对于当下快节奏的互联网产品开发周期而言,通常一个月左右就能迎来一次较大幅度的版本更新,这期间版本号往往发生两次到三次的变动。因此,将预设时长和预设值设置在这两个幅度范围内,能够更好地保障安全性。
因此,通过为应用程序的更新进行评级,可以在减少对用户的打扰的前提下提高应用程序的安全性,并能够通过及时的更新为用户提供更加丰富多彩的新功能。
前文所述的四个应用场景同样适用于本实施方式。
综上所述,在本申请的实施方式中,即便应用程序启动时无法连接网络,跳过了更新的时机,也依然能够借助于在应用程序使用的过程中通过可用网络获取所述应用程序的更新信息进行追加更新。相比于现有技术而言,本申请的实施方式能够防止用户通过对网络设置障碍而绕过应用程序的自主更新进程,使用旧版或非法版本从而利用漏洞,提高了应用程序的安全性。
图2示出了本申请另一实施方式提供的终端设备的结构框图。该终端设备包括:存储器1及处理器2。其中,所述存储器1,用于存储应用程序;所述处理器2,与所述存储器1耦合,用于执行所述存储器1中存储的所述应用程序,以用于:
应用程序在启动时无法连接网络,而在启动后运行中能够连接网络的情况下,通过可用网络获取所述应用程序的更新信息;
根据所述更新信息更新所述应用程序。
上述存储器1可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述处理器2在执行存储器1中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图2所示,终端设备还可包括:显示器4、电源组件5、音频组件6等其它组件。图2中仅示意性给出部分组件,并不意味着客户端设备只包括图2所示组件。
最后,本领域的普通技术人员可以理解,在上述的各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于上述各实施方式的种种变化和修改,也可以基本实现本申请各权利要求所要求保护的技术方案。因此,在实际应用中,可以在形式上和细节上对上述实施方式作各种改变,而不偏离本申请的精神和范围。
应当理解,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本申请实施例中可能采用术语第一、第二、第三等来描述某些部件,但这些部件不应仅仅被限于定于这些术语中。这些术语仅用来将各部件彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一某某部件也可以被称为第二某某部件,类似地,第二某某部件也可以被称为第一某某部件。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于监测”。类似地,取决于语境,短语“如果确定”或“如果监测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当监测(陈述的条件或事件)时”或“响应于监测(陈述的条件或事件)”。
在本申请的实施方式中,“大体上等于”、“大体上垂直于”、“大体上对称”等等的意思是,所指的两个特征之间在宏观上的尺寸或相对位置关系十分接近于所述及的关系。然而本领域技术人员清楚,由于误差、公差等客观因素的存在而使得物体的位置关系在小尺度乃至微观角度难以被正好约束。因此即使二者之间的尺寸、位置关系稍微存在点误差,也并不会对本申请的技术效果的实现产生较大影响。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
在上述的各实施方式中,尽管为使解释简单化将上述方法图示并描述为一系列动作,但是本领域的普通技术人员应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将可理解,信息、信号和数据可使用各种不同技术和技艺中的任何技术和技艺来表示。例如,以上描述通篇引述的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光学粒子、或其任何组合来表示。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、单元、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、单元、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本申请的范围。
在上述的各实施方式中,尽管为使解释简单化将上述方法图示并描述为一系列动作,但是本领域的普通技术人员应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
另外,本领域的普通技术人员可以理解,为了使读者更好地理解本申请,本发明的实施方式提出了许多技术细节。但是,即使没有这些技术细节和基于上述各实施方式的种种变化和修改,也可以基本实现本申请各权利要求所要求保护的技术方案。因此,在实际应用中,可以在形式上和细节上对上述实施方式作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种应用程序更新方法,其特征在于,包括:
所述应用程序在启动时无法连接网络,而在启动后运行中能够连接网络的情况下,启动获取步骤:
获取步骤:通过可用网络获取所述应用程序的更新信息;
更新步骤:根据所述更新信息更新所述应用程序。
2.根据权利要求1所述的应用程序更新方法,其特征在于,还包括:
起始步骤:响应于应用程序的启动,检测终端的网络连接状态,若网络连接可用,则进入所述获取步骤,若网络连接不可用,则进入所述监听步骤;
监听步骤:在应用程序的运行过程中,持续监听应用程序的网络连接状态,若网络连接恢复为可用,则进入所述获取步骤。
3.根据权利要求2所述的应用程序更新方法,其特征在于,若在所述起始步骤中曾进入过所述获取步骤,则在后续的程序运行中不执行所述监听步骤。
4.根据权利要求3所述的应用程序更新方法,其特征在于,若在所述起始步骤中曾进入过所述获取步骤并执行了更新步骤,且完成了应用程序的不重启增量更新,则在后续的程序运行中不执行所述监听步骤。
5.根据权利要求2所述的应用程序更新方法,其特征在于,若在所述监听步骤中进入所述获取步骤并执行了更新步骤,且完成了应用程序的不重启增量更新,则停止所述监听步骤直至应用程序被关闭。
6.根据权利要求1所述的应用程序更新方法,其特征在于,所述获取步骤所获取的更新信息包括更新等级信息;
所述更新等级信息包括强制级、推荐级两个等级;
其中,若在所述获取步骤中,所获取到的更新信息的更新等级信息为强制级,则进入所述更新步骤;
而若在所述获取步骤中,所获取到的更新信息的更新等级信息为推荐级,则下载更新数据包,并存储于本地,以在应用程序的下一次启动时进入所述更新步骤。
7.根据权利要求6所述的应用程序更新方法,其特征在于,在所述获取步骤中,若符合以下条件中的任意一项,则调整更新等级为强制级:
上一次更新时间与系统当前时间的间隔超过预设时长;
获取到的更新信息中的应用程序版本信息与当前的应用程序版本信息相比,版本号之差大于或等于预设值。
8.根据权利要求1至7中任意一项所述的应用程序更新方法,其特征在于,若在所述获取步骤中,所获取到的更新信息中的应用程序版本信息与当前的应用程序版本信息比对一致,则不执行所述监听步骤直至应用程序被关闭。
9.一种终端设备,其特征在于,包括:存储器及处理器;其中,
所述存储器,用于存储应用程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述应用程序,以用于:
应用程序在启动时无法连接网络,而在启动后运行中能够连接网络的情况下,通过可用网络获取所述应用程序的更新信息;
根据所述更新信息更新所述应用程序。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时能够实现如权利要求1至8中任意一项所述的应用程序更新方法的步骤。
CN201910309159.4A 2019-04-17 2019-04-17 应用程序更新方法、终端设备和计算机可读存储介质 Pending CN111831296A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910309159.4A CN111831296A (zh) 2019-04-17 2019-04-17 应用程序更新方法、终端设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910309159.4A CN111831296A (zh) 2019-04-17 2019-04-17 应用程序更新方法、终端设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111831296A true CN111831296A (zh) 2020-10-27

Family

ID=72914353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910309159.4A Pending CN111831296A (zh) 2019-04-17 2019-04-17 应用程序更新方法、终端设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111831296A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928460B2 (en) 2022-04-20 2024-03-12 International Business Machines Corporation Dynamic update of a computer program in memory
CN117729561A (zh) * 2023-06-29 2024-03-19 荣耀终端有限公司 系统升级方法、终端及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309694A (zh) * 2012-03-14 2013-09-18 腾讯科技(深圳)有限公司 应用程序更新方法和装置
CN105262890A (zh) * 2015-09-09 2016-01-20 捷开通讯科技(上海)有限公司 便携式电子装置应用程序的信息更新控制系统与方法
CN106648761A (zh) * 2016-12-01 2017-05-10 武汉斗鱼网络科技有限公司 在qt程序中自动更新的方法及装置
CN107566644A (zh) * 2017-09-01 2018-01-09 洛阳市恒凯网络技术服务有限公司 一种应用程序app更新的检测方法
CN107608706A (zh) * 2017-09-26 2018-01-19 南京哈卢信息科技有限公司 一种基于功能模块的应用程序自动热更新方法
CN108459865A (zh) * 2018-01-25 2018-08-28 成都贝发信息技术有限公司 一种应用程序app更新的检测方法
CN108845816A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 应用程序更新方法、系统、计算机设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309694A (zh) * 2012-03-14 2013-09-18 腾讯科技(深圳)有限公司 应用程序更新方法和装置
CN105262890A (zh) * 2015-09-09 2016-01-20 捷开通讯科技(上海)有限公司 便携式电子装置应用程序的信息更新控制系统与方法
CN106648761A (zh) * 2016-12-01 2017-05-10 武汉斗鱼网络科技有限公司 在qt程序中自动更新的方法及装置
CN107566644A (zh) * 2017-09-01 2018-01-09 洛阳市恒凯网络技术服务有限公司 一种应用程序app更新的检测方法
CN107608706A (zh) * 2017-09-26 2018-01-19 南京哈卢信息科技有限公司 一种基于功能模块的应用程序自动热更新方法
CN108459865A (zh) * 2018-01-25 2018-08-28 成都贝发信息技术有限公司 一种应用程序app更新的检测方法
CN108845816A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 应用程序更新方法、系统、计算机设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928460B2 (en) 2022-04-20 2024-03-12 International Business Machines Corporation Dynamic update of a computer program in memory
CN117729561A (zh) * 2023-06-29 2024-03-19 荣耀终端有限公司 系统升级方法、终端及存储介质
CN117729561B (zh) * 2023-06-29 2024-09-27 荣耀终端有限公司 系统升级方法、终端及存储介质

Similar Documents

Publication Publication Date Title
EP2641175B1 (en) Networked recovery system
US7395455B2 (en) System, method and program product for recovering from a failure
CN109213667A (zh) 一种Android系统的异常处理方法及电子设备
CN103810416A (zh) 一种软件安装或卸载方法及装置
CN103714287A (zh) 一种获取临时Root权限的方法及装置
CN104036194B (zh) 一种应用程序中泄露隐私数据的漏洞检测方法及装置
US11645086B2 (en) System and method for implementing a filesystem agent management solution
CN111831296A (zh) 应用程序更新方法、终端设备和计算机可读存储介质
CN103701778A (zh) 移动终端中隐私信息的保护系统和方法
CN111026581A (zh) 应用程序的修复方法及装置、系统、存储介质、电子装置
CN106095474A (zh) 用于更新运输工具中的软件的方法和装置
CN103634668A (zh) 智能电视中的系统升级方法和装置
US9122687B2 (en) Crash recovery for attended operating system installations
CN117055501A (zh) 可信dcs上位机系统的部署方法、系统、设备及存储介质
CN109428936B (zh) App的升级方法、装置、系统、电子设备及存储介质
CN112527371B (zh) 一种引导加载程序升级方法、装置、电子设备及存储介质
CN110659052B (zh) 网络设备中系统软件的更新方法、系统及可读存储介质
CN105183508B (zh) 容器系统内应用程序的监控方法以及智能终端
CN113885921A (zh) 一种嵌入式系统更新的方法及设备
CN113282363A (zh) 一种优化混合app的方法及装置
CN113703797B (zh) 一种行业安全终端的系统升级方法
US11714744B2 (en) System and method for diagnosing a computing device in safe mode
CN116707819B (zh) 一种车辆ota升级安全机制的构建方法
CN102681862A (zh) 新型应用软件便捷安装方法
US9159086B1 (en) System and method to install mobile applications from a desktop

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