CN109343880B - 一种rn包更新方法、装置及可读存储介质 - Google Patents
一种rn包更新方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN109343880B CN109343880B CN201811146770.1A CN201811146770A CN109343880B CN 109343880 B CN109343880 B CN 109343880B CN 201811146770 A CN201811146770 A CN 201811146770A CN 109343880 B CN109343880 B CN 109343880B
- Authority
- CN
- China
- Prior art keywords
- packet
- target
- information
- server
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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)
Abstract
本发明提供了一种RN包更新方法、装置及可读存储介质。该方法包括:发送动态更新请求至服务器;接收所述服务器基于所述动态更新请求反馈的反馈信息;如果所述反馈信息表明所述服务器通过所述动态更新请求,获得所述服务器发送的目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新;如果所述反馈信息表明所述服务器没有通过所述动态更新请求,发送静态更新请求至所述服务器;接收所述服务器基于所述静态更新请求反馈的静态配置信息;基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种RN包更新方法、装置及可读存储介质。
背景技术
React Native(简称RN)是Facebook开源的跨平台移动应用开发框架,支持iOS和安卓两大平台,旨在使用Javascript语言高效开发应用程序。RN包即为应用程序中基于React Native这种开发框架编写的程序模块。随着React Native的不断发展完善,越来越多开发者选择使用React Native进行部分业务线的开发。热更新作为React Native的优势之一,开发者可根据需要发布新的RN包,客户端根据需要从服务器下载该RN包运行即可实现更新。热更新可以让开发者绕开软件管理平台的审核机制,避免长时间的审核等待以及多次被拒造成的成本。然而,由于服务器维护多版本的RN包,管理维护难度较大,导致现有技术中的更新方式容易出现更新失败。
发明内容
本发明实施例提供了一种RN包更新方法、装置及可读存储介质,用于提供一种动态更新与静态更新结合的RN包更新方式,能有效提高更新成功率。
第一方面,本发明实施例提供了一种RN包更新方法,应用于客户端,包括:
发送动态更新请求至服务器,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息;
接收所述服务器基于所述动态更新请求反馈的反馈信息;
如果所述反馈信息表明所述服务器通过所述动态更新请求,获得所述服务器发送的目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新,所述目标RN包更新信息为所述服务器基于所述本地版本信息确定出的更新信息;
如果所述反馈信息表明所述服务器没有通过所述动态更新请求,发送静态更新请求至所述服务器;
接收所述服务器基于所述静态更新请求反馈的静态配置信息;
基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新。
可选的,所述基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,包括:
基于所述本地版本信息与所述静态配置信息,确定所述本地RN包所属的目标版本兼容范围,其中,所述静态配置信息包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
可选的,在所述基于所述目标RN包更新信息,进行RN包更新之后,所述方法还包括:
基于所述目标RN包更新信息中目标RN包的属性信息,对所述本地RN包的本地版本信息进行更新。
第二方面,本发明实施例提供一种RN包更新方法,应用于服务器,包括:
如果接收到客户端的动态更新请求,基于所述服务器的当前运行状态,确定反馈信息,将所述反馈信息发送至所述客户端,其中,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息,所述反馈信息用于表明所述服务器是否通过所述动态更新请求,如果所述反馈信息表明所述服务器通过所述动态更新请求,所述反馈信息中还包括所述服务器基于所述本地版本信息确定出的目标RN包更新信息,以使得所述客户端能基于所述目标RN包更新信息进行RN包更新;
如果接收到客户端的静态更新请求,将静态配置信息发送至所述客户端,以使得所述客户端能基于所述静态配置信息确定目标RN包更新信息,基于所述目标RN包更新信息进行RN包更新。
可选的,在所述确定反馈信息之后,所述方法还包括:
如果所述反馈信息表明所述服务器通过所述动态更新请求,确定所述本地RN包所属的目标版本兼容范围,其中,所述服务器中包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
可选的,所述方法还包括:
在每次发布RN包时,确定该RN包对应的版本兼容范围。
第三方面,本发明实施例提供一种RN包更新装置,应用于客户端,包括:
动态更新单元,用于发送动态更新请求至服务器,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息,接收所述服务器基于所述动态更新请求反馈的反馈信息,如果所述反馈信息表明所述服务器通过所述动态更新请求,获得所述服务器发送的目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新,所述目标RN包更新信息为所述服务器基于所述本地版本信息确定出的更新信息;
静态更新单元,用于如果所述反馈信息表明所述服务器没有通过所述动态更新请求,发送静态更新请求至所述服务器,接收所述服务器基于所述静态更新请求反馈的静态配置信息,基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新。
可选的,所述静态更新单元具体用于:
基于所述本地版本信息与所述静态配置信息,确定所述本地RN包所属的目标版本兼容范围,其中,所述静态配置信息包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
可选的,所述装置还包括本地信息更新单元,所述本地信息更新单元具体用于:在所述基于所述目标RN包更新信息,进行RN包更新之后,基于所述目标RN包更新信息中目标RN包的属性信息,对所述本地RN包的本地版本信息进行更新。
第四方面,本发明实施例提供一种RN包更新装置,应用于服务器,包括:
动态更新单元,用于如果接收到客户端的动态更新请求,基于所述服务器的当前运行状态,确定反馈信息,将所述反馈信息发送至所述客户端,其中,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息,所述反馈信息用于表明所述服务器是否通过所述动态更新请求,如果所述反馈信息表明所述服务器通过所述动态更新请求,所述反馈信息中还包括所述服务器基于所述本地版本信息确定出的目标RN包更新信息,以使得所述客户端能基于所述目标RN包更新信息进行RN包更新;
静态更新单元,用于如果接收到客户端的静态更新请求,将静态配置信息发送至所述客户端,以使得所述客户端能基于所述静态配置信息确定目标RN包更新信息,基于所述目标RN包更新信息进行RN包更新。
可选的,所述装置还包括第一确定单元,所述第一确定单元具体用于:在所述确定反馈信息之后,如果所述反馈信息表明所述服务器通过所述动态更新请求,确定所述本地RN包所属的目标版本兼容范围,其中,所述服务器中包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址,确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
可选的,所述装置还包括第二确定单元,所述第二确定单元具体用于:在每次发布RN包时,确定该RN包对应的版本兼容范围。
第五方面,本发明实施例提供一种RN包更新装置,所述RN包更新装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前述第一方面和第二方面实施例中所述的RN包更新方法的步骤。
第六方面,本发明实施例提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面和第二方面实施例中所述的RN包更新方法的步骤。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,定义动态更新与静态更新这两种模式,客户端的目标应用程序在进行RN包更新时,客户端首先发送动态更新请求,如果服务器通过该动态更新请求,服务器去确定与之对应的目标RN包的更新信息,并将其发送至客户端,客户端根据该信息即可进行更新。如果服务器由于自身的原因无法响应该动态更新请求,即反馈至客户端的反馈信息表明服务器没有通过动态更新请求,此时,将静态更新方式作为容灾更新方式,使得动态更新方式失败时,可以以静态更新方式进行更新,有效提高了更新的成功率。
附图说明
图1为本发明第一实施例中的RN包更新方法的流程图;
图2为本发明第二实施例中的RN包更新方法的流程图;
图3为本发明第三实施例中的RN包更新装置的示意图;
图4为本发明第四实施例中的RN包更新装置的示意图;
图5为本发明第五实施例中RN包更新装置的示意图。
具体实施方式
本发明实施例提供了一种RN包更新方法、装置及可读存储介质,用于提供一种动态更新与静态更新结合的RN包更新方式,该方法包括:发送动态更新请求至服务器,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息;接收所述服务器基于所述动态更新请求反馈的反馈信息;如果所述反馈信息表明所述服务器通过所述动态更新请求,获得所述服务器发送的目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新,所述目标RN包更新信息为所述服务器基于所述本地版本信息确定出的更新信息;如果所述反馈信息表明所述服务器没有通过所述动态更新请求,发送静态更新请求至所述服务器;接收所述服务器基于所述静态更新请求反馈的静态配置信息;基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,基于所述目标RN包更新信息,进行RN包更新。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例
请参考图1,本发明第一实施例提供一种RN包更新方法,应用于客户端,该RN包更新方法包括如下步骤:
S101:发送动态更新请求至服务器,动态更新请求中包括客户端中目标应用程序的本地RN包的本地版本信息;
S102:接收服务器基于动态更新请求反馈的反馈信息;
S103:如果反馈信息表明服务器通过动态更新请求,获得服务器发送的目标RN包更新信息,基于目标RN包更新信息,进行RN包更新,目标RN包更新信息为服务器基于本地版本信息确定出的更新信息;
S104:如果反馈信息表明服务器没有通过动态更新请求,发送静态更新请求至服务器;
S105:接收服务器基于静态更新请求反馈的静态配置信息;
S106:基于静态配置信息与本地版本信息,确定目标RN包更新信息,基于目标RN包更新信息,进行RN包更新。
具体的,本实施例中,RN包更新方法应用于的客户端,包括例如智能手机、平板电脑之类的移动终端,还可以应用于台式计算机等设备,当然,还可以应用于其它电子设备,在此,本申请不做限制,这些电子设备即为客户端。
客户端内安装有目标应用程序,针对该目标应用程序,服务器与客户端约定有两种RN包更新方式,一种是动态更新方式,动态更新的方式将处理负荷放在服务器,由于服务器处理能力强,更新效率会更高。另一种是静态更新方式,静态更新方式将处理负荷放在客户端,静态更新方式处理逻辑较简单,稳定性较高。目标应用程序的许多业务流都可以采用React Native开发框架编写,形成对应的RN包,开发人员可以根据实际需要发布新的RN包,新的RN包可对目标应用程序的相关功能进行修复或优化。所以,目标应用程序对应的服务器维护了各个版本的RN包。
服务器在每次发布新的RN包时,开发人员均可以根据实际情况设定该RN包可在哪些版本的目标应用程序中进行更新,所以,服务器中会确定该RN包对应的版本兼容范围。比如:当发布4.0版本的RN包时,设定该RN包的版本兼容范围为3.0~4.0,表明本地RN包的版本号在范围3.0~4.0间的目标应用程序均可以下载该RN包进行更新。如果客户端A中的目标应用程序的本地RN包的版本号为3.5,则该客户端可以从服务器下载该4.0版本的RN包进行更新。通过这样的方式,服务器中维护的每个RN包均设定对应的兼容版本范围,各个客户端根据本地RN包的版本下载服务器中的目标RN包进行更新。
在目标应用程序启动时,可进行更新。或者,在服务器每发布一个新的RN包时,通知各客户端进行更新。在客户端进行RN包更新时,首先通过步骤S101发送动态更新请求至服务器,该动态更新请求中携带有客户端中目标应用程序对应的本地RN包的本地版本信息,还可以包括设备信息和用户信息,例如:客户端中目标应用程序的账户信息、用户令牌(token)、应用程序的基本信息等。服务器基于接收到各个客户端发送的动态更新请求,通过统计动态更新请求中包括的设备信息和用户信息,可以进行覆盖率统计、灰度发布、个性化推送等等功能的策划和设计。在具体实施过程中,动态更新请求中包括的信息可根据实际需要进行设定,在此,本申请不做限制。
服务器中有动态接口用于处理各个客户端的发送的动态更新请求,当动态接口对应接收到的动态更新请求数量较多,表明动态更新处于高并发状态,服务器可以反馈请求失败的反馈信息至对应的客户端。或者,当服务器处于重启状态时,处理能力较差,也可反馈请求失败的反馈信息至对应的客户端。又或者,当服务器的处理器占用率超过预设阈值(如:80%)时,也可反馈请求失败的反馈信息至对应的客户端。当然,当服务器处于正常运行状态,或者动态接口排队的动态更新请求数量在可控范围内,又或者,服务器的CPU占用率小于预设阈值,可反馈请求成功的反馈信息至对应的客户端。同时,服务器需要根据接收到的动态更新请求中的本地版本信息,去确定出目标RN包的更新信息一同反馈至对应的客户端。在具体实施过程中,服务器根据当前运行状态确定反馈信息的方式可根据实际需要进行设定,在此,本申请不做限制。
服务器确定目标RN包的更新信息可通过如下步骤实现:
确定本地RN包所属的目标版本兼容范围,其中,服务器中包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定目标版本兼容范围中的最新版本号,获得与最新版本号对应的目标RN包对应目标下载地址,目标RN包更新信息包括目标下载地址。
具体的,由前述实施例可知,服务器每次在发布一个新版本的RN包时,均会设定该RN包的可兼容的版本兼容范围,所以,服务器中维护了多个版本兼容范围。服务器通过动态更新请求中的本地版本信息,可以确定该本地版本信息所属的目标版本兼容范围。这个目标版本兼容范围可以包含一个或多个。例如:目标应用程序的本地RN包的版本号为3.5,对应的目标版本兼容范围包括第一范围3.0~4.0,以及第二范围3.5~4.5。这样,可以确定出目标版本兼容范围中的最新版本号为4.5,目标RN包的版本号即为4.5,确定出的4.5版本的RN包为目标RN包,将4.5版本的RN包的下载地址作为更新信息发送至客户端,客户端通过步骤S102接收到动态更新请求通过的反馈信息,还会获得目标RN包的下载地址,例如:4.5版本的RN包的下载地址。客户端可从该下载地址下载到该4.5版本的RN包,然后通过步骤S103,解析该RN包后实现RN包的动态更新。
当然,服务器也可能匹配不出目标版本兼容范围,比如:当本地RN包的版本号过低,而服务器中已经不维护版本过低的RN包对应的升级包。例如:客户端的本地RN包的版本号为1.0,而服务器中版本兼容范围最低的为2.0~3.0,服务器中已经不维护版本号为1.0的RN包对应的升级RN包。又如:当本地RN包的版本号已经是最高的版本,此时无需更新。例如:客户端的本地RN包的版本号为5.0,而服务器中版本兼容范围最高的为4.0~5.0,服务器中最高的版本号为5.0,服务器可以反馈已更新至最新版本的信息至客户端。
当然,如果客户端通过步骤S102接收到服务器未通过动态更新请求的反馈信息,客户端通过步骤S104,发送静态更新请求至服务器,以静态更新的方式进行RN包的更新。
服务器中设置对应的静态接口处理各个客户端发送的静态更新请求,由于服务器响应静态更新请求,所需要传输以及处理的数据量较少,所以,静态接口相较于动态接口更加稳定,更新请求的成功率更高,但要求客户端处理的负荷会更重。服务器在获得客户端发送的静态更新请求后,向客户端反馈服务器维护的RN包的静态配置信息。静态配置信息包括前述实施例中提到的服务器中维护的各个版本兼容范围以及各个版本的RN包对应的下载地址。
客户端通过步骤S105,基于本地的RN包的本地版本信息与服务器发送的静态配置信息,确定出目标RN包更新信息。具体实现可通过如下步骤:
基于本地版本信息与静态配置信息,确定本地RN包所属的目标版本兼容范围,其中,静态配置信息包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定目标版本兼容范围中的最新版本号,获得与最新版本号对应的目标RN包对应目标下载地址,目标RN包更新信息包括目标下载地址。
沿用前述实施例,客户端通过本地版本信息,以及服务器发送的多个版本兼容范围,可以确定该本地版本信息所属的目标版本兼容范围。这个目标版本兼容范围可以包含一个或多个。例如:目标应用程序的本地RN包的版本号为3.5,对应的目标版本兼容范围包括第一范围3.0~4.0,以及第二范围3.5~4.5。这样,可以确定出目标版本兼容范围中的最新版本号为4.5,目标RN包的版本号即为4.5,确定出的4.5版本的RN包为目标RN包,进而获得与目标RN包对应的目标下载地址,如前述示例可知,确定4.5版本的RN包的下载地址作为更新信息,客户端可从该下载地址下载到该4.5版本的RN包,解析该RN包后实现RN包的动态更新。
本实施例中,还需要基于目标RN包更新信息中目标RN包的属性信息,对本地RN包的本地版本信息进行更新。
具体的,在本实施例中,由于热更新作为React Native的优势之一,所以,针对目标应用程序,开发人员可将性能较为稳定RN包通过软件管理平台进行发布,而对于实时性要求较高的RN包通过目标应用程序的服务器以热更新方式发布。各个RN包设定对应的属性信息,比如:按软件管理平台(如:ios平台、安卓平台)发布的RN包的属性信息设定为平台属性,而通过热更新方式发布的RN包的属性信息设定为热更新属性。如果客户端下载的目标RN包的属性信息为平台属性,表明该目标RN包经过了平台的审核,较为稳定,可将本地的RN包的本地版本号信箱更新为该目标RN包的版本号,这样,在服务器端发布新的RN包后,如果本地RN包的版本位于新的RN包对应的兼容版本范围内,客户端还可以下载新的RN包进行更新,以此类推,客户端中的RN包可以不断地更新。但是,如果下载的目标RN包的属性为热发布属性,表明该目标RN包直接通过目标应用程序的服务器发布,还未经平台审核,可能兼容性较差,或者不够稳定。客户端保留原来的本地版本信息,不做更新。每一次更新,可以记录一次更新日志,在下一次更新时,如果确定出的目标RN包的版本号与上一次的一致,则表明已经更新至最新版本,不做更新。
通过本实施例中的更新方式,首先采用动态更新方式进行RN包更新,如果失败,如果服务器由于自身的原因无法响应该动态更新请求,此时,客户端将静态更新方式作为容灾更新方式,使得动态更新方式失败时,可以以静态更新方式进行更新,有效提高了更新的成功率。
请参见图2,本发明的第二实施例提供了一种一种RN包更新方法,应用于服务器,包括如下步骤:
S201:如果接收到客户端的动态更新请求,基于服务器的当前运行状态,确定反馈信息,将反馈信息发送至客户端,其中,动态更新请求中包括客户端中目标应用程序的本地RN包的本地版本信息,反馈信息用于表明服务器是否通过动态更新请求,如果反馈信息表明服务器通过动态更新请求,反馈信息中还包括服务器基于本地版本信息确定出的目标RN包更新信息,以使得客户端能基于目标RN包更新信息进行RN包更新;
S202:如果接收到客户端的静态更新请求,将静态配置信息发送至客户端,以使得客户端能基于静态配置信息确定目标RN包更新信息,基于目标RN包更新信息进行RN包更新。
在一种可选实现方式中,在确定反馈信息之后,方法还包括:
如果反馈信息表明服务器通过动态更新请求,确定本地RN包所属的目标版本兼容范围,其中,服务器中包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定目标版本兼容范围中的最新版本号,获得与最新版本号对应的目标RN包对应目标下载地址,目标RN包更新信息包括目标下载地址。
在一种可选实现方式中,方法还包括:
在每次发布RN包时,确定该RN包对应的版本兼容范围。
本实施例中,服务器根据客户端的更新请求进行RN更新的详细过程已在前述第一实施例中详细描述,可参见第一实施例中的内容,在此,本申请不再赘述。
请参见图3,本发明的第三实施例提供了一种RN包更新装置,应用于客户端,包括:
动态更新单元301,用于发送动态更新请求至服务器,动态更新请求中包括客户端中目标应用程序的本地RN包的本地版本信息,接收服务器基于动态更新请求反馈的反馈信息,如果反馈信息表明服务器通过动态更新请求,获得服务器发送的目标RN包更新信息,基于目标RN包更新信息,进行RN包更新,目标RN包更新信息为服务器基于本地版本信息确定出的更新信息;
静态更新单元302,用于如果反馈信息表明服务器没有通过动态更新请求,发送静态更新请求至服务器,接收服务器基于静态更新请求反馈的静态配置信息,基于静态配置信息与本地版本信息,确定目标RN包更新信息,基于目标RN包更新信息,进行RN包更新。
在一种可选实现方式中,静态更新单元201具体用于:
基于本地版本信息与静态配置信息,确定本地RN包所属的目标版本兼容范围,其中,静态配置信息包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定目标版本兼容范围中的最新版本号,获得与最新版本号对应的目标RN包对应目标下载地址,目标RN包更新信息包括目标下载地址。
在一种可选实现方式中,装置还包括本地信息更新单元,本地信息更新单元具体用于:在基于目标RN包更新信息,进行RN包更新之后,基于目标RN包更新信息中目标RN包的属性信息,对本地RN包的本地版本信息进行更新。
请参见图4,本发明的第四实施例提供了一种RN包更新装置,应用于服务器,包括:
动态更新单元401,用于如果接收到客户端的动态更新请求,基于服务器的当前运行状态,确定反馈信息,将反馈信息发送至客户端,其中,动态更新请求中包括客户端中目标应用程序的本地RN包的本地版本信息,反馈信息用于表明服务器是否通过动态更新请求,如果反馈信息表明服务器通过动态更新请求,反馈信息中还包括服务器基于本地版本信息确定出的目标RN包更新信息,以使得客户端能基于目标RN包更新信息进行RN包更新;
静态更新单元402,用于如果接收到客户端的静态更新请求,将静态配置信息发送至客户端,以使得客户端能基于静态配置信息确定目标RN包更新信息,基于目标RN包更新信息进行RN包更新。
在一种可选实现方式中,装置还包括第一确定单元,第一确定单元具体用于:在确定反馈信息之后,如果反馈信息表明服务器通过动态更新请求,确定本地RN包所属的目标版本兼容范围,其中,服务器中包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址,确定目标版本兼容范围中的最新版本号,获得与最新版本号对应的目标RN包对应目标下载地址,目标RN包更新信息包括目标下载地址。
在一种可选实现方式中,装置还包括第二确定单元,第二确定单元具体用于:在每次发布RN包时,确定该RN包对应的版本兼容范围。
请参见图5,本发明的第五实施例提供了一种RN包更新装置,该实施例的装置包括:处理器501、存储器502以及存储在存储器中并可在处理器上运行的计算机程序,例如第一实施例或第二实施例中RN包更新方法对应的程序。处理器执行计算机程序时实现上述第一实施例或第二实施例中RN包更新中的步骤。或者,处理器执行计算机程序时实现上述第三实施例或第四实施例的装置中各模块/单元的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,示意图5仅仅是计算机装置的示例,并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器502可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
进一步,该装置所包括的处理器501具有以下功能:
发送动态更新请求至服务器,动态更新请求中包括客户端中目标应用程序的本地RN包的本地版本信息;
接收服务器基于动态更新请求反馈的反馈信息;
如果反馈信息表明服务器通过动态更新请求,获得服务器发送的目标RN包更新信息,基于目标RN包更新信息,进行RN包更新,目标RN包更新信息为服务器基于本地版本信息确定出的更新信息;
如果反馈信息表明服务器没有通过动态更新请求,发送静态更新请求至服务器;
接收服务器基于静态更新请求反馈的静态配置信息;
基于静态配置信息与本地版本信息,确定目标RN包更新信息,基于目标RN包更新信息,进行RN包更新。
进一步,该装置所包括的处理器501还具有以下功能:
基于本地版本信息与静态配置信息,确定本地RN包所属的目标版本兼容范围,其中,静态配置信息包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定目标版本兼容范围中的最新版本号,获得与最新版本号对应的目标RN包对应目标下载地址,目标RN包更新信息包括目标下载地址。
进一步,该装置所包括的处理器501还具有以下功能:
在基于目标RN包更新信息,进行RN包更新之后,基于目标RN包更新信息中目标RN包的属性信息,对本地RN包的本地版本信息进行更新。
进一步,该装置所包括的处理器501还具有以下功能:
如果接收到客户端的动态更新请求,基于服务器的当前运行状态,确定反馈信息,将反馈信息发送至客户端,其中,动态更新请求中包括客户端中目标应用程序的本地RN包的本地版本信息,反馈信息用于表明服务器是否通过动态更新请求,如果反馈信息表明服务器通过动态更新请求,反馈信息中还包括服务器基于本地版本信息确定出的目标RN包更新信息,以使得客户端能基于目标RN包更新信息进行RN包更新;
如果接收到客户端的静态更新请求,将静态配置信息发送至客户端,以使得客户端能基于静态配置信息确定目标RN包更新信息,基于目标RN包更新信息进行RN包更新。
进一步,该装置所包括的处理器501还具有以下功能:
在确定反馈信息之后,如果反馈信息表明服务器通过动态更新请求,确定本地RN包所属的目标版本兼容范围,其中,服务器中包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定目标版本兼容范围中的最新版本号,获得与最新版本号对应的目标RN包对应目标下载地址,目标RN包更新信息包括目标下载地址。
进一步,该装置所包括的处理器501还具有以下功能:
在每次发布RN包时,确定该RN包对应的版本兼容范围。
本发明第六实施例提供了一种计算机可读存储介质,其上存储有计算机程序,本发明第三实施例或第四实施例中的RN包更新装置集成的功能单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例或第二实施例的RN包更新方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种RN包更新方法,应用于客户端,其特征在于,包括:
发送动态更新请求至服务器,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息;
接收所述服务器基于所述动态更新请求反馈的反馈信息;
如果所述反馈信息表明所述服务器通过所述动态更新请求,获得所述服务器发送的目标RN包更新信息,基于所述目标RN包更新信息中的目标下载地址,进行RN包更新,所述目标RN包更新信息为所述服务器基于所述本地版本信息确定出的更新信息;
如果所述反馈信息表明所述服务器没有通过所述动态更新请求,发送静态更新请求至所述服务器;
接收所述服务器基于所述静态更新请求反馈的静态配置信息,所述静态配置信息包括服务器中维护的各个版本兼容范围以及各个版本的RN包对应的下载地址;
基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,基于所述目标RN包更新信息中的目标下载地址,进行RN包更新;
所述基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,包括:基于所述本地版本信息与所述静态配置信息,确定所述本地RN包所属的目标版本兼容范围;确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
2.如权利要求1所述的方法,其特征在于,在所述基于所述目标RN包更新信息,进行RN包更新之后,所述方法还包括:
基于所述目标RN包更新信息中目标RN包的属性信息,对所述本地RN包的本地版本信息进行更新。
3.一种RN包更新方法,应用于服务器,其特征在于,包括:
如果接收到客户端的动态更新请求,基于所述服务器的当前运行状态,确定反馈信息,将所述反馈信息发送至所述客户端,其中,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息,所述反馈信息用于表明所述服务器是否通过所述动态更新请求,如果所述反馈信息表明所述服务器通过所述动态更新请求,所述反馈信息中还包括所述服务器基于所述本地版本信息确定出的目标RN包更新信息,以使得所述客户端能基于所述目标RN包更新信息中的目标下载地址进行RN包更新;
如果接收到客户端的静态更新请求,将静态配置信息发送至所述客户端,以使得所述客户端能基于所述静态配置信息确定目标RN包更新信息,基于所述目标RN包更新信息中的目标下载地址进行RN包更新;所述静态配置信息包括服务器中维护的各个版本兼容范围以及各个版本的RN包对应的下载地址;
所述基于所述静态配置信息确定目标RN包更新信息,包括:基于所述本地版本信息与所述静态配置信息,确定所述本地RN包所属的目标版本兼容范围;确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
4.如权利要求3所述的方法,其特征在于,在所述确定反馈信息之后,所述方法还包括:
如果所述反馈信息表明所述服务器通过所述动态更新请求,确定所述本地RN包所属的目标版本兼容范围,其中,所述服务器中包括一个或多个版本兼容范围以及各个版本的RN包对应的下载地址;
确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在每次发布RN包时,确定该RN包对应的版本兼容范围。
6.一种RN包更新装置,应用于客户端,其特征在于,包括:
动态更新单元,用于发送动态更新请求至服务器,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息,接收所述服务器基于所述动态更新请求反馈的反馈信息,如果所述反馈信息表明所述服务器通过所述动态更新请求,获得所述服务器发送的目标RN包更新信息,基于所述目标RN包更新信息中的目标下载地址,进行RN包更新,所述目标RN包更新信息为所述服务器基于所述本地版本信息确定出的更新信息;
静态更新单元,用于如果所述反馈信息表明所述服务器没有通过所述动态更新请求,发送静态更新请求至所述服务器,接收所述服务器基于所述静态更新请求反馈的静态配置信息,基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,基于所述目标RN包更新信息中的目标下载地址,进行RN包更新;所述静态配置信息包括服务器中维护的各个版本兼容范围以及各个版本的RN包对应的下载地址;所述基于所述静态配置信息与所述本地版本信息,确定所述目标RN包更新信息,包括:基于所述本地版本信息与所述静态配置信息,确定所述本地RN包所属的目标版本兼容范围;确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
7.一种RN包更新装置,应用于服务器,其特征在于,包括:
动态更新单元,用于如果接收到客户端的动态更新请求,基于所述服务器的当前运行状态,确定反馈信息,将所述反馈信息发送至所述客户端,其中,所述动态更新请求中包括所述客户端中目标应用程序的本地RN包的本地版本信息,所述反馈信息用于表明所述服务器是否通过所述动态更新请求,如果所述反馈信息表明所述服务器通过所述动态更新请求,所述反馈信息中还包括所述服务器基于所述本地版本信息确定出的目标RN包更新信息,以使得所述客户端能基于所述目标RN包更新信息中的目标下载地址进行RN包更新;
静态更新单元,用于如果接收到客户端的静态更新请求,将静态配置信息发送至所述客户端,以使得所述客户端能基于所述静态配置信息确定目标RN包更新信息,基于所述目标RN包更新信息中的目标下载地址进行RN包更新;所述静态配置信息包括服务器中维护的各个版本兼容范围以及各个版本的RN包对应的下载地址;所述基于所述静态配置信息确定目标RN包更新信息,包括:基于所述本地版本信息与所述静态配置信息,确定所述本地RN包所属的目标版本兼容范围;确定所述目标版本兼容范围中的最新版本号,获得与所述最新版本号对应的目标RN包对应目标下载地址,所述目标RN包更新信息包括所述目标下载地址。
8.一种RN包更新装置,其特征在于,所述RN包更新装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一项所述的RN包更新的步骤。
9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的RN包更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811146770.1A CN109343880B (zh) | 2018-09-29 | 2018-09-29 | 一种rn包更新方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811146770.1A CN109343880B (zh) | 2018-09-29 | 2018-09-29 | 一种rn包更新方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109343880A CN109343880A (zh) | 2019-02-15 |
CN109343880B true CN109343880B (zh) | 2022-05-13 |
Family
ID=65307809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811146770.1A Active CN109343880B (zh) | 2018-09-29 | 2018-09-29 | 一种rn包更新方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109343880B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090442B (zh) * | 2019-11-11 | 2023-07-14 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种应用更新方法、装置和存储介质 |
CN111740920B (zh) * | 2020-08-17 | 2020-12-11 | 广东睿江云计算股份有限公司 | 一种基于用户令牌的灰度发布和限流方法及其系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141303A (zh) * | 2007-09-24 | 2008-03-12 | 华为技术有限公司 | 一种网络管理系统中的客户端升级方法、服务器、客户端 |
CN107018022B (zh) * | 2017-03-31 | 2020-05-12 | Oppo广东移动通信有限公司 | 软件升级的处理方法、装置及终端 |
CN107729041B (zh) * | 2017-07-26 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 应用程序热更新方法、装置、终端和存储介质 |
CN108388440A (zh) * | 2018-04-28 | 2018-08-10 | 北京辰森世纪科技股份有限公司 | 一种web应用系统自动更新的方法 |
-
2018
- 2018-09-29 CN CN201811146770.1A patent/CN109343880B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109343880A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104991793B (zh) | 一种用于应用程序分包的方法、装置以及系统 | |
CN105610954B (zh) | 媒体信息处理方法及系统 | |
US9792623B2 (en) | Advertisement processing method and apparatus | |
CN110311964A (zh) | 套接字ota升级方法、装置、系统、用户终端和存储介质 | |
CN105955761A (zh) | 基于docker的灰度发布装置及方法 | |
CN111125604B (zh) | 一种页面管理方法、装置、终端设备及存储介质 | |
CN112799825A (zh) | 一种任务处理方法和网络设备 | |
CN109857454B (zh) | 安装包生成与缓存方法、装置、电子设备及存储介质 | |
CN109343880B (zh) | 一种rn包更新方法、装置及可读存储介质 | |
CN113312032B (zh) | 前端项目资源更新方法、装置、电子设备及存储介质 | |
US20170163787A1 (en) | Method and electronic device for upgrading or downgrading system | |
US20210281624A1 (en) | Balance of initial frame and limitation of traffic | |
CN109982152A (zh) | P2p cdn业务处理方法、智能网关以及cdn平台 | |
EP3298756B1 (en) | Interfacing with servers having different apis to obtain advertisement data | |
CN109962972B (zh) | 一种离线包重组方法及系统 | |
CN109842497B (zh) | Dns服务器的配置更新的方法及装置、终端设备和配置更新系统 | |
CN112995700B (zh) | 一种处理电子资源的方法、装置及电子设备 | |
CN104581220A (zh) | 数据推送方法、数据推送系统及数据推送交互系统 | |
CN102377793B (zh) | 基于移动通讯设备终端的Flash交互方法及装置 | |
JP2022535949A (ja) | モデルファイルのディストリビューション方法、プラットホーム、システム、端末及び可読記憶媒体 | |
CN109150694B (zh) | 动态场景信息的发送方法、显示方法及服务器和移动终端 | |
CN108322542B (zh) | 数据更新方法、系统、装置以及计算机可读存储介质 | |
CN112532664A (zh) | 数据升级方法及装置 | |
CN110995830A (zh) | 一种网络资源处理方法和装置 | |
CN110557656A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |