CN112988181A - 应用更新方法、装置、终端、服务器和可读存储介质 - Google Patents
应用更新方法、装置、终端、服务器和可读存储介质 Download PDFInfo
- Publication number
- CN112988181A CN112988181A CN201911277232.0A CN201911277232A CN112988181A CN 112988181 A CN112988181 A CN 112988181A CN 201911277232 A CN201911277232 A CN 201911277232A CN 112988181 A CN112988181 A CN 112988181A
- Authority
- CN
- China
- Prior art keywords
- resource
- updated
- application
- resources
- 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.)
- Pending
Links
Images
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)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供的应用更新方法、装置、终端和可读存储介质,加载应用程序的资源并启动应用程序;获取应用程序在服务器上的更新资源;重新加载包括更新资源的应用程序的资源,并启动应用程序。从而通过直接获取更新资源,并通过资源重加载的方式进行资源的更新,实现了在不更新应用程序的前提下更新应用程序的资源,提升了更新效率,改善了用户体验。
Description
技术领域
本发明实施例涉及但不限于终端技术领域,具体而言,涉及但不限于一种应用更新方法、装置、终端、服务器和可读存储介质。
背景技术
在移动终端设备用户量迅速增长的情况下,应用程序APP已经成为用户生活中重要的部分。APP在遇到业务需求发生变化时,当前市场上通用的方式为:通过版本升级实现业务的更新,提示用户升级到最新的APP版本。这种方式的缺陷是:升级前需要对APP上架,审核操作,用户点击APP升级时需要服务器端下载完整的版本后执行程序安装。整个升级过程需要花费很长的周期,且APP升级的不稳定性也是一个风险。如何能不通过升级APP即可实现APP的资源更新,成为了提升APP竞争力的重要目标。
发明内容
本发明实施例提供的应用更新方法、装置、终端、服务器和可读存储介质,主要解决的技术问题是如何在不升级应用程序的前提下实现应用资源的更新。
为解决上述技术问题,本发明实施例提供一种应用更新方法,包括:
加载应用程序的资源并启动所述应用程序;
获取所述应用程序在服务器上的更新资源;
重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
本发明实施例提供一种应用更新方法,包括:
部署应用程序更新所需的更新资源;
将所述更新资源下载到终端中;所述更新资源用于所述终端重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
本发明实施例还提供一种应用更新装置,包括:
资源加载模块,用于加载应用程序的资源并启动所述应用程序;
资源更新模块,用于获取所述应用程序在服务器上的更新资源;
所述资源加载模块还用于:重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
本发明实施例还提供一种应用更新装置,包括:
资源部署模块,用于部署应用程序更新所需的更新资源;
资源下载模块,用于将所述更新资源下载到终端中;所述更新资源用于所述终端重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
本发明实施例还提供一种终端,所述终端包括第一处理器、第一存储器及第一通信总线;
所述第一通信总线用于实现第一处理器和第一存储器之间的连接通信;
所述第一处理器用于执行第一存储器中存储的一个或者多个计算机程序,以实现上述的应用更新方法的步骤。
本发明实施例还提供一种服务器,所述终端包括第二处理器、第二存储器及第二通信总线;
所述第二通信总线用于实现第二处理器和第二存储器之间的连接通信;
所述第二处理器用于执行第二存储器中存储的一个或者多个计算机程序,以实现上述的应用更新方法的步骤。
本发明实施例还提供一种计算机存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述的应用更新方法的步骤。
本发明的有益效果是:
根据本发明实施例提供的应用更新方法、装置、终端和可读存储介质,加载应用程序的资源并启动应用程序;获取应用程序在服务器上的更新资源;重新加载包括更新资源的应用程序的资源,并启动应用程序。从而通过直接获取更新资源,并通过资源重加载的方式进行资源的更新,实现了在不更新应用程序的前提下更新应用程序的资源,提升了更新效率,改善了用户体验。
本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
图1为本发明实施例一提供的应用更新方法流程图;
图2为本发明实施例二提供的应用更新方法流程图;
图3为本发明实施例三提供的应用更新方法流程图;
图4为本发明实施例三提供的资源初始化流程图;
图5为本发明实施例三提供的获取更新资源流程图;
图6为本发明实施例三提供的资源包重装流程图;
图7为本发明实施例三提供的应用更新方法流程图;
图8为本发明实施例三提供的资源初始化流程图;
图9为本发明实施例三提供的词条初始化流程图;
图10为本发明实施例三提供的全量方式更新流程图;
图11为本发明实施例三提供的增量方式更新流程图;
图12为本发明实施例四提供的应用更新装置组成示意图;
图13为本发明实施例五提供的应用更新装置组成示意图;
图14为本发明实施例六提供的终端组成示意图;
图15为本发明实施例六提供的服务器组成示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
本实施例提供了一种应用更新方法,请参考图1,该方法包括:
S101、加载应用程序的资源并启动应用程序;
S102、获取应用程序在服务器上的更新资源;
S103、重新加载包括更新资源的应用程序的资源,并启动应用程序。
本发明各实施例中的应用更新方法,应用于具有终端和服务器的更新系统中;其中,终端上有待更新的应用程序,而服务器提供更新资源。
本实施例中的应用程序中的数据更新方式,并非通过更新应用程序来实现;其中,本实施例中的应用更新方式,是通过在启动应用程序时,对应用程序的相应的资源进行加载,从而实现了对应用程序中的数据更新的效果。
S101中,加载应用程序的资源并启动应用程序,指的是加载当前该应用程序在本地所对应的资源,从而实现对应用程序的启动过程。本地的资源指的是应用程序在本地已有的资源,该资源可以包括终端从服务器侧所获取的更新资源。
S102中,获取应用程序在服务器上的更新资源,指的是应用程序在启动之后,就从服务器侧获取更新资源,该更新资源则用于该应用程序的本次更新。当然,应用程序并非每次都有资源更新的,因此仅在有资源更新的情况下,才会获取在服务器上的更新资源。
S103中,在获取到了更新资源之后,通过重新加载应用程序的资源的形式,实现应用程序的重新启动,而重新加载的应用程序的资源包括了从服务器获取到的更新资源,这样就可以在不更新应用程序的前提下,实现对应用程序中的资源更新。
在一些实施例中,在加载应用程序的资源并启动应用程序之前,还可以包括:
判断是否有应用程序的本地资源;
若是,则将本地资源设置为应用程序的加载资源;
若否,则将内置资源设置为应用程序的加载资源。其中,本地资源指的是在终端中/data/data/packagename/files/source目录下资源,而内置资源则是指的应用程序内APP assets目录内置的资源。也就是说,如果有应用程序本地的资源,则直接采用;如果没有,则采用内置资源。
在一些实施例中,获取应用程序在服务器上的更新资源可以包括:
向服务器发送第一指令;
接收服务器根据第一指令返回的资源描述文件;
根据资源描述文件判断是否需要更新;
若是,则向服务器发送第二指令,获取根据第二指令返回的更新资源。由于并非每次都需要对应用程序的资源进行更新,而是否进行更新,则可以通过服务器侧设置的资源描述文件进行判断。资源描述文件中,其可以包括该应用程序是否有更新、更新版本如何、提供了资源包的下载地址、以及资源更新的策略,还可以包括一些诸如更新内容详情、是否推荐更新等参考信息,以便用户可以参考借鉴。
资源描述文件,通过终端发起的第一指令来触发获取,获取之后,资源描述文件从服务器发送给终端;然后,终端侧自动判断,或者是参考用户的操作判断资源描述文件中的内容,以确定是否需要对应用程序进行资源更新;如果确实需要更新,那么终端再发起第二指令至服务器,根据第二指令来获取更新资源,也就是服务器根据第二指令,将更新资源发送给终端。
在一些实施例中,向服务器发送第二指令,获取根据第二指令返回的更新资源具体包括:
根据资源描述文件中的第一版本号v1和本地资源版本号v2的差值,获取v1-v2的增量资源包,作为更新资源;或,
根据资源描述文件中的第一版本号v1,获取全量资源包,作为更新资源。资源描述文件中含有更新文件的版本号v1,本终端也有相应的应用程序的版本号v2,基于版本号v1和v2,并结合该应用程序的资源更新方式,可以选择获取相应的资源包作为更新资源。具体的,资源更新方式可以包括增量式更新或者是全量式更新,而这两种更新所对应的更新资源则是增量式资源和全量式资源。增量式资源是基于版本更新的差异性所确定的,其可以理解为对当前该应用程序已有的资源进行扩充的更新;全量式更新则是基于新版本本身所确定的,其可以理解为对当前应用程序已有的资源进行整体上的替换。
在一些实施例中,在向服务器发送第二指令,获取根据第二指令返回的更新资源之后,还可以包括:
将更新资源解压到临时temp目录中,并根据更新资源的类型,添加相应的标识文件到temp目录中。获取到更新资源之后,首先解压存放于临时目录中,并根据该更新资源更新策略的不同,添加相应的标识文件到temp目录中;具体的,临时目录中的标识文件,可以包括全量更新标识文件,或者是增量更新标识文件。
在一些实施例中,重新加载包括更新资源的应用程序的资源,并启动应用程序可以包括:
判断temp目录中是否有全量更新标识文件;若是,则将temp目录作为正式show目录,并使用show目录加载资源;
若否,且temp目录中有增量更新标识文件,则将temp目录中的资源拷贝到show目录中,并使用show目录加载资源。如果是全量更新,那么直接将temp目录修改为show目录即可,然后加载show目录中的资源实现资源更新;而如果是增量更新,那么就将temp目录中的更新文件,复制到show目录中,然后加载show目录中的资源实现资源更新。
在一些实施例中,向服务器发送第二指令,获取根据第二指令返回的更新资源可以包括:
当服务器端的资源和本地资源差值大于预设阈值时,则获取全量资源包;否则获取增量资源包。如果服务器端的资源,与本地的资源差距过大,超过了预设阈值,那么就可以直接获取全量资源包进行全量更新;而如果服务器端的资源与本地资源差距较小,则可以获取增量资源包来进行增量更新。
在一些实施例中,还可以包括:
获取系统语言;
生成更新词条文件;
判断本地show目录中是否存在历史词条文件;若是,则将更新词条文件替换历史词条文件;若否,则在更新词条文件,添加至show目录中。词条支持国际化方式更新。其中,词条更新的方案为,应用程序assets中内置对于的词条文件,其中词条文件可以按照strings_xx.xml方式命名,xx为系统对应的语言;然后根据系统语言,生成对应的strings_xx.xml文件,并根据show目录中的词条文件存在与否,进行替换或者直接添加。
本发明实施例提供的应用更新方法,加载应用程序的资源并启动应用程序;获取应用程序在服务器上的更新资源;重新加载包括更新资源的应用程序的资源,并启动应用程序。从而通过直接获取更新资源,并通过资源重加载的方式进行资源的更新,实现了在不更新应用程序的前提下更新应用程序的资源,提升了更新效率,改善了用户体验。
实施例二
本实施例提供了一种应用更新方法,请参考图2,该方法包括:
S201、部署应用程序更新所需的更新资源;
S202、将更新资源下载到终端中;更新资源用于终端重新加载包括更新资源的应用程序的资源,并启动应用程序。
本发明各实施例中的应用更新方法,应用于具有终端和服务器的更新系统中;其中,终端上有待更新的应用程序,而服务器提供更新资源。
本实施例中的应用程序中的数据更新方式,并非通过更新应用程序来实现;其中,本实施例中的应用更新方式,是通过在启动应用程序时,对应用程序的相应的资源进行加载,从而实现了对应用程序中的数据更新的效果。
S201中,服务器部署应用程序更新所需的更新资源,也就是当应用程序需要更新时,服务器对更新资源进行部署,其部署的动作包括更新资源的生成,以及相应的资源描述文件的生成;资源描述文件中可以包括该应用程序是否有更新、更新版本如何、提供了资源包的下载地址、以及资源更新的策略,还可以包括一些诸如更新内容详情、是否推荐更新等参考信息,以便用户可以参考借鉴。
S202中,服务器将更新资源下载到终端中。服务器根据终端的相应指令,完成更新资源的下载,然后终端根据更新资源来对本端上的应用程序的资源进行更新。更新资源用于终端重新加载包括更新资源的应用程序的资源,并启动应用程序。
在一些实施例中,服务器将更新资源下载到终端中可以包括:
接收终端发送的第一指令;
根据第一指令向终端返回资源描述文件;
若需要更新,则接收终端发送的第二指令,根据第二指令下载更新资源至终端。由于并非每次都需要对应用程序的资源进行更新,而是否进行更新,则可以通过服务器侧设置的资源描述文件进行判断。资源描述文件中,其可以包括该应用程序是否有更新、更新版本如何、提供了资源包的下载地址、以及资源更新的策略,还可以包括一些诸如更新内容详情、是否推荐更新等参考信息,以便用户可以参考借鉴。
资源描述文件,通过终端发起的第一指令来触发获取,获取之后,资源描述文件从服务器发送给终端;然后,终端侧自动判断,或者是参考用户的操作判断资源描述文件中的内容,以确定是否需要对应用程序进行资源更新;如果确实需要更新,那么终端再发起第二指令至服务器,根据第二指令来获取更新资源,也就是服务器根据第二指令,将更新资源发送给终端。
在一些实施例中,根据第二指令下载更新资源至终端具体包括:
根据资源描述文件中的第一版本号v1和本地资源版本号v2的差值,下载v1-v2的增量资源包,作为更新资源;或,
根据资源描述文件中的第一版本号v1,下载全量资源包,作为更新资源。资源描述文件中含有更新文件的版本号v1,本终端也有相应的应用程序的版本号v2,基于版本号v1和v2,并结合该应用程序的资源更新方式,可以选择获取相应的资源包作为更新资源。具体的,资源更新方式可以包括增量式更新或者是全量式更新,而这两种更新所对应的更新资源则是增量式资源和全量式资源。增量式资源是基于版本更新的差异性所确定的,其可以理解为对当前该应用程序已有的资源进行扩充的更新;全量式更新则是基于新版本本身所确定的,其可以理解为对当前应用程序已有的资源进行整体上的替换。
在一些实施例中,根据第二指令下载更新资源至终端可以包括:
当服务器端的资源和本地资源差值大于预设阈值时,则下载全量资源包;否则下载增量资源包。如果服务器端的资源,与本地的资源差距过大,超过了预设阈值,那么就可以直接获取全量资源包进行全量更新;而如果服务器端的资源与本地资源差距较小,则可以获取增量资源包来进行增量更新。
本发明实施例提供的应用更新方法,部署应用程序更新所需的更新资源;将更新资源下载到终端中;更新资源用于终端重新加载包括更新资源的应用程序的资源,并启动应用程序。从而通过直接获取更新资源,并通过资源重加载的方式进行资源的更新,实现了在不更新应用程序的前提下更新应用程序的资源,提升了更新效率,改善了用户体验。
实施例三
本实施例提供了一种应用更新方法,请参考图3,包括:
S301、应用程序启动;
S302、资源初始化,加载本地资源;
S303、终端向服务器发送第一指令,服务器返回资源描述文件;
S304、根据资源描述文件,终端给服务器发送第二指令,服务器返回更新资源;
S305、重新加载包括更新资源的本地资源,启动应用程序,完成应用程序的资源更新。
其中,资源初始化请参考图4,包括如下步骤:
S401、判断本地是否有资源,是,则执行S402,否,则执行S403;
S402、设置本地资源为APP加载资源;
S403、设置APP assets资源为APP加载资源。
其中,获取更新资源请参考图5,包括如下步骤:
S501、向服务器发送第一指令,服务器返回资源描述文件;
S502、根据资源描述文件判断是否需要更新资源;
S503、在需要更新时,向服务器发送第二指令,服务器返回更新资源。
其中S503中:根据资源描述文件中的VersionCode版本号v1,和本地资源VersionCode v2的差值更新v1-v2个增量包,或者更新整个全量包。
获取更新资源后,需要将更新到设备的资源包,重新组装为APP可识别的格式,请参考图6,主要步骤如下:
S601、判断设备本地资源是否为全量资源,是,则执行S602,否,则执行S603;
S602、删除老的资源;
S603、将增量资源复制到全量资源包内。
下面给出具体的实施示例。
资源初始化实施流程:流程大致分为初始化资源、创建APP、请求资源,请参考图7,具体包括以下步骤:
S701、APP启动;
S702、初始化资源:将下载到本地的资源包设置为APP可读取的资源,即将设备/data/data/packagename/files/source/temp目录重命名为/data/data/packagename/files/source/show目录;
S703、创建APP:创建APP时判断是否有本地资源;有则使用本地资源创建APP;没有则使用APP Assets的资源创建;
S704、请求服务器:创建APP完成后,向服务器发送请求,判断是否需要更新新的资源,如果是则将服务器上资源包下载到设备/data/data/packagename/files/source/temp目录。
资源初始化流程,请参考图8,资源包括图片和词条文件。资源初始化的目的是将上次从服务器更新到的资源设置为APP可读取的资源。初始化的过程即是将temp目录重命名为show目录的过程。具体步骤如下:
S801、APP启动,初始化资源;
S802、判断本地temp目录是否有全量更新标识文件finish.txt文件,是则执行S803,否则执行S804;
S803、删除show目录,将temp目录重命名为show目录,使用该目录加载资源;
S804、判断本地temp目录是否有增量更新标识文件finish_add.txt文件,是则执行S805,否则执行S806;
S805、将temp目录下的资源复制到show目录,并使用该目录加载资源;
S806、使用APP Assets目录下的资源创建APP。
其中:
Temp目录为:/data/data/packagename/files/source/temp;
Show目录为:/data/data/packagename/files/source/show;
finish.txt表示为全量方式更新,表示temp目录下为全量资源;
finish_add.txt表示为增量方式更新,表示temp目录下为增量资源。
在设备切换语言后,需要重新初始化词条;请参考图9,词条初始化流程的实际在初始化资源的流程中进行,具体步骤如下:
S901、初始化资源;
S902、获取系统语言,生成string_xx.xml文件名称;
S903、判断本地show目录中是否存在string_xx.xml文件,如果有则将文件文件加载到内存,流程结束;如果没有则执行S904;
S904、将APP Assets目录中的string_en.xml文件加载到内存。
请参考图10,资源更新分为全量方式更新和增量方式更新,其中全量方式更新具体流程如下:
S1001、请求服务器;
S1002、判断资源是否有更新,是则执行S1003,否则流程结束;
S1003、判断是否为全量方式更新,是则执行S1004,否则为增量方式;
S1004、下载全量资源包到/data/data/packagename/files/source目录,全量资源包命名为source.zip;
S1005、解压source.zip文件到/source/temp/目录,下载解压成功则执行S1006,否则流程终止;
S1006、将finish.txt文件写入到/source/temp目录,标记下载解压成功,finish.txt文件内容为当前更新的资源的version。
请参考图11,其中增量方式更新具体流程如下:
S1101、按照version--.zip的文件名称依次下载增量包文件;
S1102、将增量包解压到/data/data/packagename/files/source/temp目录,如果下载解压存在失败,则删除temp目录流程终止;成功则执行S1103;
S1103、写入finish_add.txt文件,标记增量更新成功。finish_add.txt文件内容为资源version。
其中,资源描述文件的格式可以如下:
实施例四
本实施例提供了一种应用更新装置,请参考图12,该装置包括:
资源加载模块121,用于加载应用程序的资源并启动应用程序;
资源更新模块122,用于获取应用程序在服务器上的更新资源;
资源加载模块121还用于:重新加载包括更新资源的应用程序的资源,并启动应用程序。
在一些实施例中,在加载应用程序的资源并启动应用程序之前,还可以包括:
判断是否有应用程序的本地资源;
若是,则将本地资源设置为应用程序的加载资源;
若否,则将内置资源设置为应用程序的加载资源。其中,本地资源指的是在终端中/data/data/packagename/files/source目录下资源,而内置资源则是指的应用程序内APP assets目录内置的资源。也就是说,如果有应用程序本地的资源,则直接采用;如果没有,则采用内置资源。
在一些实施例中,获取应用程序在服务器上的更新资源可以包括:
向服务器发送第一指令;
接收服务器根据第一指令返回的资源描述文件;
根据资源描述文件判断是否需要更新;
若是,则向服务器发送第二指令,获取根据第二指令返回的更新资源。由于并非每次都需要对应用程序的资源进行更新,而是否进行更新,则可以通过服务器侧设置的资源描述文件进行判断。资源描述文件中,其可以包括该应用程序是否有更新、更新版本如何、提供了资源包的下载地址、以及资源更新的策略,还可以包括一些诸如更新内容详情、是否推荐更新等参考信息,以便用户可以参考借鉴。
资源描述文件,通过终端发起的第一指令来触发获取,获取之后,资源描述文件从服务器发送给终端;然后,终端侧自动判断,或者是参考用户的操作判断资源描述文件中的内容,以确定是否需要对应用程序进行资源更新;如果确实需要更新,那么终端再发起第二指令至服务器,根据第二指令来获取更新资源,也就是服务器根据第二指令,将更新资源发送给终端。
在一些实施例中,向服务器发送第二指令,获取根据第二指令返回的更新资源具体包括:
根据资源描述文件中的第一版本号v1和本地资源版本号v2的差值,获取v1-v2的增量资源包,作为更新资源;或,
根据资源描述文件中的第一版本号v1,获取全量资源包,作为更新资源。资源描述文件中含有更新文件的版本号v1,本终端也有相应的应用程序的版本号v2,基于版本号v1和v2,并结合该应用程序的资源更新方式,可以选择获取相应的资源包作为更新资源。具体的,资源更新方式可以包括增量式更新或者是全量式更新,而这两种更新所对应的更新资源则是增量式资源和全量式资源。增量式资源是基于版本更新的差异性所确定的,其可以理解为对当前该应用程序已有的资源进行扩充的更新;全量式更新则是基于新版本本身所确定的,其可以理解为对当前应用程序已有的资源进行整体上的替换。
在一些实施例中,在向服务器发送第二指令,获取根据第二指令返回的更新资源之后,还可以包括:
将更新资源解压到临时temp目录中,并根据更新资源的类型,添加相应的标识文件到temp目录中。获取到更新资源之后,首先解压存放于临时目录中,并根据该更新资源更新策略的不同,添加相应的标识文件到temp目录中;具体的,临时目录中的标识文件,可以包括全量更新标识文件,或者是增量更新标识文件。
在一些实施例中,重新加载包括更新资源的应用程序的资源,并启动应用程序可以包括:
判断temp目录中是否有全量更新标识文件;若是,则将temp目录作为正式show目录,并使用show目录加载资源;
若否,且temp目录中有增量更新标识文件,则将temp目录中的资源拷贝到show目录中,并使用show目录加载资源。如果是全量更新,那么直接将temp目录修改为show目录即可,然后加载show目录中的资源实现资源更新;而如果是增量更新,那么就将temp目录中的更新文件,复制到show目录中,然后加载show目录中的资源实现资源更新。
在一些实施例中,向服务器发送第二指令,获取根据第二指令返回的更新资源可以包括:
当服务器端的资源和本地资源差值大于预设阈值时,则获取全量资源包;否则获取增量资源包。如果服务器端的资源,与本地的资源差距过大,超过了预设阈值,那么就可以直接获取全量资源包进行全量更新;而如果服务器端的资源与本地资源差距较小,则可以获取增量资源包来进行增量更新。
在一些实施例中,还可以包括:
获取系统语言;
生成更新词条文件;
判断本地show目录中是否存在历史词条文件;若是,则将更新词条文件替换历史词条文件;若否,则在更新词条文件,添加至show目录中。词条支持国际化方式更新。其中,词条更新的方案为,应用程序assets中内置对于的词条文件,其中词条文件可以按照strings_xx.xml方式命名,xx为系统对应的语言;然后根据系统语言,生成对应的strings_xx.xml文件,并根据show目录中的词条文件存在与否,进行替换或者直接添加。
实施例五
本实施例提供了一种应用更新装置,请参考图13,该装置包括:
资源部署模块131,用于部署应用程序更新所需的更新资源;
资源下载模块132,用于将更新资源下载到终端中;更新资源用于终端重新加载包括更新资源的应用程序的资源,并启动应用程序。
在一些实施例中,服务器将更新资源下载到终端中可以包括:
接收终端发送的第一指令;
根据第一指令向终端返回资源描述文件;
若需要更新,则接收终端发送的第二指令,根据第二指令下载更新资源至终端。由于并非每次都需要对应用程序的资源进行更新,而是否进行更新,则可以通过服务器侧设置的资源描述文件进行判断。资源描述文件中,其可以包括该应用程序是否有更新、更新版本如何、提供了资源包的下载地址、以及资源更新的策略,还可以包括一些诸如更新内容详情、是否推荐更新等参考信息,以便用户可以参考借鉴。
资源描述文件,通过终端发起的第一指令来触发获取,获取之后,资源描述文件从服务器发送给终端;然后,终端侧自动判断,或者是参考用户的操作判断资源描述文件中的内容,以确定是否需要对应用程序进行资源更新;如果确实需要更新,那么终端再发起第二指令至服务器,根据第二指令来获取更新资源,也就是服务器根据第二指令,将更新资源发送给终端。
在一些实施例中,根据第二指令下载更新资源至终端具体包括:
根据资源描述文件中的第一版本号v1和本地资源版本号v2的差值,下载v1-v2的增量资源包,作为更新资源;或,
根据资源描述文件中的第一版本号v1,下载全量资源包,作为更新资源。资源描述文件中含有更新文件的版本号v1,本终端也有相应的应用程序的版本号v2,基于版本号v1和v2,并结合该应用程序的资源更新方式,可以选择获取相应的资源包作为更新资源。具体的,资源更新方式可以包括增量式更新或者是全量式更新,而这两种更新所对应的更新资源则是增量式资源和全量式资源。增量式资源是基于版本更新的差异性所确定的,其可以理解为对当前该应用程序已有的资源进行扩充的更新;全量式更新则是基于新版本本身所确定的,其可以理解为对当前应用程序已有的资源进行整体上的替换。
在一些实施例中,根据第二指令下载更新资源至终端可以包括:
当服务器端的资源和本地资源差值大于预设阈值时,则下载全量资源包;否则下载增量资源包。如果服务器端的资源,与本地的资源差距过大,超过了预设阈值,那么就可以直接获取全量资源包进行全量更新;而如果服务器端的资源与本地资源差距较小,则可以获取增量资源包来进行增量更新。
实施例六
本实施例提供了一种终端,请参考图14,该终端包括第一处理器141、第一存储器142及第一通信总线143;
第一通信总线143用于实现第一处理器141和第一存储器142之间的连接通信;
第一处理器141用于执行第一存储器142中存储的一个或者多个计算机程序,以实现上述各实施例所述的应用更新方法的步骤,这里不再赘述。
本实施例还提供了一种服务器,请参考图15,该处理器包括第二处理器151、第二存储器152及第二通信总线153;
第二通信总线153用于实现第二处理器151和第二存储器152之间的连接通信;
第二处理器151用于执行第二存储器152中存储的一个或者多个计算机程序,以实现上述各实施例所述的应用更新方法的步骤,这里不再赘述。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储终端、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述各实施例中的应用更新方法的至少一个步骤。
本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算终端来执行,以实现上述各实施例中的应用更新方法的至少一个步骤。
本实施例还提供了一种计算机程序产品,包括计算机可读终端,该计算机可读终端上存储有如上所示的计算机程序。本实施例中该计算机可读终端可包括如上所示的计算机可读存储介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、终端、终端中的功能模块/单元可以被实施为软件(可以用计算终端可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (14)
1.一种应用更新方法,包括:
加载应用程序的资源并启动所述应用程序;
获取所述应用程序在服务器上的更新资源;
重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
2.如权利要求1所述的应用更新方法,其特征在于,在加载应用程序的资源并启动所述应用程序之前,还包括:
判断是否有所述应用程序的本地资源;
若是,则将所述本地资源设置为所述应用程序的加载资源;
若否,则将内置资源设置为所述应用程序的加载资源。
3.如权利要求1或2所述的应用更新方法,其特征在于,所述获取所述应用程序在服务器上的更新资源包括:
向服务器发送第一指令;
接收所述服务器根据所述第一指令返回的资源描述文件;
根据所述资源描述文件判断是否需要更新;
若是,则向所述服务器发送第二指令,获取根据所述第二指令返回的更新资源。
4.如权利要求3所述的应用更新方法,其特征在于,所述向所述服务器发送第二指令,获取根据所述第二指令返回的更新资源包括:
根据资源描述文件中的第一版本号v1和本地资源版本号v2的差值,获取v1-v2的增量资源包,作为所述更新资源;或,
根据资源描述文件中的第一版本号v1,获取全量资源包,作为所述更新资源。
5.如权利要求4所述的应用更新方法,其特征在于,在所述向所述服务器发送第二指令,获取根据所述第二指令返回的更新资源之后,还包括:
将所述更新资源解压到临时temp目录中,并根据所述更新资源的类型,添加相应的标识文件到temp目录中。
6.如权利要求5所述的应用更新方法,其特征在于,所述重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序包括:
判断temp目录中是否有全量更新标识文件;若是,则将所述temp目录作为正式show目录,并使用show目录加载资源;
若否,且所述temp目录中有增量更新标识文件,则将所述temp目录中的资源拷贝到show目录中,并使用show目录加载资源。
7.如权利要求4所述的应用更新方法,其特征在于,所述向所述服务器发送第二指令,获取根据所述第二指令返回的更新资源包括:
当所述服务器端的资源和本地资源差值大于预设阈值时,则获取全量资源包;否则获取增量资源包。
8.如权利要求1或2所述的应用更新方法,其特征在于,还包括:
获取系统语言;
生成更新词条文件;
判断本地show目录中是否存在历史词条文件;若是,则将所述更新词条文件替换所述历史词条文件;若否,则在所述更新词条文件,添加至所述show目录中。
9.一种应用更新方法,包括:
部署应用程序更新所需的更新资源;
将所述更新资源下载到终端中;所述更新资源用于所述终端重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
10.一种应用更新装置,包括:
资源加载模块,用于加载应用程序的资源并启动所述应用程序;
资源更新模块,用于获取所述应用程序在服务器上的更新资源;
所述资源加载模块还用于:重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
11.一种应用更新装置,包括:
资源部署模块,用于部署应用程序更新所需的更新资源;
资源下载模块,用于将所述更新资源下载到终端中;所述更新资源用于所述终端重新加载包括所述更新资源的所述应用程序的资源,并启动所述应用程序。
12.一种终端,所述终端包括第一处理器、第一存储器及第一通信总线;
所述第一通信总线用于实现第一处理器和第一存储器之间的连接通信;
所述第一处理器用于执行第一存储器中存储的一个或者多个计算机程序,以实现如权利要求1-8中任一项所述的应用更新方法的步骤。
13.一种服务器,包括第一处理器、第一存储器及第一通信总线;
所述第二通信总线用于实现第二处理器和第二存储器之间的连接通信;
所述第二处理器用于执行第二存储器中存储的一个或者多个计算机程序,以实现如权利要求9所述的应用更新方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如权利要求1-8中任一项所述的应用更新方法的步骤,或如权利要求9所述的应用更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911277232.0A CN112988181A (zh) | 2019-12-12 | 2019-12-12 | 应用更新方法、装置、终端、服务器和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911277232.0A CN112988181A (zh) | 2019-12-12 | 2019-12-12 | 应用更新方法、装置、终端、服务器和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988181A true CN112988181A (zh) | 2021-06-18 |
Family
ID=76332560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911277232.0A Pending CN112988181A (zh) | 2019-12-12 | 2019-12-12 | 应用更新方法、装置、终端、服务器和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988181A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338395A (zh) * | 2021-12-29 | 2022-04-12 | 武汉烽火信息集成技术有限公司 | 一种c/s通信网管方法、存储介质、电子设备及系统 |
CN114637527A (zh) * | 2022-05-18 | 2022-06-17 | 海马云(天津)信息技术有限公司 | 云应用的热更新资源提取与更新方法和装置 |
-
2019
- 2019-12-12 CN CN201911277232.0A patent/CN112988181A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338395A (zh) * | 2021-12-29 | 2022-04-12 | 武汉烽火信息集成技术有限公司 | 一种c/s通信网管方法、存储介质、电子设备及系统 |
CN114637527A (zh) * | 2022-05-18 | 2022-06-17 | 海马云(天津)信息技术有限公司 | 云应用的热更新资源提取与更新方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101143112B1 (ko) | 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법 | |
US8375382B2 (en) | Enabling parallel websphere runtime versions | |
US20170322796A1 (en) | Device and method for updating firmware and firmware update system | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
US9258357B2 (en) | Method for accessing plural cloud storages, electronic apparatus and non-transitory computer readable medium | |
US20230393840A1 (en) | File update method and apparatus, device and storage medium | |
CN109857423B (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
CN110955494B (zh) | 一种虚拟机磁盘镜像构建方法、装置、设备、介质 | |
CN107220074B (zh) | 对支撑层软件功能的访问、升级方法及装置 | |
CN107483241B (zh) | 一种在网元升级过程中下载升级镜像版本的方法和装置 | |
US20150067668A1 (en) | Installation engine and package format | |
CN112988181A (zh) | 应用更新方法、装置、终端、服务器和可读存储介质 | |
CN106775873B (zh) | 更新手机软件、获取补丁文件的方法及设备 | |
US20170052779A1 (en) | Method and Device for Running Version File | |
CN110597568B (zh) | 一种插件部署方法、系统及终端 | |
WO2019041891A1 (zh) | 升级包的生成方法及装置 | |
CN113867768A (zh) | 操作系统处理方法、装置、电子设备及存储介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN112860291A (zh) | 固件升级方法及装置 | |
CN112256316A (zh) | 客户端应用更新方法及客户端 | |
CN116069366A (zh) | 客户端应用程序更新方法及装置、存储介质及电子设备 | |
US20070079279A1 (en) | Embedded device with software registry | |
CN113641389B (zh) | 基于OpenCPU的软件升级方法、装置及设备 | |
JP2011175352A (ja) | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム |
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 |