CN105930185A - 应用程序更新方法、装置、终端和服务器 - Google Patents
应用程序更新方法、装置、终端和服务器 Download PDFInfo
- Publication number
- CN105930185A CN105930185A CN201610245233.7A CN201610245233A CN105930185A CN 105930185 A CN105930185 A CN 105930185A CN 201610245233 A CN201610245233 A CN 201610245233A CN 105930185 A CN105930185 A CN 105930185A
- Authority
- CN
- China
- Prior art keywords
- application program
- renewal item
- update
- program update
- configuration file
- 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
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
技术领域
本发明实施例涉及软件技术领域,尤其涉及一种应用程序更新方法、装置、终端和服务器。
背景技术
随着应用程序技术的发展和功能的改善,相关的应用程序供应方对应用程序的更新升级频率也逐渐加快。
针对终端操作系统(如苹果ios操作系统)中应用程序的更新升级,需要先由程序设计人员提交到服务器进行审核,当服务器审核通过后,才能够通知到用户终端,由用户终端进行下载。
然而,应用程序的审核期过长,不利于用户及时更新升级,导致用户不能够及时享受更优化的体验效果,也给应用程序供应方带来了损失。
综上,如何及时快速地为用户终端提供更新的应用程序成为本领域技术人员亟待解决的技术问题。
发明内容
为克服相关技术中存在的问题,本发明实施例提供一种应用程序更新方法、装置、终端及服务器。
根据本发明实施例的第一方面,提供了一种应用程序更新方法,包括:
获取服务器静态资源形式的应用程序更新内容;
通过编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的新的配置文件;
使用新的配置文件对所述应用程序的更新项目进行更新。
由于应用程序更新内容为静态资源形式,服务器进行审核时,只审核动态资源的逻辑和代码,因此,能够避免服务器的审核程序,减少服务器的审核期过长,不利于用户及时更新应用程序的缺点,同时终端使用编译器对该静态资源形式的应用程序更新内容进行编译解析,能够快速地确定应用程序的更新项目以及与更新项目对应的配置文件,使用该配置文件对应用程序的更新项目进行更新,达到快速更新升级应用程序的目的,使得用户及时享受到应用程序更新升级带来的更优化的体验效果。
优选地,所述使用新的配置文件对所述应用程序的更新项目进行更新,包括:
新建所述新的配置文件的读取地址,且保留所述应用程序的旧的配置文件;
根据所述新的配置文件的读取地址查找所述新的配置文件,使用所述新的配置文件对所述应用程序的更新项目进行更新;
判断所述新的配置文件对所述应用程序的更新项目是否更新成功;
若所述新的配置文件对所述应用程序的更新项目更新失败,则查找所述旧的配置文件的读取地址,使用所述旧的配置文件对所述应用程序进行恢复。
通过新建配置文件的读取地址,能够避免新下载的配置文件与旧有配置文件在同一目录下的不兼容的问题,同时保存旧的配置文件;当使用新的配置文件对原应用程序的更新项目更新不成功时,还可以通过读取旧的配置文件的读取地址,使用旧的配置文件对应用程序进行恢复,避免了传统的配置文件完全覆盖当前的应用程序,若更新失败则整个应用程序崩溃,由于旧的配置文件已经删除,难以对更新失败的应用程序快速恢复的情况,提高了应用程序更新的安全性。
优选地,所述应用程序更新内容包括与所述应用程序中所有项目对应的更新程序包,所述方法还包括:
根据所述更新程序包中与所有项目分别对应的版本号,确定所述应用程序的更新项目和非更新项目;
在所述更新程序包中查找与所述更新项目对应的更新项目内容;
使用编译器对所述更新项目内容进行编译;
当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
应用程序更新内容包括与应用程序中所有项目对应的更新程序包,当获取到该应用程序更新内容后,通过比较更新程序包中的版本号以及当前应用程序的当前版本号,能够准确地确定本应用程序非更新项目和需要更新的更新项目,从而在更新程序包中快速查找与更新项目对应的更新项目内容,进而使用编译器对更新项目内容进行编译,从而得到与更新项目对应的配置文件,当使用配置文件对更新项目进行更新时,应用程序可正常运行,非更新项目的功能能够正常使用,从而避免了传统的完全覆盖式的更新方法中,需要重新启动应用程序才能够编译新下载的更新安装包的配置文件,重新启动应用程序才能够查知更新内容的情况,从而提高了用户体验。
优选地,所述应用程序包括更新项目和非更新项目,所述应用程序更新内容包括与所述更新项目对应的更新项目内容,所述方法还包括:
使用所述编译器对所述更新项目内容进行编译;
当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
下载的应用程序更新内容包括静态资源形式的更新项目内容,由于下载的只是整个应用程序中需要更新的更新项目对应的更新项目内容,而不是如传统的更新方法中,完全下载整个应用程序包括非更新项目和更新项目的更新安装包,因此,在应用程序的运行过程中,当编译器对更新项目内容编译时,编译成的配置文件对应用程序的更新项目进行更新,应用程序的非更新项目的运行不受影响,因此应用程序可照常运行,用户可照常使用应用程序的非更新项目的功能,当某一更新项目更新完毕后,该更新项目也可实时运行,从而在更新过程中即可及时查知应用程序的更新内容,避免了传统的完全覆盖式的更新方法中,需要重新启动应用程序才能够编译新下载的更新安装包的配置文件,重新启动应用程序,才能够知道更新内容的情况,从而提高了用户体验。
优选地,所述获取服务器静态资源形式的应用程序更新内容,包括:
向所述服务器发送升级请求信息,以使所述服务器判断是否存在所述应用程序更新内容,其中,所述升级请求信息包括需要更新的更新项目名称以及更新项目的当前版本号;
接收所述服务器发送的与所述升级请求信息相对应的应用程序更新内容。
通过向服务器发送升级请求信息,服务器可根据升级请求信息中包括的当前版本号判断是否存在应用程序更新内容,其中,应用程序更新内容包括的更新项目的版本号大于更新项目的当前版本号;同时,由于应用程序更新内容并非对应用程序进行完全覆盖式更新,因此,更新项目的版本号并不一定与应用程序的版本号完全相同。由于是终端向服务器发送升级请求信息,因此更新频率终端自身可控,终端用户自主性更高。
优选地,所述应用程序包括与各个项目分别对应的当前版本号,所述应用程序更新内容包括需要更新的更新项目名称以及更新项目的最新版本号;所述获取服务器静态资源形式的应用程序更新内容,包括:
接收所述服务器主动推送的项目更新消息,其中,所述项目更新消息包括所述更新项目的最新版本号;
将所述更新项目的最新版本号与所述当前版本号进行比较,判断所述最新版本号是否大于所述当前版本号;
若所述最新版本号大于所述当前版本号,则向所述服务器发送项目更新响应,其中,所述项目更新响应用于获取所述更新项目;
接收服务器推送的所述应用程序更新内容。
应用程序包括多个项目,根据是否需要更新可划分为更新项目和非更新项目,因此,当对应用程序进行更新升级时,可针对其中的更新项目进行更新升级,通过比较更新项目的最新版本号与当前版本号,判断最新版本号是否大于当前版本号,能够确定应用程序是否需要更新,从而及时地获取应用程序更新内容,对自身的应用程序进行及时更新。同时,通过服务器主动向终端推送项目更新消息,终端侧可根据自身需要,判断是否更新应用程序,从而将自身应用程序的更新项目更新到最新版本,由于是服务器主动推送,因此,更新较为及时,从而使得用户更加及时地享受到最新版本的体验效果。
根据本发明实施例的第二方面,还提供了一种应用程序更新方法,用于服务器,该方法包括:
接收上传的静态资源形式的应用程序更新内容
向终端发送所述静态资源形式的应用程序更新内容。
服务器接收静态资源形式的应用程序更新内容,由于服务器只审核动态资源形式的更新内容,如程序逻辑与动态代码,因此,服务器将更加快速地向终端发送该应用程序更新内容。
优选地,所述应用程序更新内容包括需要更新的更新项目名称、更新项目的最新版本号以及静态资源形式的更新项目内容,所述向终端发送静态资源形式的应用程序更新内容,包括:
接收终端发送的升级请求信息,所述升级请求信息包括应用程序的更新项目名称以及更新项目的当前版本号;
查找与所述更新项目名称匹配的应用程序更新内容,判断所述当前版本号是否小于所述最新版本号;
若所述当前版本号小于所述最新版本号,则向所述终端发送与所述升级请求信息对应的应用程序更新内容。
通过接收终端发送的升级请求信息,服务器能够根据升级请求信息中的当前版本号准确获知哪些终端的应用程序需要升级,根据升级请求信息中的当前版本号是否小于自身存储的应用程序更新内容的最新版本号,判断是否需要向终端推送该应用程序更新内容,终端自主性较高,且推送速度较快。同时服务器只发送需要更新的更新项目的最新版本号和更新项目内容,因此,应用程序能够进行非完全覆盖式的更新。
优选地,所述向终端发送静态资源形式的应用程序更新内容,包括:
向所述终端主动推送项目更新消息,其中,所述项目更新消息包括更新项目的最新版本号;
接收所述终端发送的项目更新响应,查找所述应用程序更新内容;
向所述终端推送所述应用程序更新内容。
通过向终端推送项目更新消息,从而获知具体地需要更新应用程序的终端,向各个终端推送该应用程序更新内容,提高了推送速度,提高了推送效率。
根据本发明实施例的第三方面,还提供了一种应用程序更新装置,包括:
获取模块,用于获取服务器静态资源形式的应用程序更新内容;
编译模块,用于通过编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的新的配置文件;
更新模块,用于使用新的配置文件对所述应用程序的更新项目进行更新。
优选地,所述更新模块包括:
新建子模块,用于新建所述新的配置文件的读取地址,且保留所述应用程序的旧的配置文件;
第一查找子模块,用于根据所述新的配置文件的读取地址查找所述新的配置文件;
更新子模块,用于使用所述新的配置文件对所述应用程序的更新项目进行更新;
判断子模块,用于判断所述新的配置文件对所述更新项目是否更新成功;
第二查找子模块,用于若所述判断子模块判定所述新的配置文件对所述应用程序的更新项目更新失败时,查找所述旧的配置文件的读取地址;
恢复子模块,用于使用所述旧的配置文件对所述应用程序进行恢复。
优选地,所述应用程序更新内容包括与所述应用程序中所有项目对应的更新程序包,所述装置还包括:
确定模块,用于根据所述更新程序包中与所有项目分别对应的版本号,确定所述应用程序的更新项目和非更新项目;
查找模块,用于在所述应用程序包中查找与所述更新项目对应的更新项目内容;
所述编译模块,具体用于使用编译器对所述更新项目内容进行编译;
所述更新模块,具体用于当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
优选地,所述应用程序包括更新项目和非更新项目,所述应用程序更新内容包括与所述更新项目对应的更新项目内容;
所述编译模块,具体用于使用所述编译器对所述更新项目内容进行编译;
所述更新模块,具体用于当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
优选地,所述获取模块,包括:
升级请求发送子模块,用于向所述服务器发送升级请求信息,以使所述服务器判断是否存在所述应用程序更新内容,其中,所述升级请求信息包括需要更新的更新项目名称以及更新项目的当前版本号;
第一更新内容接收子模块,用于接收所述服务器发送的与所述升级请求信息相对应的应用程序更新内容。
优选地,所述应用程序包括与各个项目分别对应的当前版本号,所述应用程序更新内容包括需要更新的更新项目名称以及更新项目的最新版本号;所述获取模块,包括:
更新消息接收子模块,用于接收所述服务器主动推送的项目更新消息,其中,所述项目更新消息包括所述更新项目的最新版本号;
第一版本号判断子模块,用于将所述更新项目的最新版本号与所述当前版本号进行比较,判断所述最新版本号是否大于所述当前版本号;
更新响应发送子模块,用于若所述第一版本号判断子模块判定所述最新版本号大于所述当前版本号时,向所述服务器发送项目更新响应,其中,所述项目更新响应用于获取更新项目;
第二更新内容接收子模块,用于接收服务器推送的所述应用程序更新内容。
根据本发明实施例的第四方面,还提供了一种应用程序更新装置,包括:
接收模块,用于接收上传的静态资源形式的应用程序更新内容;
发送模块,用于向终端发送所述静态资源形式的应用程序更新内容。
优选地,所述应用程序更新内容包括需要更新的更新项目名称、更新项目的最新版本号以及静态资源形式的更新项目内容,所述发送模块,包括:
升级请求接收子模块,用于接收终端发送的升级请求信息,所述升级请求信息包括应用程序的更新项目名称以及更新项目的当前版本号;
第一更新内容查找子模块,用于查找与所述更新项目名称匹配的应用程序更新内容;
第二版本号判断子模块,用于判断所述当前版本号是否小于所述最新版本号;
第一更新内容推送子模块,用于若所述第二版本号判断子模块判定所述当前版本号小于所述最新版本号时,向所述终端发送与所述升级请求信息对应的应用程序更新内容。
优选地,所述发送模块,包括:
更新消息推送子模块,用于向所述终端主动推送项目更新消息,其中,所述项目更新消息包括更新项目的最新版本号;
更新响应接收子模块,用于接收所述终端发送的项目更新响应;
第二更新内容查找子模块,用于查找所述应用程序更新内容;
第二更新内容推送子模块,用于向所述终端推送所述应用程序更新内容。
根据本发明实施例的第五方面,还提供了一种终端,包括:
第一处理器;
用于存储处理器可执行指令的第一存储器;
其中,所述第一处理器被配置为:
获取服务器静态资源形式的应用程序更新内容;
使用编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的配置文件;
使用所述配置文件对所述应用程序的更新项目进行更新。
根据本发明实施例的第六方面,还提供了一种服务器,包括:
第二处理器;
用于存储处理器可执行指令的第二存储器;其中,所述第二处理器被配置为:
接收上传的静态资源形式的应用程序更新内容;
向终端发送所述静态资源形式的应用程序更新内容。
本发明的实施例提供的技术方案可以包括以下有益效果:
由于应用程序更新内容为静态资源形式的,服务器进行审核时,只审核动态资源的逻辑和代码,因此,能够避免服务器的审核程序,减少服务器的审核期过长,不利于用户及时更新应用程序的缺点,同时终端使用编译器对该静态资源形式的应用程序更新内容进行编译,确定应用程序的更新项目以及与更新项目对应的配置文件,使用该配置文件对应用程序的更新项目进行更新,达到更新升级应用程序的目的,能够使得用户及时享受到应用程序更新升级带来的体验效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用场景示意图;
图2为本发明实施例提供的一种应用程序更新方法的流程示意图;
图3为本发明实施例提供的一种应用程序更新方法的流程示意图;
图4为本发明实施例提供的一种应用程序更新方法的流程示意图;
图5为本发明实施例提供的一种应用程序更新方法的流程示意图;
图6为本发明实施例提供的一种应用程序更新方法的流程示意图;
图7为本发明实施例提供的一种应用程序更新方法的流程示意图;
图8为本发明实施例提供的一种应用程序更新方法的结构示意图;
图9为本发明实施例提供的一种应用程序更新方法的结构示意图;
图10为本发明实施例提供的一种应用程序更新方法的结构示意图;
图11为本发明实施例提供的一种应用程序更新装置的结构示意图;
图12为本发明实施例提供的一种应用程序更新装置的结构示意图;
图13为本发明实施例提供的一种应用程序更新装置的结构示意图;
图14为本发明实施例提供的一种应用程序更新装置的结构示意图;
图15为本发明实施例提供的一种应用程序更新装置的结构示意图;
图16为本发明实施例提供的一种应用程序更新装置的结构示意图;
图17为本发明实施例提供的一种应用程序更新装置的结构示意图;
图18为本发明实施例提供的一种应用程序更新装置的结构示意图;
图19为本发明实施例提供的一种终端的结构示意图;
图20为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为本发明一示例性实施例示出的一种应用场景示意图。如图1所示,图中包括服务器1和终端2,程序设计人员通过应用程序设计平台(如搭载运行环境的计算机,Pad等)将静态资源形式的应用程序更新内容上传至服务器1,由服务器1将该应用程序更新内容下传至各个终端2,终端2内置有编译器,通过编译器,将该静态资源形式的应用程序更新内容进行编译,得到更新项目以及与更新项目对应的配置文件,然后通过该配置文件对应用程序的更新项目进行更新。
另外,图1所示仅为本发明的一种场景示意图,图中终端2的数量、服务器1与终端2的详细结构以及二者之间的位置、相对关系都不作限定,本领域技术人员可以根据设计或现场需要自由布局各部分位置以及相对关系。
请参见图2,为本发明实施例提供的一种应用程序更新方法的流程示意图,如图2所示,该应用程序更新方法包括如下步骤:
S210:获取服务器静态资源形式的应用程序更新内容;
在本发明实施例中,应用程序更新内容以静态资源的形式于服务器中存储,服务器只是审阅动态资源形式的更新内容,如动态代码和程序逻辑,因此,服务器不会审阅静态资源形式的应用程序更新内容,终端下载的速度将更加快速,有利于终端应用程序的更新。
S220:通过编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的新的配置文件;
在本发明实施例中,由于应用程序更新内容为静态资源形式,因此需要使用编译器进行编译,从而获得更新项目以及与更新项目对应的配置文件,同时,本发明中的应用程序更新内容能够并不为整个应用程序安装程序包,只是特定需要更新的更新项目,因此,应用程序更新时不会被完全覆盖。
S230:使用新的配置文件对所述应用程序的更新项目进行更新。
在本发明实施例中,通过使用新的配置文件对应用程序的更新项目进行更新,能够对应用程序更新到最新版本,从而使得用户及时获得应用程序的最新功能,获取应用程序更新升级带来的更加优化的体验效果。
本发明实施例提供的上述应用程序更新方法,由于应用程序更新内容为静态资源形式,服务器进行审核时,只审核动态资源的逻辑和代码,因此,能够避免服务器的审核程序,减少服务器的审核期过长,不利于用户及时更新应用程序的缺点,同时终端使用编译器对该静态资源形式的应用程序更新内容进行编译解析,能够快速地确定应用程序的更新项目以及与更新项目对应的配置文件,使用该配置文件对应用程序的更新项目进行更新,达到快速更新升级应用程序的目的,使得用户及时享受到应用程序更新升级带来的更优化的体验效果。
在本发明另一实施例中,请参见图3,如图3所示,图2所示的应用程序更新方法:在步骤S230:使用新的配置文件对应用程序的更新项目进行更新的步骤,具体包括:
S310:新建所述新的配置文件的读取地址,且保留所述应用程序的旧的配置文件;
通过新建新的配置文件的读取地址,并保留应用程序的旧的配置文件,应用程序使用新的配置文件配置失败后,还可以使用旧的配置文件对自身进行恢复,能够避免使用新的配置文件对应用程序更新失败带来的程序崩溃。
S320:根据新的配置文件的读取地址查找所述新的配置文件,使用所述新的配置文件对所述应用程序的更新项目进行更新;
S330:判断所述新的配置文件对所述应用程序的更新项目是否更新成功;若所述更新项目更新失败,则执行步骤S340。
S340:查找所述旧的配置文件的读取地址,使用所述旧的配置文件对所述应用程序进行恢复。
当应用程序的更新项目更新失败,通过查找旧的配置文件的读取地址,使用旧的配置文件对应用程序进行恢复,能够避免传统的配置文件完全对旧的配置文件进行覆盖,而导致的更新失败后,应用程序崩溃,难以快速恢复的情况,从而提高了应用程序更新的安全性。
在本发明实施例中,通过新建新的配置文件的读取地址,能够避免新的配置文件与旧的配置文件在同一目录下的不兼容的问题,同时保存旧的配置文件;当使用该新的配置文件对原应用程序的更新项目更新不成功时,还可以通过读取旧的配置文件的读取地址,使用旧的配置文件对应用程序进行恢复,避免了传统的配置文件完全覆盖,若更新升级失败则整个应用程序崩溃,由于旧的配置文件已经删除,难以对更新失败的应用程序进行快速恢复的情况,提高了应用程序更新的安全性。
在本发明一实施例中,请参见图4,如图4所示,图2中的应用程序更新内容包括与应用程序中所有项目分别对应的更新程序包,所述方法还包括:
S410:根据所述更新程序包中与所有项目分别对应的版本号,确定所述应用程序的更新项目和非更新项目;
具体地,若更新程序包中某一项目的版本号大于本地应用程序中该项目的当前版本号,则确定该项目为更新项目,若版本号等于或小于本地应用程序中该项目的当前版本号,则该项目为非更新项目;其中,也可以通过比较更新程序包与当前应用程序中不同项目的项目内容,确定应用程序的更新项目和非更新项目。
S420:在所述更新程序包中查找与所述更新项目对应的更新项目内容;
S430:使用编译器对所述更新项目内容进行编译;
通过使用编译器对更新项目的更新内容进行编译,能够确定与更新项目相对应的配置文件,避免生成非更新项目的配置文件,减少编译器的工作量,从而减少编译时间,提高编译效率。
S440:当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
在本发明实施例中,应用程序更新内容包括与应用程序中所有项目对应的更新程序包,当获取到该应用程序更新内容后,通过比较更新程序包中的版本号以及当前应用程序的当前版本号,能够准确地确定本应用程序非更新项目和需要更新的更新项目,从而在更新程序包中快速查找与更新项目对应的更新项目内容,使用编译器对更新项目内容进行编译,能够得到与更新项目对应的配置文件,当使用配置文件对更新项目进行更新时,应用程序可正常运行,非更新项目的功能能够正常使用,更新项目更新升级结束后,也能够被应用程序运行,从而避免了传统的完全覆盖式的更新方法中,需要重新启动应用程序才能够编译新下载的更新安装包的配置文件,重新启动应用程序才能够查知更新内容的情况,从而提高了用户体验。
在本发明一实施例中,请参见图5,如图5所示,图2中的应用程序包括更新项目和非更新项目,应用程序更新内容包括与更新项目对应的更新项目内容,如图5所示,该应用程序更新方法还包括:
S510:使用所述编译器对所述更新项目内容进行编译;
下载的应用程序更新内容并不为传统的整个应用程序的更新安装包,因此,在应用程序更新时,不会完全覆盖整个应用程序,只是更新部分需要更新的更新项目,通过使用编译器对更新项目内容进行编译,能够获取更新项目内容的配置文件,从而替换应用程序的更新项目。
S520:当所述应用程序运行时,运行所述非更新项目,使用所述配置文件对所述应用程序的更新项目进行更新。
编译器编译更新项目内容,对应用程序的非更新项目的运行不影响,因此应用程序的非更新项目可照常运行,并且更新项目更新升级完毕后,还能够被应用程序运行,综上,使用配置文件对应用程序更新项目进行更新,能够避免传统的更新方法中,需要重新启动应用程序才能够编译新下载的更新安装包,重新启动应用程序才能够获知应用程序更新内容的情况,从而提高了用户体验。
在本发明实施例中,下载的应用程序更新内容包括更新项目以及静态资源形式的更新项目内容,由于下载的只是整个应用程序中需要更新的更新项目,而不是如传统的更新方法中,完全下载包括非更新项目和更新项目的整个应用程序的更新安装包,因此,在应用程序的运行过程中,当编译器对更新项目内容编译,编译成的配置文件对应用程序的更新项目进行更新,应用程序的非更新项目的运行不受影响,因此应用程序可照常运行,用户可照常使用应用程序的非更新项目的功能,同时,当某一更新项目更新完毕后,该更新项目也可运行,从而在更新过程中即可及时查知应用程序的更新内容,避免了传统的完全覆盖式的更新方法中,需要重新启动应用程序才能够编译新下载的更新安装包的配置文件,重新启动应用程序才能够知道更新内容的情况,从而提高了用户体验。
在本发明另一实施例中,请参考图6,如图6所示,图2所示实施例提供的应用程序更新方法的步骤S210:获取服务器静态资源形式的应用程序更新内容,包括:
S610:向所述服务器发送升级请求信息,以使所述服务器判断是否存在所述应用程序更新内容,其中,所述升级请求信息包括所述应用程序的更新项目名称以及更新项目的当前版本号;
通过向服务器发送升级请求信息,服务器能够获取升级请求信息中的版本号,通过比对版本号,判断是否存在最新的应用程序更新内容,当存在最新的应用程序更新内容时,向终端发送所述应用程序更新内容。
S620:接收所述服务器发送的所述应用程序更新内容。
终端接收服务器发送的应用程序更新内容,从而根据该应用程序更新内容主动更新自身的应用程序的更新项目,由于终端主动更新,自主性和可控性高。
在本发明实施例中,通过向服务器发送升级请求信息,服务器可根据升级请求信息中包括的当前版本号判断是否存在应用程序更新内容,其中,应用程序更新内容包括的更新项目的版本号大于更新项目的当前版本号;同时由于应用程序更新内容并非对应用程序完全覆盖式更新,因此,更新项目的版本号并不一定与应用程序的版本号完全相同。由于是终端向服务器发送升级请求信息,因此更新频率终端自身可控,终端用户自主性更高。
在本发明另一实施例中,请参见图7,如图7所示,图2所示实施例提供的应用程序更新方法中,应用程序包括与各个项目分别对应的当前版本号,所述应用程序更新内容包括需要更新的更新项目名称和更新项目的最新版本号,所述步骤S210:获取服务器静态资源形式的应用程序更新内容,包括:
S710:接收所述服务器主动推送的项目更新消息,其中,所述项目更新消息包括更新项目的最新版本号;
终端通过接收服务器主动推送的项目更新消息,能够根据项目更新消息中的更新项目的最新版本号,判断自身的应用程序是否需要更新,从而将自身的应用程序的更新项目升级更新到最新版本。
S720:将所述更新项目的最新版本号与所述当前版本号进行比较,判断所述最新版本号是否大于对应项目的当前版本号;若所述最新版本号大于所述当前版本号,则执行步骤S730。
S730:向所述服务器发送项目更新响应,其中,所述项目更新响应用于获取所述更新项目;
终端通过判断最新版本号是否大于更新项目的当前版本号,如果最新版本号大于当前版本号,说明自身的应用程序需要更新,从而响应服务器的项目更新消息,向服务器发送项目更新响应,从而获取更新项目。实现对自身应用程序的及时更新。
S740:接收服务器推送的所述应用程序更新内容。
在本发明实施例中,应用程序包括多个项目,其中可划分为更新项目和非更新项目,因此,当对应用程序进行更新升级时,可针对其中的更新项目进行更新升级,通过比较更新项目的最新版本号与当前版本号,判断最新版本号是否大于当前版本号,能够确定应用程序是否需要更新,从而及时地获取应用程序更新内容,对自身的应用程序进行及时更新。同时,通过服务器主动向终端推送项目更新消息,终端可根据自身需要,判断是否更新应用程序,从而将自身应用程序的更新项目更新到最新版本,由于是服务器主动推送,因此,更新较为及时,从而使得用户更加及时地享受到最新版本的体验效果。
另外,对应图2所示的应用程序更新方法,请参见图8,如图8所示,本发明实施例还提供了一种应用程序更新方法,该方法用于服务器,该方法包括:
S810:接收上传的静态资源形式的应用程序更新内容;
服务器接收程序设计人员通过搭载有程序编译平台的计算机等系统上传的应用程序更新内容,由于该应用程序更新内容为静态资源形式,因此,服务器不会审核,会加快向终端进行推送的效率。
S820:向终端发送所述静态资源形式的应用程序更新内容。
服务器将该静态资源形式的应用程序更新内容发送给终端,从而使得终端能够快速地根据该应用程序更新内容对本应用程序更新内容进行更新升级,使得用户尽快获取最新版本的应用程序更新内容,提高用户的使用体验。
在本发明实施例中,服务器接收静态资源形式的应用程序更新内容,由于服务器只审核动态资源形式的更新内容,如程序逻辑与动态代码,因此,服务器将更加快速地向终端发送该应用程序更新内容。
在本发明另一实施例中,请参见图9,如图9所示,图8所示的实施例中的应用程序更新内容包括需要更新的更新项目名称、更新项目的最新版本号以及静态资源形式的更新项目内容,图8实施例中的步骤S820:向终端发送静态资源形式的应用程序更新内容,包括:
S910:接收终端发送的升级请求信息,所述升级请求信息包括应用程序的更新项目名称以及更新项目的当前版本号;
S920:查找与所述更新项目名称匹配的应用程序更新内容,判断所述当前版本号是否小于所述最新版本号;若所述当前版本号小于是最新版本号,则执行步骤S930;
通过查找与更新项目名称匹配的应用程序更新内容,从而判断应用程序的当前版本号是否小于最新版本号,进而根据该版本号向终端推送应用程序更新内容,由于需要由终端自己发送升级请求信息,终端自主性较高,同时节省了服务器的工作量。
S930:向所述终端发送所述应用程序更新内容。
在本发明实施例中,通过接收终端发送的升级请求信息,服务器能够根据升级请求信息中的当前版本号准确获知哪些终端的应用程序需要升级,从而根据升级请求信息中的当前版本号是否小于自身存储的应用程序更新内容的最新版本号,判断是否需要向终端推送该应用程序更新内容,终端自主性较高,且推送速度较快。同时,服务器只发送需要更新的更新项目的最新版本号和更新项目内容,因此,应用程序能够进行非完全覆盖式的更新。
在本发明另一实施例中,请参见图10,如图10所示,图8所示实施例中的步骤S820:向终端发送静态资源形式的应用程序更新内容,包括:
S1010:向所述终端主动推送项目更新消息,其中,所述项目更新消息包括更新项目的最新版本号;
通过服务器向终端主动推送项目更新消息,从而使得终端能够根据该项目更新消息终端最新版本号主动对自身的应用程序进行更新,节省了服务器自我判断的流程,提高了推送效率。
S1020:接收所述终端发送的项目更新响应,查找所述应用程序更新内容;
S1030:向所述终端推送所述应用程序更新内容。
在本发明实施例中,通过向终端推送项目更新消息,从而获知具体地需要更新应用程序的终端,向各个终端推送该应用程序更新内容,提高了推送速度,提高了推送效率。
基于同一发明构思,本发明实施例还提供了应用程序更新装置,请参见图11,为本发明实施例提供的一种应用程序更新装置的结构示意图,如图11所示,该应用程序更新装置包括:
获取模块1110,用于获取服务器静态资源形式的应用程序更新内容;
在本发明实施例中,应用程序更新内容以静态资源的形式于服务器中存储,服务器只是审阅动态资源形式的更新内容,如动态代码和程序逻辑,因此,服务器不会审阅静态资源形式的应用程序更新内容,终端下载的速度将更加快速,有利于终端侧应用程序的更新。
编译模块1120,用于使用编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的新的配置文件;
在本发明实施例中,由于应用程序更新内容为静态资源形式,因此需要使用编译器进行编译,从而获得更新项目以及与更新项目对应的配置文件,同时,本发明中的应用程序更新内容可以并不为整个应用程序安装程序包,只是特定需要更新的更新项目,因此,应用程序更新时不会被完全覆盖。
更新模块1130,用于使用新的配置文件对所述应用程序的更新项目进行更新。
在本发明实施例中,通过使用新的配置文件对应用程序的更新项目进行更新,能够对应用程序更新到最新版本,从而使得用户及时获得应用程序的最新功能,获取应用程序更新升级带来的更加优化的体验效果。
在本发明实施例中,由于应用程序更新内容为静态资源形式的,服务器进行审核时,只审核动态资源的逻辑和代码,因此,能够避免服务器的审核程序,减少服务器的审核期过长,不利于用户及时更新应用程序的缺点,同时终端使用编译器对该静态资源形式的应用程序更新内容进行编译,确定应用程序的更新项目以及与更新项目对应的配置文件,使用该配置文件对应用程序的更新项目进行更新,达到更新升级应用程序的目的,能够使得用户及时享受到应用程序更新升级带来的体验效果。
在本发明另一实施例中,请参见图12,如图12所示,图11所示的应用程序更新装置中的更新模块1130,包括:
新建子模块1131,用于新建所述新的配置文件的读取地址,且保留所述应用程序的旧的配置文件;
第一查找子模块1132,用于根据所述新的配置文件的读取地址查找所述新的配置文件;
更新子模块1133,用于使用所述新的配置文件对所述应用程序的更新项目进行更新;
判断子模块1134,用于判断所述新的配置文件对所述更新项目是否更新成功;
第二查找子模块1135,用于若所述判断子模块1150判定所述新的配置文件对所述应用程序的更新项目更新失败时,查找所述旧的配置文件的读取地址;
恢复子模块1136,用于使用所述旧的配置文件对所述应用程序进行恢复。
在本发明实施例中,通过新建新的配置文件的读取地址,能够避免新下载的新的配置文件与旧的配置文件在同一目录下的不兼容的问题,同时保存旧的配置文件;当使用该新的配置文件对原应用程序的更新项目更新不成功时,还可以通过读取旧的配置文件的读取地址,使用旧的配置文件对应用程序进行恢复,避免了传统的配置文件完全覆盖,若更新升级失败则整个应用程序崩溃,由于旧的配置文件已经删除,难以对更新失败的应用程序进行快速恢复的情况,提高了应用程序更新的安全性。
作为本发明一实施例,其中,请参见图13,如图13所示,上述应用程序更新内容包括与所述应用程序中所有项目对应的更新程序包,所述装置还还包括:
确定模块1140,用于根据所述更新程序包中与所有项目分别对应的版本号,确定所述应用程序的更新项目和非更新项目;
查找模块1150,用于在所述应用程序包中查找与所述更新项目对应的更新项目内容;
所述编译模块1120,具体用于使用编译器对所述更新项目内容进行编译;
所述更新模块1130,具体用于当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
在本发明实施例中,应用程序更新内容包括与应用程序中所有项目对应的更新程序包,当获取到该应用程序更新内容后,通过比较更新程序包中的版本号以及当前应用程序的当前版本号,能够准确地确定本应用程序非更新项目和需要更新的更新项目,从而在更新程序包中快速查找与更新项目对应的更新项目内容,使用编译器对更新项目内容进行编译,从而得到与更新项目对应的配置文件,当使用配置文件对更新项目进行更新时,应用程序可正常运行,非更新项目的功能能够正常使用,从而避免了传统的完全覆盖式的更新方法中,需要重新启动应用程序才能够编译新下载的更新安装包的配置文件,需要重新启动应用程序,才能够查知更新内容的情况,从而提高了用户体验。
作为本发明另一实施例,在上述实施例中的应用程序更新装置中,所述应用程序包括更新项目和非更新项目,所述应用程序更新内容包括与所述更新项目对应的更新项目内容;
所述编译模块1120,具体用于使用所述编译器对所述更新项目内容进行编译;
所述更新模块1130,具体用于当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述应用程序的更新项目进行更新。
在本发明实施例中,下载的应用程序更新内容包括更新项目以及静态资源形式的更新项目内容,由于下载的只是整个应用程序中需要更新的更新项目,而不是如传统的更新方法中,完全下载包括非更新项目和更新项目的整个应用程序的更新安装包,因此,在应用程序的运行过程中,当编译器对更新项目内容编译,编译成的配置文件对应用程序的更新项目进行更新,应用程序的非更新项目的运行不受影响,因此应用程序可照常运行,用户可照常使用应用程序的非更新项目的功能,同时,当某一更新项目更新完毕后,该更新项目也能够运行,从而在更新过程中即可及时查知应用程序的更新内容,避免了传统的完全覆盖式的更新方法中,需要重新启动应用程序才能够编译新下载的更新安装包的配置文件,重新启动应用程序,才能够知道更新内容的情况,从而提高了用户体验。
在本发明另一实施例中,请参见图14,如图14所示,图11所示实施例提供的获取模块1110,包括:
升级请求发送子模块1111,用于向所述服务器发送升级请求信息,以使所述服务器判断是否存在所述应用程序更新内容,其中,所述升级请求信息包括需要更新的更新项目名称以及更新项目的当前版本号;
第一更新内容接收子模块1112,用于接收所述服务器发送的所述应用程序更新内容。
在本发明实施例中,通过向服务器发送升级请求信息,服务器可根据升级请求信息中包括的当前版本号判断是否存在应用程序更新内容,其中,应用程序更新内容包括的更新项目的版本号大于更新项目的当前版本号;同时,由于应用程序更新内容并非对应用程序完全覆盖式更新,因此,更新项目的版本号并不一定与应用程序的版本号完全相同。由于是终端向服务器发送升级请求信息,因此更新频率终端自身可控,终端用户自主性更高。
在本发明另一实施例中,请参见图15,应用程序包括与各个项目分别对应的当前版本号,应用程序更新内容包括需要更新的更新项目名称以及更新项目的最新版本号,如图15所示,图11所示实施例提供的获取模块1110,包括:
更新消息接收子模块1113,用于接收所述服务器主动推送的项目更新消息,其中,所述项目更新消息包括所述更新项目的最新版本号;
第一版本号判断子模块1114,用于将所述更新项目的最新版本号与所述当前版本号进行比较,判断所述最新版本号是否大于所述当前版本号;
更新响应发送子模块1115,用于若第一版本号判断子模块1114判定所述最新版本号大于所述当前版本号时,向所述服务器发送项目更新响应,其中,所述项目更新响应用于获取更新项目;
第二更新内容接收子模块1116,用于接收服务器推送的所述应用程序更新内容。
在本发明实施例中,应用程序包括多个项目,其中可划分为更新项目和非更新项目,因此,当对应用程序进行更新升级时,可针对其中的更新项目进行更新升级,通过比较更新项目的最新版本号与当前版本号,判断最新版本号是否大于当前版本号,能够确定应用程序是否需要更新,从而及时地获取应用程序更新内容,对自身的应用程序进行及时更新。同时,通过服务器主动向终端推送项目更新消息,终端可根据自身需要,判断是否更新应用程序,从而将自身应用程序的更新项目更新到最新版本,由于是服务器主动推送,因此,更新较为及时,从而使得用户更加及时地享受到最新版本的体验效果。
与终端的应用程序更新装置相对应,请参见图16,图16为本发明实施例提供的一种应用程序更新装置的结构示意图,如图16所示,该应用程序更新装置用于服务器,包括:
接收模块1610,用于接收上传的静态资源形式的应用程序更新内容;
发送模块1620,用于向终端发送所述静态资源形式的应用程序更新内容。
在本发明实施例中,服务器接收静态资源形式的应用程序更新内容,由于服务器只审核动态资源形式的更新内容,如程序逻辑与动态代码,因此,服务器将更加快速地向终端发送该应用程序更新内容。
在本发明另一实施例中,请参见图17,如图17所示,上述应用程序更新内容包括需要更新的更新项目名称、更新项目的最新版本号以及静态资源形式的更新项目内容,图16所示的发送模块1620,包括:
升级请求接收子模块1621,用于接收终端发送的升级请求信息,所述升级请求信息包括应用程序的更新项目名称以及更新项目的当前版本号;
第一更新内容查找子模块1622,用于查找与所述更新项目名称匹配的应用程序更新内容;
第二版本号判断子模块1623,用于判断所述当前版本号是否小于所述最新版本号;
第一更新内容推送子模块1624,用于若所述第二版本号判断子模块1623判定所述当前版本号小于是最新版本号时,向所述终端发送所述应用程序更新内容。
在本发明实施例中,通过接收终端发送的升级请求信息,服务器能够根据升级请求信息中的当前版本号准确获知哪些终端的应用程序需要升级,从而根据升级请求信息中的当前版本号是否小于自身存储的应用程序更新内容的最新版本号,判断是否需要向终端推送该应用程序更新内容,终端自主性较高,且推送速度较快。同时,服务器只发送需要更新的更新项目的最新版本号和更新项目内容,因此,应用程序能够进行非完全覆盖式的更新。
在本发明另一实施例中,如图18所示,图16所示的发送模块1620,包括:
更新消息推送子模块1625,用于向所述终端主动推送项目更新消息,其中,所述项目更新消息包括更新项目的最新版本号;
更新响应接收子模块1626,用于接收所述终端发送的项目更新响应;
更新内容查找子模块1627,用于查找所述应用程序更新内容;
第二更新内容推送子模块1628,用于向所述终端推送所述应用程序更新内容。
在本发明实施例中,通过向终端推送项目更新消息,从而获知哪些终端需要更新应用程序,向各个终端推送该应用程序更新内容,提高了推送速度,提高了推送效率。
图19根据一示例性实施例示出的一种终端800的框图。例如,终端1900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图19,终端1900可以包括以下一个或多个组件:处理组件1902,第一存储器1904,电源组件1906,多媒体组件1908,音频组件1910,输入/输出(I/O)的接口1912,传感器组件1914,以及通信组件1916。
处理组件1902通常控制终端1900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1902可以包括一个或多个第一处理器1920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1902可以包括一个或多个模块,便于处理组件1902和其他组件之间的交互。例如,处理组件1902可以包括多媒体模块,以方便多媒体组件1908和处理组件1902之间的交互。
第一存储器1904被配置为存储各种类型的数据以支持在终端1900的操作。这些数据的示例包括用于在终端1900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。第一存储器1904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1906为终端1900的各种组件提供电力。电源组件1906可以包括电源管理系统,一个或多个电源,及其他与为终端1900生成、管理和分配电力相关联的组件。
多媒体组件1908包括在所述终端1900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1908包括一个前置摄像头和/或后置摄像头。当终端1900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1910被配置为输出和/或输入音频信号。例如,音频组件1910包括一个麦克风(MIC),当终端1900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在第一存储器1904或经由通信组件1916发送。在一些实施例中,音频组件1910还包括一个扬声器,用于输出音频信号。
I/O接口1912为处理组件1902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1914包括一个或多个传感器,用于为终端1900提供各个方面的状态评估。例如,传感器组件1914可以检测到终端1900的打开/关闭状态,组件的相对定位,例如所述组件为终端1900的显示器和小键盘,传感器组件1914还可以检测终端1900或终端1900一个组件的位置改变,用户与终端1900接触的存在或不存在,终端1900方位或加速/减速和终端1900的温度变化。传感器组件1914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1916被配置为便于终端1900和其他设备之间有线或无线方式的通信。终端1900可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端1900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的第一存储器1904,上述指令可由终端1900的第一处理器1920执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种提醒方法,所述方法包括:
获取服务器端静态资源形式的应用程序更新内容;
使用编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的配置文件;
使用所述配置文件对所述应用程序的更新项目进行更新。
图20根据一示例性实施例示出的一种用于应用程序更新的服务器2000的框图。例如,服务器2000可以被提供为一服务器。参照图20,服务器2000包括处理组件2022,其进一步包括一个或多个处理器,以及由第二存储器2032所代表的存储器资源,用于存储可由处理组件2022的执行的指令,例如应用程序。第二存储器2032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件2022被配置为执行指令,以执行上述方法获取服务器静态资源形式的应用程序更新内容;
通过编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的配置文件;
使用所述配置文件对所述应用程序的更新项目进行更新。
服务器2000还可以包括一个电源组件2026被配置为执行服务器2000的电源管理,一个有线或无线网络接口2050被配置为将服务器2000连接到网络,和一个输入输出(I/O)接口2058。服务器2000可以操作基于存储在第二存储器2032的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得终端能够执行一种应用程序更新方法,所述方法包括:
接收上传的静态资源形式的应用程序更新内容;
向终端发送所述静态资源形式的应用程序更新内容。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (20)
1.一种应用程序更新方法,其特征在于,包括:
获取服务器静态资源形式的应用程序更新内容;
通过编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的新的配置文件;
使用新的配置文件对所述应用程序的更新项目进行更新。
2.根据权利要求1所述的应用程序更新方法,其特征在于,所述使用新的配置文件对所述应用程序的更新项目进行更新,包括:
新建所述新的配置文件的读取地址,且保留所述应用程序的旧的配置文件;
根据所述新的配置文件的读取地址查找所述新的配置文件,使用所述新的配置文件对所述应用程序的更新项目进行更新;
判断所述新的配置文件对所述应用程序的更新项目是否更新成功;
若所述新的配置文件对所述应用程序的更新项目更新失败,则查找所述旧的配置文件的读取地址,使用所述旧的配置文件对所述应用程序进行恢复。
3.根据权利要求1所述的应用程序更新方法,其特征在于,所述应用程序更新内容包括与所述应用程序中所有项目对应的更新程序包,所述方法还包括:
根据所述更新程序包中与所有项目分别对应的版本号,确定所述应用程序的更新项目和非更新项目;
在所述更新程序包中查找与所述更新项目对应的更新项目内容;
使用编译器对所述更新项目内容进行编译;
当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
4.根据权利要求1所述的应用程序更新方法,其特征在于,所述应用程序包括更新项目和非更新项目,所述应用程序更新内容包括与所述更新项目对应的更新项目内容,所述方法还包括:
使用所述编译器对所述更新项目内容进行编译;
当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
5.根据权利要求1所述的应用程序更新方法,其特征在于,所述获取服务器静态资源形式的应用程序更新内容,包括:
向所述服务器发送升级请求信息,以使所述服务器判断是否存在所述应用程序更新内容,其中,所述升级请求信息包括需要更新的更新项目名称以及更新项目的当前版本号;
接收所述服务器发送的与所述升级请求信息相对应的应用程序更新内容。
6.根据权利要求1所述的应用程序更新方法,其特征在于,所述应用程序包括与各个项目分别对应的当前版本号,所述应用程序更新内容包括需要更新的更新项目名称以及更新项目的最新版本号;所述获取服务器静态资源形式的应用程序更新内容,包括:
接收所述服务器主动推送的项目更新消息,其中,所述项目更新消息包括所述更新项目的最新版本号;
将所述更新项目的最新版本号与所述当前版本号进行比较,判断所述最新版本号是否大于所述当前版本号;
若所述最新版本号大于所述当前版本号,则向所述服务器发送项目更新响应,其中,所述项目更新响应用于获取所述更新项目;
接收服务器推送的所述应用程序更新内容。
7.一种应用程序更新方法,其特征在于,包括:
接收上传的静态资源形式的应用程序更新内容;
向终端发送所述静态资源形式的应用程序更新内容。
8.根据权利要求7所述的应用程序更新方法,其特征在于,所述应用程序更新内容包括需要更新的更新项目名称、更新项目的最新版本号以及静态资源形式的更新项目内容,所述向终端发送静态资源形式的应用程序更新内容,包括:
接收终端发送的升级请求信息,所述升级请求信息包括应用程序的更新项目名称以及更新项目的当前版本号;
查找与所述更新项目名称匹配的应用程序更新内容,判断所述当前版本号是否小于所述最新版本号;
若所述当前版本号小于所述最新版本号,则向所述终端发送与所述升级请求信息对应的应用程序更新内容。
9.根据权利要求7所述的应用程序更新方法,其特征在于,所述向终端发送静态资源形式的应用程序更新内容,包括:
向所述终端主动推送项目更新消息,其中,所述项目更新消息包括更新项目的最新版本号;
接收所述终端发送的项目更新响应,查找所述应用程序更新内容;
向所述终端推送所述应用程序更新内容。
10.一种应用程序更新装置,其特征在于,包括:
获取模块,用于获取服务器静态资源形式的应用程序更新内容;
编译模块,用于通过编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的新的配置文件;
更新模块,用于使用新的配置文件对所述应用程序的更新项目进行更新。
11.根据权利要求10所述的应用程序更新装置,其特征在于,所述更新模块,包括:
新建子模块,用于新建所述新的配置文件的读取地址,且保留所述应用程序的旧的配置文件;
第一查找子模块,用于根据所述新的配置文件的读取地址查找所述新的配置文件;
更新子模块,用于使用所述新的配置文件对所述应用程序的更新项目进行更新;
判断子模块,用于判断所述新的配置文件对所述更新项目是否更新成功;
第二查找子模块,用于若所述判断子模块判定所述新的配置文件对所述应用程序的更新项目更新失败时,查找所述旧的配置文件的读取地址;
恢复子模块,用于使用所述旧的配置文件对所述应用程序进行恢复。
12.根据权利要求10所述的应用程序更新装置,其特征在于,所述应用程序更新内容包括与所述应用程序中所有项目对应的更新程序包,所述装置还包括:
确定模块,用于根据所述更新程序包中与所有项目分别对应的版本号,确定所述应用程序的更新项目和非更新项目;
查找模块,用于在所述应用程序包中查找与所述更新项目对应的更新项目内容;
所述编译模块,具体用于使用编译器对所述更新项目内容进行编译;
所述更新模块,具体用于当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
13.根据权利要求10所述的应用程序更新装置,其特征在于,所述应用程序包括更新项目和非更新项目,所述应用程序更新内容包括与所述更新项目对应的更新项目内容;
所述编译模块,具体用于使用所述编译器对所述更新项目内容进行编译;
所述更新模块,具体用于当所述应用程序运行时,运行所述非更新项目、并使用所述配置文件对所述更新项目进行更新。
14.根据权利要求10所述的应用程序更新装置,其特征在于,所述获取模块,包括:
升级请求发送子模块,用于向所述服务器发送升级请求信息,以使所述服务器判断是否存在所述应用程序更新内容,其中,所述升级请求信息包括需要更新的更新项目名称以及更新项目的当前版本号;
第一更新内容接收子模块,用于接收所述服务器发送的与所述升级请求信息相对应的应用程序更新内容。
15.根据权利要求10所述的应用程序更新装置,其特征在于,所述应用程序包括与各个项目分别对应的当前版本号,所述应用程序更新内容包括需要更新的更新项目名称以及更新项目的最新版本号;所述获取模块,包括:
更新消息接收子模块,用于接收所述服务器主动推送的项目更新消息,其中,所述项目更新消息包括所述更新项目的最新版本号;
第一版本号判断子模块,用于将所述更新项目的最新版本号与所述当前版本号进行比较,判断所述最新版本号是否大于所述当前版本号;
更新响应发送子模块,用于若所述第一版本号判断子模块判定所述最新版本号大于所述当前版本号时,向所述服务器发送项目更新响应,其中,所述项目更新响应用于获取更新项目;
第二更新内容接收子模块,用于接收服务器推送的所述应用程序更新内容。
16.一种应用程序更新装置,其特征在于,包括:
接收模块,用于接收上传的静态资源形式的应用程序更新内容;
发送模块,用于向终端发送所述静态资源形式的应用程序更新内容。
17.根据权利要求16所述的应用程序更新装置,其特征在于,所述应用程序更新内容包括需要更新的更新项目名称、更新项目的最新版本号以及静态资源形式的更新项目内容,所述发送模块,包括:
升级请求接收子模块,用于接收终端发送的升级请求信息,所述升级请求信息包括应用程序的更新项目名称以及更新项目的当前版本号;
第一更新内容查找子模块,用于查找与所述更新项目名称匹配的应用程序更新内容;
第二版本号判断子模块,用于判断所述当前版本号是否小于所述最新版本号;
第一更新内容推送子模块,用于若所述第二版本号判断子模块判定所述当前版本号小于所述最新版本号时,向所述终端发送与所述升级请求信息对应的应用程序更新内容。
18.根据权利要求16所述的应用程序更新装置,其特征在于,所述发送模块,包括:
更新消息推送子模块,用于向所述终端主动推送项目更新消息,其中,所述项目更新消息包括更新项目的最新版本号;
更新响应接收子模块,用于接收所述终端发送的项目更新响应;
第二更新内容查找子模块,用于查找所述应用程序更新内容;
第二更新内容推送子模块,用于向所述终端推送所述应用程序更新内容。
19.一种终端,其特征在于,包括:
第一处理器;
用于存储处理器可执行指令的第一存储器;
其中,所述第一处理器被配置为:
获取服务器静态资源形式的应用程序更新内容;
通过编译器对所述应用程序更新内容进行编译,确定应用程序的更新项目以及与所述更新项目对应的配置文件;
使用所述配置文件对所述应用程序的更新项目进行更新。
20.一种服务器,其特征在于,包括:
第二处理器;
用于存储处理器可执行指令的第二存储器;其中,所述第二处理器被配置为:
接收上传的静态资源形式的应用程序更新内容;
向终端发送所述静态资源形式的应用程序更新内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610245233.7A CN105930185A (zh) | 2016-04-19 | 2016-04-19 | 应用程序更新方法、装置、终端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610245233.7A CN105930185A (zh) | 2016-04-19 | 2016-04-19 | 应用程序更新方法、装置、终端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105930185A true CN105930185A (zh) | 2016-09-07 |
Family
ID=56839523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610245233.7A Pending CN105930185A (zh) | 2016-04-19 | 2016-04-19 | 应用程序更新方法、装置、终端和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930185A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412029A (zh) * | 2016-09-13 | 2017-02-15 | 乐视控股(北京)有限公司 | 一种配置信息接收和发送方法及装置 |
CN106791123A (zh) * | 2016-12-27 | 2017-05-31 | 努比亚技术有限公司 | 用户终端及应用处理方法 |
CN107463405A (zh) * | 2017-08-04 | 2017-12-12 | 深圳市华傲数据技术有限公司 | 一种应用程序的更新方法及装置 |
CN108021343A (zh) * | 2017-11-10 | 2018-05-11 | 维沃移动通信有限公司 | 一种应用程序的显示方法、装置及移动终端 |
CN108632101A (zh) * | 2018-05-31 | 2018-10-09 | 北京百度网讯科技有限公司 | 用于更新配置对象的方法和装置 |
CN108958827A (zh) * | 2017-05-25 | 2018-12-07 | 贵州白山云科技有限公司 | 一种处理程序升级故障的方法和系统 |
CN109412873A (zh) * | 2018-12-20 | 2019-03-01 | 中国移动通信集团江苏有限公司 | 配置更新方法及装置、终端设备及计算机存储介质 |
CN110362335A (zh) * | 2019-07-22 | 2019-10-22 | 珠海格力电器股份有限公司 | 处理组态项目的方法、服务器和系统 |
CN111913730A (zh) * | 2020-07-15 | 2020-11-10 | 上海莉莉丝科技股份有限公司 | 用户无感的应用程序内更新方法及用户端、程序服务器 |
CN112068874A (zh) * | 2020-07-30 | 2020-12-11 | 深圳市优必选科技股份有限公司 | 软件项目持续集成方法、装置、终端设备和存储介质 |
CN114124924A (zh) * | 2020-08-25 | 2022-03-01 | 深圳市欢太科技有限公司 | 一种确定配置信息的方法、设备及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461582A (zh) * | 2014-12-30 | 2015-03-25 | 乐视网信息技术(北京)股份有限公司 | 业务处理方法、装置以及设备 |
CN104778063A (zh) * | 2015-04-16 | 2015-07-15 | 小米科技有限责任公司 | 资源更新方法和装置 |
US9274783B2 (en) * | 2013-12-25 | 2016-03-01 | Sap Se | Dynamic delivery and integration of static content into cloud |
-
2016
- 2016-04-19 CN CN201610245233.7A patent/CN105930185A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274783B2 (en) * | 2013-12-25 | 2016-03-01 | Sap Se | Dynamic delivery and integration of static content into cloud |
CN104461582A (zh) * | 2014-12-30 | 2015-03-25 | 乐视网信息技术(北京)股份有限公司 | 业务处理方法、装置以及设备 |
CN104778063A (zh) * | 2015-04-16 | 2015-07-15 | 小米科技有限责任公司 | 资源更新方法和装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412029A (zh) * | 2016-09-13 | 2017-02-15 | 乐视控股(北京)有限公司 | 一种配置信息接收和发送方法及装置 |
CN106791123A (zh) * | 2016-12-27 | 2017-05-31 | 努比亚技术有限公司 | 用户终端及应用处理方法 |
CN108958827A (zh) * | 2017-05-25 | 2018-12-07 | 贵州白山云科技有限公司 | 一种处理程序升级故障的方法和系统 |
CN108958827B (zh) * | 2017-05-25 | 2021-11-02 | 贵州白山云科技股份有限公司 | 一种处理程序升级故障的方法和系统 |
CN107463405B (zh) * | 2017-08-04 | 2020-07-17 | 深圳市华傲数据技术有限公司 | 一种应用程序的更新方法及装置 |
CN107463405A (zh) * | 2017-08-04 | 2017-12-12 | 深圳市华傲数据技术有限公司 | 一种应用程序的更新方法及装置 |
CN108021343A (zh) * | 2017-11-10 | 2018-05-11 | 维沃移动通信有限公司 | 一种应用程序的显示方法、装置及移动终端 |
CN108632101A (zh) * | 2018-05-31 | 2018-10-09 | 北京百度网讯科技有限公司 | 用于更新配置对象的方法和装置 |
CN109412873A (zh) * | 2018-12-20 | 2019-03-01 | 中国移动通信集团江苏有限公司 | 配置更新方法及装置、终端设备及计算机存储介质 |
CN109412873B (zh) * | 2018-12-20 | 2022-06-03 | 中国移动通信集团江苏有限公司 | 配置更新方法及装置、终端设备及计算机存储介质 |
CN110362335A (zh) * | 2019-07-22 | 2019-10-22 | 珠海格力电器股份有限公司 | 处理组态项目的方法、服务器和系统 |
CN111913730A (zh) * | 2020-07-15 | 2020-11-10 | 上海莉莉丝科技股份有限公司 | 用户无感的应用程序内更新方法及用户端、程序服务器 |
CN112068874A (zh) * | 2020-07-30 | 2020-12-11 | 深圳市优必选科技股份有限公司 | 软件项目持续集成方法、装置、终端设备和存储介质 |
CN112068874B (zh) * | 2020-07-30 | 2023-12-29 | 深圳市优必选科技股份有限公司 | 软件项目持续集成方法、装置、终端设备和存储介质 |
CN114124924A (zh) * | 2020-08-25 | 2022-03-01 | 深圳市欢太科技有限公司 | 一种确定配置信息的方法、设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930185A (zh) | 应用程序更新方法、装置、终端和服务器 | |
CN107967141A (zh) | 操作系统升级方法、装置及终端 | |
CN105915401A (zh) | 智能硬件的固件升级方法、装置和设备 | |
CN108897560A (zh) | 智能设备的固件升级方法、装置及存储介质 | |
CN104038263A (zh) | 建立蓝牙连接的方法和装置 | |
CN105204894A (zh) | 安装智能设备的插件的方法和装置 | |
CN104461666A (zh) | 设备主处理器的固件升级方法及装置 | |
CN104105169A (zh) | 自动连接无线局域网的方法及装置 | |
CN103870310A (zh) | 程序编译方法及相关装置 | |
CN107315606A (zh) | 应用更新方法及装置 | |
CN106154158A (zh) | 终端马达测试方法及装置 | |
CN104320774A (zh) | 一种升级方法、装置及设备 | |
CN106790895A (zh) | 一种故障处理方法和装置 | |
CN105677392A (zh) | 应用程序的推荐方法和装置 | |
CN105208177B (zh) | 通讯录更新方法及装置 | |
CN105812515A (zh) | 移动终端的保护套、设置系统主题的方法、装置及终端 | |
CN110209385A (zh) | 项目创建方法及装置 | |
CN106990989B (zh) | 控制应用程序安装的方法及装置 | |
CN105704016A (zh) | 一种群消息屏蔽处理方法、装置及终端 | |
CN104199726B (zh) | 设备功能扩展方法及装置 | |
CN105094830A (zh) | 一种执行目标功能的方法和装置 | |
CN109344051A (zh) | 数据处理的方法、装置、电子设备及存储介质 | |
CN107704259A (zh) | 应用升级方法、装置及存储介质 | |
CN105554087A (zh) | 信息设置方法及装置 | |
CN105608095A (zh) | 多媒体播放方法、装置及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160907 |