CN107391173A - 应用程序的更新方法、存储介质和终端 - Google Patents
应用程序的更新方法、存储介质和终端 Download PDFInfo
- Publication number
- CN107391173A CN107391173A CN201710449086.XA CN201710449086A CN107391173A CN 107391173 A CN107391173 A CN 107391173A CN 201710449086 A CN201710449086 A CN 201710449086A CN 107391173 A CN107391173 A CN 107391173A
- Authority
- CN
- China
- Prior art keywords
- application program
- terminal
- control instruction
- renewal bag
- renewal
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种应用程序的更新方法、存储介质和终端。其中,该方法包括:接收来自于服务端的第一控制指令,其中,第一控制指令用于指示终端在预设时间范围内对终端上已安装的应用程序进行更新;根据第一控制指令在预设时间范围内对应用程序进行更新。本发明解决了相关技术中所提供的通过人工现场在终端设备上升级应用程序的方式效率低下、耗时较长、且需要耗费大量的人力与物力的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种应用程序的更新方法、存储介质和终端。
背景技术
目前,相关技术中针对户外大屏广告机、无人贩售机、魔镜等物联网终端设备,在终端内部的应用程序安装与升级过程中,需要派遣相关技术人员赶往终端设备所在的实际位置,对应用程序安装与升级进行现场操作。另外,在特定情况下,受困于终端设备的生产年代、型号、结构、硬件配置等综合因素影响,即便相关技术人员在终端设备现场操作也仍然无法完成应用程序的安装与升级,因而仅能采取商家召回终端设备进行硬件升级或者直接更换全新的终端设备来满足用户需求。然而,这种应用程序安装与升级的工作方式效率低下,耗时较长,且需要耗费大量的人力与物力。
随着物联网技术的飞速发展,大量的物联网智能终端设备不断涌现,这些物联网智能终端设备能够快速地接入到互联网中。但是,在终端设备使用过程中,时常会出现系统维护或功能升级等问题,以尽可能满足人们日益增长的物质文化与精神文化需求。因此,如何能够安全高效、简洁经济的实现应用程序的个性化升级将成为亟待解决的技术难题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序的更新方法、存储介质和终端,以至少解决相关技术中所提供的通过人工现场在终端设备上升级应用程序的方式效率低下、耗时较长、且需要耗费大量的人力与物力的技术问题。
根据本发明的其中一实施例,提供了一种应用程序的更新方法,包括:
接收来自于服务端的第一控制指令,其中,第一控制指令用于指示终端在预设时间范围内对终端上已安装的应用程序进行更新;根据第一控制指令在预设时间范围内对应用程序进行更新。
可选地,根据第一控制指令在预设时间范围内对应用程序进行更新包括:确定当前时间点是否包含在预设时间范围内;如果是,则根据第一控制指令获取待下载的更新包,并采用更新包对应用程序进行更新;否则,在预设时间范围内的预设时间点设置定时提醒任务,以及根据第一控制指令获取待下载的更新包,并在定时提醒任务的提示下确定到达预设时间点时,采用更新包对应用程序进行更新。
可选地,第一控制指令中携带的信息至少包括:更新包的存储位置信息、更新包的完整性校验信息;根据第一控制指令获取更新包,并采用更新包对应用程序进行更新包括:根据存储位置信息在终端上获取更新包;通过完整性校验信息在终端上对更新包进行完整性校验;在校验成功且更新包的版本号大于应用程序的版本号的情况下,在终端上采用更新包对应用程序进行更新。
可选地,第一控制指令中携带的信息至少包括:更新包的存储位置信息、更新包的完整性校验信息;根据第一控制指令获取更新包,并采用更新包对应用程序进行更新包括:根据存储位置信息查找更新包并在服务端上对更新包的版本号与应用程序的版本号进行比较;当更新包的版本号大于应用程序的版本号的情况下,在终端上获取更新包;通过完整性校验信息在终端上对更新包进行完整性校验;在校验成功的情况下,在终端上采用更新包对应用程序进行更新。
可选地,第一控制指令中携带的信息至少包括:更新包的存储位置信息、更新包的完整性校验信息、强制升级指示信息;根据第一控制指令获取更新包,并采用更新包对应用程序进行更新包括:根据存储位置信息获取更新包;通过完整性校验信息对更新包进行完整性校验;在校验成功的情况下,按照强制升级指示信息,采用更新包对应用程序进行更新。
可选地,在对应用程序进行更新的过程中,跳过鉴权交互流程,将更新包安装至终端。
可选地,在根据第一控制指令在预设时间范围内对应用程序进行更新之后,还包括:向服务端发送通知消息,其中,通知消息用于表示应用程序更新成功;重新启动更新后的应用程序;当重新启动更新后的应用程序的次数超过预设阈值时,更新后的应用程序仍未启动成功,则重新执行应用程序更新流程。
可选地,在接收来自于服务端的第一控制指令之前,还包括:接收来自于服务端的第二控制指令,其中,第二控制指令用于指示终端在预设时间范围内安装应用程序;根据第二控制指令在预设时间范围内对应用程序进行安装。
根据本发明的其中一实施例,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述应用程序的更新方法。
根据本发明的其中一实施例,还提供了一种终端,包括:处理器;以及存储器,与处理器连接,用于为处理器提供执行以下处理过程的指令:接收来自于服务端的第一控制指令,其中,第一控制指令用于指示终端在预设时间范围内对终端上已安装的应用程序进行更新;根据第一控制指令在预设时间范围内对应用程序进行更新。
在本发明实施例中,采用服务端向终端发送第一控制指令的方式,通过第一控制指令指示终端在预设时间范围内对终端上已安装的应用程序进行更新,达到了在预设时间范围内服务端对终端上已安装的应用程序进行远程升级的目的,从而实现了降低在终端上升级应用程序的操作复杂度、减少在终端上升级应用程序的操作成本、提升在终端上升级应用程序的操作效率的技术效果,此外,通过服务端灵活地配置预设时间范围,可以为终端提供个性化定制的更新服务,进而解决了相关技术中所提供的通过人工现场在终端设备上升级应用程序的方式效率低下、耗时较长、且需要耗费大量的人力与物力的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1根据本发明其中一实施例的一种用于实现应用程序的更新方法的终端的硬件结构框图;
图2是根据本发明其中一实施例的应用程序的更新方法的流程图;
图3是根据本发明其中一优选实施例的应用程序的更新方法的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,还提供了一种应用程序的更新方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。具体地,可以适用于户外大屏广告机、无人贩售机、魔镜等物联网终端设备。图1根据本发明其中一实施例的一种用于实现应用程序的更新方法的终端的硬件结构框图。如图1所示,终端10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口和/或电源。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到终端10(或移动设备)中的其他元件中的任意一个内。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的应用程序的更新方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的更新方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在另外一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与终端10的用户界面进行交互。
在上述运行环境下,本申请提供了如图2所示的应用程序的更新方法。图2是根据本发明其中一实施例的应用程序的更新方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S25:接收来自于服务端的第一控制指令,其中,第一控制指令用于指示终端在预设时间范围内对终端上已安装的应用程序进行更新;
步骤S26:根据第一控制指令在预设时间范围内对应用程序进行更新。
通过上述步骤,采用服务端向终端发送第一控制指令的方式,通过第一控制指令指示终端在预设时间范围内对终端上已安装的应用程序进行更新,达到了在预设时间范围内服务端对终端上已安装的应用程序进行远程升级的目的,从而实现了降低在终端上升级应用程序的操作复杂度、减少在终端上升级应用程序的操作成本、提升在终端上升级应用程序的操作效率的技术效果,此外,通过服务端灵活地配置预设时间范围,可以为终端提供个性化定制的更新服务,进而解决了相关技术中所提供的通过人工现场在终端设备上升级应用程序的方式效率低下、耗时较长、且需要耗费大量的人力与物力的技术问题。
需要说明的是,上述应用程序的更新可以包括但不限于:为应用程序增添新功能进而对应用程序的版本执行升级操作,为解决应用程序存在的漏洞进而对应用程序安装补丁操作。
考虑到不同类型终端的工作忙碌时段与工作空闲时段有所差异,因此,服务端可以根据每个终端的工作状态信息差异化设置每个终端对应的预设时间范围,进而提供定制化的应用程序升级服务。
例如:户外大屏广告机在每天上午9点商厦开始营业至每天晚上9点商厦停止营业这段期间,需要连续不间断投放多种类型的广告或者重要通知。因此,户外大屏广告机的工作忙碌时段即为每天上午9点至每天晚上9点这段期间,而工作空闲时段则是每天晚上9点至第二天上午9点这段期间。再例如:设置在地铁内的无人贩售机在每个工作日上午7点至9点的上班时间段以及每个工作日下午5点至7点的下班时间段使用较为频繁,则可以将每个工作日上午7点至9点以及每个工作日下午5点至7点设定为工作忙碌时段,而将其余时段设定为工作空闲时段。综合上述因素考虑,服务端在为户外大屏广告机设置预设时间范围时,便可规避每天上午9点商厦开始营业至每天晚上9点商厦停止营业这段期间,而在为无人贩售机设置预设时间范围时,便可规避每个工作日上午7点至9点以及每个工作日下午5点至7点这段期间。
在实际应用过程中,上述方法可以应用于运行在Android系统下的物联网终端设备中,供物联网终端设备的运营商对自身生产及销售的终端进行远程控制管理。具体地,可供地铁站内无人贩售机的商家对自身生产及销售的无人贩售机上的应用程提供升级服务;还可供展会承办方对自身生产及销售的户外大屏广告机上的应用程提供升级服务。
可选地,在步骤S26中,根据第一控制指令在预设时间范围内对应用程序进行更新可以包括如下执行步骤:
步骤S261:确定当前时间点是否包含在预设时间范围内;
步骤S262:如果确定当前时间点包含在预设时间范围内,则根据第一控制指令获取待下载的更新包,并采用更新包对应用程序进行更新;
步骤S263:如果确定当前时间点未包含在预设时间范围内,则在预设时间范围内的预设时间点设置定时提醒任务,以及根据第一控制指令获取待下载的更新包,并在定时提醒任务的提示下确定到达预设时间点时,采用更新包对应用程序进行更新。
终端在接收到来自于服务端的升级控制指令(即上述第一控制指令)之后,首先需要判断当前时间点是否包含在预设时间范围内。如果终端确定当前时间点包含在预设时间范围内,那么便可以从服务端获取待下载的更新包,并采用更新包对应用程序进行更新。例如:升级控制指令中指示的预设时间范围为下午三点至五点,而终端在下午四点接收到来自于服务端的升级控制指令,此时,终端便可以直接从服务端获取待下载的更新包,并采用更新包对应用程序进行更新。
终端在接收到来自于服务端的升级控制指令之后,如果确定当前时间点尚未包含在预设时间范围内,那么便需要在预设时间范围内的预设时间点设置定时提醒任务。具体地,如果终端上运行的是Android系统,那么便可以使用Android系统设定的AlarmManager机制。即,在预设时间范围内设定一个定时提醒任务(其可以认为是已经设定闹钟响起的时间点)。当该时间点到来时,AlarmManager便可以广播一个已设定的Intent,并通过该intent来触发终端执行应用程序的更新操作,其格式可以采用:AlarmManager类中的方法.set(启动方式,启动时间,启动时发出的Intent)。当定时提醒的时间点到达时,终端可以采用已经从服务端下载到的更新包对应用程序进行更新。例如:升级控制指令中指示的预设时间范围为下午三点至五点,而终端在下午两点接收到来自于服务端的升级控制指令,此时,终端可以在下午四点设置定时提醒任务,然后在下午四点达到时,采用已经从服务端下载到的更新包对应用程序进行更新。
此处,需要说明的是,终端从服务端下载更新包以及终端采用已经从服务端下载到的更新包对应用程序进行更新是两个相互独立的过程。即便终端能够确定当前时间点尚未包含在预设时间范围内,但是依然可以完成更新包的下载操作,然后当定时提醒的时间点到达时,终端可以采用已经从服务端下载到的更新包对应用程序进行更新。当然,终端也可以选择在定时提醒的时间点到达时,再从服务端下载更新包以及采用已下载的更新包对应用程序进行更新。
可选地,上述第一控制指令中携带的信息可以包括但不限于:更新包的存储位置信息、更新包的完整性校验信息;在步骤S262中,根据第一控制指令获取更新包,并采用更新包对应用程序进行更新可以包括以下执行步骤:
步骤S2620:根据存储位置信息在终端上获取更新包;
步骤S2621:通过完整性校验信息在终端上对更新包进行完整性校验;
步骤S2622:在校验成功且更新包的版本号大于应用程序的版本号的情况下,在终端上采用更新包对应用程序进行更新。
需要说明的是,上述步骤S2620-步骤S2622的操作过程同样适用于步骤S263所要实现的应用程序更新过程。
在应用程序更新的过程中,终端可以先通过存储位置信息将更新包从服务端下载至本地。其次,终端可以通过完整性校验信息对更新包进行完整性校验,如果下载的更新包不完整,则需要重新下载更新包。然后,如果经过校验确定更新包下载完整,则终端还需要进一步比较更新包的版本号与应用程序的版本号;最终,在更新包完整性校验成功且更新包的版本号大于应用程序的版本号的情况下,终端采用更新包对应用程序进行更新。
图3是根据本发明其中一优选实施例的应用程序的更新方法的示意图,如图3所示,在商场、广场等人流密集地带,通常会出于广告宣传目的而使用户外大屏广告机或者在街道、地铁站内为方便用户临时购买商品而设置自动贩卖机。当管理者发现原先安装于终端的应用程序存在重大缺陷或者需要添加新功能时,相关技术中仅能通过技术人员到达终端现场,进行重装系统或者现场编程来完成程序升级。然而,通过使用本发明实施例所提供的技术方案,开发人员只需要在办公区域对更新程序进行打包,并上传到服务端管理平台,然后再使用服务端管理平台查看所有接入的物联网终端设备上安装的应用程序的当前版本信息。在需要升级的情况下,可以一键对所有安装相关应用程序的终端进行远程自动升级。因此,管理者通过服务端管理平台即可查看终端的升级状态,其中,升级状态可以包括但不限于:“开始安装”、“安装中”、“安装结束”。另外,管理者还可以对指定终端上安装的应用程序进行升级。
具体地,开发人员针对旧版本的终端应用程序,开发出升级版本的应用程序,并在升级版本的应用程序的配置信息中,设定升级版本的应用程序的版本号高于旧版本应用程序的版本号。最后,开发人员将升级版本的应用程序更新包上传至服务端进行存储。服务端向终端发送升级控制指令,该升级控制指令中携带的信息可以包括但不限于:更新包的存储位置信息(例如:升级版本应用程序的下载地址),更新包的完整性校验信息(例如:升级版本应用程序的MD5校验码)。因此,终端可以根据存储位置信息启动Android系统的DownloadManager机制下载更新包以及通过完整性校验信息对更新包进行完整性校验。如果校验失败,则终端需要重新从服务端下载更新包。此时,可以设定终端从服务端下载更新包的重复下载次数,如果超过预设阈值(例如:3次),则表明服务端可能出现异常或者网络状况不稳定,不适宜继续下载更新包。此时,终端可以停止在当前时间段继续执行下载操作。在终端确定已经成功下载完整的更新包之后,还需要进一步比较更新包的版本号与终端本地安装的应用程序的版本号,在校验成功且更新包的版本号大于应用程序的版本号的情况下,终端将会采用更新包对应用程序进行更新。
可选地,上述第一控制指令中携带的信息可以包括但不限于:更新包的存储位置信息、更新包的完整性校验信息;在步骤S262中,根据第一控制指令获取更新包,并采用更新包对应用程序进行更新可以包括以下执行步骤:
步骤S2623:根据存储位置信息查找更新包并在服务端上对更新包的版本号与应用程序的版本号进行比较;
步骤S2624:当更新包的版本号大于应用程序的版本号的情况下,在终端上获取更新包;
步骤S2625:通过完整性校验信息在终端上对更新包进行完整性校验;
步骤S2626:在校验成功的情况下,在终端上采用更新包对应用程序进行更新。
需要说明的是,上述步骤S2623-步骤S2626的操作过程同样适用于步骤S263所要实现的应用程序更新过程。
如图3所示,考虑到终端从服务端下载的更新包的版本号有可能会低于或者等于终端本地安装的应用程序的版本号,那么如果采用将更新包下载到终端本地再进行完整性校验以及版本号比对,则会在下载过程中占用网络资源以及在校验和比对过程中占用本地资源。为此,还可以采用另外一种更新包下载方式。如果终端根据存储位置信息获取到待下载的更新包的存储位置,那么终端或服务端可以先行比较更新包的版本号与应用程序的版本号,并且只有在更新包的版本号大于应用程序的版本号的情况下,终端根据存储位置信息启动Android系统的DownloadManager机制下载更新包以及通过完整性校验信息对更新包进行完整性校验。在校验成功的情况下,终端将会采用更新包对应用程序进行更新。
可选地,上述第一控制指令中携带的信息可以包括但不限于:更新包的存储位置信息、更新包的完整性校验信息、强制升级指示信息;在步骤S262中,根据第一控制指令获取更新包,并采用更新包对应用程序进行更新可以包括以下执行步骤:
步骤S2627:根据存储位置信息获取更新包;
步骤S2628:通过完整性校验信息对更新包进行完整性校验;
步骤S2629:在校验成功的情况下,按照强制升级指示信息,采用更新包对应用程序进行更新。
如图3所示,服务端向终端发送升级控制指令,该升级控制指令中携带的信息可以包括但不限于:更新包的存储位置信息(例如:升级版本应用程序的下载地址),更新包的完整性校验信息(例如:升级版本应用程序的MD5校验码)以及强制升级指示信息。此时,终端可以根据存储位置信息启动Android系统的DownloadManager机制下载更新包以及通过完整性校验信息对更新包进行完整性校验。在校验成功的情况下,无论更新包的版本号是否大于应用程序的版本号,终端都将会根据强制升级指示信息采用更新包对应用程序进行更新。
在本发明提供的一个优选实施方式中,在对应用程序进行更新的过程中,跳过鉴权交互流程,将更新包安装至终端。即,为了简化终端本地应用程序的升级步骤以及提高终端本地应用程序的升级效率,通过终端Android系统的“无障碍服务”,启动安装程序后,不需要在鉴权界面进行人机交互,直接越过鉴权界面,便可将APK安装到终端上,其中,APK是AndroidPackage的缩写,即Android安装包;通过将APK文件直接传入Android模拟器或在Android终端中执行即可安装。APK文件采用zip格式进行压缩,但后缀名被修改为APK。通过UnZip解压后,可以得到Dex文件,Dex文件是Android Dalvik执行程序。
另外,基于上述分析,终端下载更新包与终端安装更新包可以是两个相互独立的过程。然而,即便终端在前一时间段成功下载过完整的更新包,但是在预设时间范围内进行安装过程中,可能会出现终端当前处于忙碌工作状态或终端出现系统故障从而导致安装失败的现象。为此,需要对重复安装的次数进行统计,在安装失败次数大于预设阈值(例如:3次)的情况下,停止对应用程序进行更新。然后,终端可以将更新包安装失败的信息通知给服务端,以便服务端对预设时间范围进行调整,重新下发升级控制指令。
可选地,在步骤S26,根据第一控制指令在预设时间范围内对应用程序进行更新之后,还可以包括以下执行步骤:
步骤S27:向服务端发送通知消息,其中,通知消息用于表示应用程序更新成功;
步骤S28:重新启动更新后的应用程序;
步骤S29:当重新启动更新后的应用程序的次数超过预设阈值时,更新后的应用程序仍未启动成功,则重新执行应用程序更新流程。
如果终端运行在Android系统下,则可以利用Action为PACKAGE_ADDED来通过广播的形式获取应用程序更新包的安装状态,进而通过应用程序更新包的安装状态来判断更新包是否安装成功。当终端本地监听到指定应用程序的更新包的APK成功安装,在终端侧,当下载安装的应用程序的包名与原应用程序的包名不同时,且安装成功的安装包的版本号与更新包的版本号相同时,说明应用程序的更新成功,便可以向服务端发送通知消息,以告知服务端先前下载的更新包已经安装成功;进一步地,终端还可以Android系统的ActivityManager类中的方法.restartPackage(“包名”)来重新启动应用程序。然而,在应用程序启动过程中,可能会因为终端当前出现异常(例如:中央处理器(CPU)占用率过高、系统硬件发生故障)从而导致应用程序启动失败的现象。为此,需要对重复启动的次数进行统计,在启动失败次数大于预设阈值(例如:3次)的情况下,停止对应用程序进行启动,并重新执行应用程序的更新流程。
可选地,在步骤S25,接收来自于服务端的第一控制指令之前,还可以包括以下执行步骤:
步骤S20:接收来自于服务端的第二控制指令,其中,第二控制指令用于指示终端在预设时间范围内安装应用程序;
步骤S21:根据第二控制指令在预设时间范围内对应用程序进行安装。
上述终端应用程序升级方案可以建立在终端运行Android系统的基础上实现。该技术方案既可适用于应用程序的升级,也可适用于服务端远程控制指定的终端安装新的应用程序。因此,开发人员可以针对终端上当前已经安装的应用程序来确定该终端还需要安装哪些应用程序,然后再将待安装的应用程序的安装包上传至服务端进行存储。然后,服务端可以向终端发送安装控制指令(即上述第二控制指令)来指示终端在预设时间范围内安装应用程序。该预设时间范围既可以是服务端的工作空闲时段,也可以是终端的工作空闲时段。最终,终端在服务端指示的预设时间范围内安装上述应用程序。在终端侧,当下载安装的应用程序的包名与原应用程序的包名不同时,且安装成功的安装包的版本号与更新包的版本号相同时便可确定当前安装的是全新的应用程序。此时,可以使用ResolveInfo获取新安装的应用程序的Acitivity信息,再结合新安装的APK的Acitivity信息和包名信息,即可启动新安装的APK。
可选地,在步骤S21,根据第二控制指令在预设时间范围内对应用程序进行安装之后,还可以包括以下执行步骤:
步骤S22:启动应用程序;
步骤S23:将终端的标识信息发送至服务端,其中,标识信息用于在服务端完成注册与激活操作。
以运行Android系统的远程终端为例,当该终端安装有集成了本发明实施例所提供的技术方案相关的软件开发工具包(SDK)的应用程序,并启动已安装的应用程序后,终端会自动上传自身的标识信息,例如:媒体接入控制(MAC)地址,通过与服务端进行信息交互来完成终端的注册与激活操作。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的应用程序的更新方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
本发明的实施例还提供了一种处理器。可选地,在本实施例中,上述处理器可以用于执行上述实施例1所提供的应用程序的更新方法所执行的程序代码。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:
S1、接收来自于服务端的第一控制指令,其中,第一控制指令用于指示终端在预设时间范围内对终端上已安装的应用程序进行更新;
S2、根据第一控制指令在预设时间范围内对应用程序进行更新。
可选的,上述处理器还可以执行如下步骤的程序代码:确定当前时间点是否包含在预设时间范围内;如果是,则根据第一控制指令获取待下载的更新包,并采用更新包对应用程序进行更新;否则,在预设时间范围内的预设时间点设置定时提醒任务,以及根据第一控制指令获取待下载的更新包,并在定时提醒任务的提示下确定到达预设时间点时,采用更新包对应用程序进行更新。
可选的,上述处理器还可以执行如下步骤的程序代码:根据存储位置信息在终端上获取更新包;通过完整性校验信息在终端上对更新包进行完整性校验;在校验成功且更新包的版本号大于应用程序的版本号的情况下,在终端上采用更新包对应用程序进行更新。
可选的,上述处理器还可以执行如下步骤的程序代码:根据存储位置信息查找更新包并在服务端上对更新包的版本号与应用程序的版本号进行比较;当更新包的版本号大于应用程序的版本号的情况下,在终端上获取更新包;通过完整性校验信息在终端上对更新包进行完整性校验;在校验成功的情况下,在终端上采用更新包对应用程序进行更新。
可选的,上述处理器还可以执行如下步骤的程序代码:根据存储位置信息获取更新包;通过完整性校验信息对更新包进行完整性校验;在校验成功的情况下,按照强制升级指示信息,采用更新包对应用程序进行更新。
可选的,上述处理器还可以执行如下步骤的程序代码:在对应用程序进行更新的过程中,跳过鉴权交互流程,将更新包安装至终端。
可选的,上述处理器还可以执行如下步骤的程序代码:向服务端发送通知消息,其中,通知消息用于表示应用程序更新成功;重新启动更新后的应用程序;当重新启动更新后的应用程序的次数超过预设阈值时,更新后的应用程序仍未启动成功,则重新执行应用程序的更新流程。
可选的,上述处理器还可以执行如下步骤的程序代码:接收来自于服务端的第二控制指令,其中,第二控制指令用于指示终端在预设时间范围内安装应用程序;根据第二控制指令在预设时间范围内对应用程序进行安装。
可选的,上述处理器还可以执行如下步骤的程序代码:启动应用程序;将终端的标识信息发送至服务端,其中,标识信息用于在服务端完成注册与激活操作。
实施例3
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的应用程序的更新方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1、接收来自于服务端的第一控制指令,其中,第一控制指令用于指示终端在预设时间范围内对终端上已安装的应用程序进行更新;
S2、根据第一控制指令在预设时间范围内对应用程序进行更新。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:确定当前时间点是否包含在预设时间范围内;如果是,则根据第一控制指令获取待下载的更新包,并采用更新包对应用程序进行更新;否则,在预设时间范围内的预设时间点设置定时提醒任务,以及根据第一控制指令获取待下载的更新包,并在定时提醒任务的提示下确定到达预设时间点时,采用更新包对应用程序进行更新。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:根据存储位置信息在终端上获取更新包;通过完整性校验信息在终端上对更新包进行完整性校验;在校验成功且更新包的版本号大于应用程序的版本号的情况下,在终端上采用更新包对应用程序进行更新。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:根据存储位置信息查找更新包并在服务端上对更新包的版本号与应用程序的版本号进行比较;当更新包的版本号大于应用程序的版本号的情况下,在终端上获取更新包;通过完整性校验信息在终端上对更新包进行完整性校验;在校验成功的情况下,在终端上采用更新包对应用程序进行更新。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:根据存储位置信息获取更新包;通过完整性校验信息对更新包进行完整性校验;在校验成功的情况下,按照强制升级指示信息,采用更新包对应用程序进行更新。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在对应用程序进行更新的过程中,跳过鉴权交互流程,将更新包安装至终端。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:向服务端发送通知消息,其中,通知消息用于表示应用程序更新成功;重新启动更新后的应用程序;当重新启动更新后的应用程序的次数超过预设阈值时,更新后的应用程序仍未启动成功,则重新执行应用程序的更新流程。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:接收来自于服务端的第二控制指令,其中,第二控制指令用于指示终端在预设时间范围内安装应用程序;根据第二控制指令在预设时间范围内对应用程序进行安装。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:启动应用程序;将终端的标识信息发送至服务端,其中,标识信息用于在服务端完成注册与激活操作。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用程序的更新方法,其特征在于,包括:
接收来自于服务端的第一控制指令,其中,所述第一控制指令用于指示终端在预设时间范围内对所述终端上已安装的应用程序进行更新;
根据所述第一控制指令在所述预设时间范围内对所述应用程序进行更新。
2.根据权利要求1所述的方法,其特征在于,根据所述第一控制指令在所述预设时间范围内对所述应用程序进行更新包括:
确定当前时间点是否包含在所述预设时间范围内;
如果是,则根据所述第一控制指令获取待下载的更新包,并采用所述更新包对所述应用程序进行更新;
否则,在所述预设时间范围内的预设时间点设置定时提醒任务,以及根据所述第一控制指令获取待下载的更新包,并在所述定时提醒任务的提示下确定到达所述预设时间点时,采用所述更新包对所述应用程序进行更新。
3.根据权利要求2所述的方法,其特征在于,所述第一控制指令中携带的信息至少包括:所述更新包的存储位置信息、所述更新包的完整性校验信息;根据所述第一控制指令获取所述更新包,并采用所述更新包对所述应用程序进行更新包括:
根据所述存储位置信息在所述终端上获取所述更新包;
通过所述完整性校验信息在所述终端上对所述更新包进行完整性校验;
在校验成功且所述更新包的版本号大于所述应用程序的版本号的情况下,在所述终端上采用所述更新包对所述应用程序进行更新。
4.根据权利要求2所述的方法,其特征在于,所述第一控制指令中携带的信息至少包括:所述更新包的存储位置信息、所述更新包的完整性校验信息;根据所述第一控制指令获取所述更新包,并采用所述更新包对所述应用程序进行更新包括:
根据所述存储位置信息查找所述更新包并在所述服务端上对所述更新包的版本号与所述应用程序的版本号进行比较;
当所述更新包的版本号大于所述应用程序的版本号的情况下,在所述终端上获取所述更新包;
通过所述完整性校验信息在所述终端上对所述更新包进行完整性校验;
在校验成功的情况下,在所述终端上采用所述更新包对所述应用程序进行更新。
5.根据权利要求2所述的方法,其特征在于,所述第一控制指令中携带的信息至少包括:所述更新包的存储位置信息、所述更新包的完整性校验信息、强制升级指示信息;根据所述第一控制指令获取所述更新包,并采用所述更新包对所述应用程序进行更新包括:
根据所述存储位置信息获取所述更新包;
通过所述完整性校验信息对所述更新包进行完整性校验;
在校验成功的情况下,按照所述强制升级指示信息,采用所述更新包对所述应用程序进行更新。
6.根据权利要求1所述的方法,其特征在于,在对所述应用程序进行更新的过程中,跳过鉴权交互流程,将所述更新包安装至所述终端。
7.根据权利要求1所述的方法,其特征在于,在根据所述第一控制指令在所述预设时间范围内对所述应用程序进行更新之后,还包括:
向所述服务端发送通知消息,其中,所述通知消息用于表示所述应用程序更新成功;
重新启动更新后的应用程序;
当重新启动所述更新后的应用程序的次数超过预设阈值时,所述更新后的应用程序仍未启动成功,则重新执行应用程序更新流程。
8.根据权利要求1所述的方法,其特征在于,在接收来自于所述服务端的所述第一控制指令之前,还包括:
接收来自于所述服务端的第二控制指令,其中,所述第二控制指令用于指示所述终端在预设时间范围内安装所述应用程序;
根据所述第二控制指令在所述预设时间范围内对所述应用程序进行安装。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述的应用程序的更新方法。
10.一种终端,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供执行以下处理过程的指令:
接收来自于服务端的第一控制指令,其中,所述第一控制指令用于指示终端在预设时间范围内对所述终端上已安装的应用程序进行更新;
根据所述第一控制指令在所述预设时间范围内对所述应用程序进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710449086.XA CN107391173A (zh) | 2017-06-14 | 2017-06-14 | 应用程序的更新方法、存储介质和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710449086.XA CN107391173A (zh) | 2017-06-14 | 2017-06-14 | 应用程序的更新方法、存储介质和终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391173A true CN107391173A (zh) | 2017-11-24 |
Family
ID=60332930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710449086.XA Pending CN107391173A (zh) | 2017-06-14 | 2017-06-14 | 应用程序的更新方法、存储介质和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391173A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109243464A (zh) * | 2018-07-04 | 2019-01-18 | 平安科技(深圳)有限公司 | 语音识别工具部署方法、装置、计算机设备及存储介质 |
CN109358873A (zh) * | 2018-09-25 | 2019-02-19 | 平安普惠企业管理有限公司 | 一种应用程序更新方法、存储介质和终端设备 |
CN109739528A (zh) * | 2018-12-03 | 2019-05-10 | 珠海格力电器股份有限公司 | 一种设备的升级方法、装置、存储介质及终端 |
CN109857408A (zh) * | 2018-12-14 | 2019-06-07 | 深圳市网心科技有限公司 | 终端的应用部署方法、装置、设备、系统及可读存储介质 |
CN110609712A (zh) * | 2019-09-25 | 2019-12-24 | 上海依图信息技术有限公司 | 网络请求离散化处理方法 |
CN110865839A (zh) * | 2019-11-15 | 2020-03-06 | 北京云迹科技有限公司 | 机器人升级方法、系统及机器人 |
CN112020704A (zh) * | 2018-04-18 | 2020-12-01 | 谷歌有限责任公司 | 用于执行应用更新周期的资源的设备间传输 |
CN112817614A (zh) * | 2021-02-23 | 2021-05-18 | 上海锐伟电子科技有限公司 | 一种适用于安卓系统的应用程序分发安装方法及系统 |
CN113467792A (zh) * | 2021-06-28 | 2021-10-01 | 北京梧桐车联科技有限责任公司 | 安装包的更新方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7389504B2 (en) * | 2002-10-31 | 2008-06-17 | Sony Corporation | Software updating system, information processing apparatus and method, recording medium, and program |
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN101950254A (zh) * | 2010-09-16 | 2011-01-19 | 新邮通信设备有限公司 | 一种软件更新方法和系统 |
CN102565811A (zh) * | 2011-12-05 | 2012-07-11 | 东莞市泰斗微电子科技有限公司 | 一种车载导航终端应用下载方法、相应的终端及管理系统 |
-
2017
- 2017-06-14 CN CN201710449086.XA patent/CN107391173A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7389504B2 (en) * | 2002-10-31 | 2008-06-17 | Sony Corporation | Software updating system, information processing apparatus and method, recording medium, and program |
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN101950254A (zh) * | 2010-09-16 | 2011-01-19 | 新邮通信设备有限公司 | 一种软件更新方法和系统 |
CN102565811A (zh) * | 2011-12-05 | 2012-07-11 | 东莞市泰斗微电子科技有限公司 | 一种车载导航终端应用下载方法、相应的终端及管理系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112020704A (zh) * | 2018-04-18 | 2020-12-01 | 谷歌有限责任公司 | 用于执行应用更新周期的资源的设备间传输 |
CN109243464A (zh) * | 2018-07-04 | 2019-01-18 | 平安科技(深圳)有限公司 | 语音识别工具部署方法、装置、计算机设备及存储介质 |
CN109358873A (zh) * | 2018-09-25 | 2019-02-19 | 平安普惠企业管理有限公司 | 一种应用程序更新方法、存储介质和终端设备 |
CN109739528A (zh) * | 2018-12-03 | 2019-05-10 | 珠海格力电器股份有限公司 | 一种设备的升级方法、装置、存储介质及终端 |
CN109857408A (zh) * | 2018-12-14 | 2019-06-07 | 深圳市网心科技有限公司 | 终端的应用部署方法、装置、设备、系统及可读存储介质 |
CN110609712A (zh) * | 2019-09-25 | 2019-12-24 | 上海依图信息技术有限公司 | 网络请求离散化处理方法 |
CN110865839A (zh) * | 2019-11-15 | 2020-03-06 | 北京云迹科技有限公司 | 机器人升级方法、系统及机器人 |
CN112817614A (zh) * | 2021-02-23 | 2021-05-18 | 上海锐伟电子科技有限公司 | 一种适用于安卓系统的应用程序分发安装方法及系统 |
CN113467792A (zh) * | 2021-06-28 | 2021-10-01 | 北京梧桐车联科技有限责任公司 | 安装包的更新方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391173A (zh) | 应用程序的更新方法、存储介质和终端 | |
WO2016147766A1 (ja) | ソフト更新装置、ソフト更新方法 | |
US9471300B2 (en) | Wireless firmware upgrades to an alarm security panel | |
CN108733380B (zh) | 应用部署方法和装置 | |
CN101241364B (zh) | 空调系统远程管理控制器、本地控制器及其自动更新方法 | |
US8170540B2 (en) | System and methods for remotely upgrading software applications | |
CN109558160A (zh) | 升级方法、嵌入式系统 | |
EP2456257A1 (en) | Method and system for upgrading wireless data card | |
CN105094875A (zh) | 一种软件升级方法及装置 | |
CN113946358B (zh) | 一种基于车辆管理系统的自动驾驶车辆软件远程升级方法 | |
CN109144532B (zh) | 升级方法及装置 | |
CN102364891A (zh) | 嵌入式以太网设备升级软件的方法及嵌入式以太网设备 | |
CN107465539A (zh) | 固件的升级方法、终端及固件的升级系统 | |
CN105975298A (zh) | 远程控制Android终端应用的方法及系统 | |
CN106648781B (zh) | 通信设备远程固件升级方法及系统 | |
CN106850241A (zh) | 一种车载obd终端及其远程升级方法 | |
CN107491321A (zh) | 一种用于实现软件自动更新的处理方法及装置 | |
CN114915554A (zh) | 远程升级方法、装置、计算机设备和存储介质 | |
CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
JP5359835B2 (ja) | 情報処理装置、配布システム及び受信方法 | |
CN106912037A (zh) | 一种ota升级方法及装置 | |
CN113434164B (zh) | 一种车载娱乐主机的设置项云端配置更新方法和系统 | |
CN110045971A (zh) | 系统升级恢复方法及装置 | |
US20080244558A1 (en) | Content downloading in a radio communication network | |
CN101854442A (zh) | 网络设备及其固件更新方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171124 |
|
WD01 | Invention patent application deemed withdrawn after publication |