一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种下载应用升级文件的方法、装置及存储介质与流程

2022-06-05 15:43:01 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种下载应用升级文件的方法、装置及存储介质。


背景技术:

2.随着科技的发展,应用中的功能越来越多,当应用中的功能更新时,就需要针对该应用发布一个新版本,即进行版本升级,因此导致应用需要频繁的升级。
3.目前,在应用升级过程中,需要下载应用对应的整个升级文件,具体升级方法如下:
4.应用在启动时,向升级服务器发起升级请求;升级服务器根据升级请求确定命中升级策略后,返回包含升级方式、整个升级文件对应的目标下载地址等升级配置信息的升级响应消息;应用采用升级响应消息中的升级方式,向目标下载地址对应的升级文件下载服务器发送下载请求,以下载应用对应的整个升级文件;应用在接收到整个升级文件后,对整个升级文件进行校验,在校验通过后进行安装。
5.在应用升级过程中,需要安装应用对应的整个升级文件,且对升级文件的改动越大,出现问题的可能性越多。


技术实现要素:

6.本技术提供一种下载应用升级文件的方法、装置及存储介质,用以减少文件下载,保证应用最小粒度升级,降低应用的出错率。
7.第一方面,本技术实施例提供一种下载应用升级文件的方法,该方法包括:
8.在目标应用启动时,向升级服务器发送升级请求消息,升级请求消息中至少携带目标应用的当前版本信息;
9.接收升级服务器返回的升级响应消息,其中,升级响应消息是升级服务器基于当前版本信息,根据预先配置的升级策略确定的,且升级响应消息中包括至少一个下载相关信息,每个下载相关信息对应目标应用中的一个待升级的功能模块;
10.基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
11.第二方面,本技术实施例提供一种下载应用升级文件的方法,该方法包括:
12.接收目标应用启动时发送的升级请求消息,升级请求消息中至少携带目标应用的当前版本信息;
13.基于升级请求消息中携带的目标应用的当前版本信息,根据预先配置的升级策略,生成包括至少一个下载相关信息的升级响应消息,其中,每个下载相关信息对应目标应用中的一个待升级的功能模块;
14.向目标应用对应的客户端返回升级响应消息,以使目标应用对应的客户端基于升级响应消息中的至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
15.第三方面,本技术实施例提供一种下载应用升级文件的装置,该装置包括:
16.发送单元,用于在目标应用启动时,向升级服务器发送升级请求消息,升级请求消息中至少携带目标应用的当前版本信息;
17.第一接收单元,用于接收升级服务器返回的升级响应消息,其中,升级响应消息中包括至少一个下载相关信息,下载相关信息是升级服务器基于当前版本信息,根据预先配置的升级策略确定的,且每个下载相关信息对应目标应用中的一个待升级的功能模块;
18.下载单元,用于基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
19.在一种可能的实现方式中,下载单元具体用于:
20.确定至少一个下载相关信息对应的待升级的功能模块的优先级顺序;
21.按照优先级顺序,分别下载相应的功能模块关联的升级文件。
22.在一种可能的实现方式中,下载单元具体用于:
23.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的升级文件的第一下载地址,则基于第一下载地址,直接向第一下载地址对应的第一服务器发送下载升级文件的下载请求,从第一服务器中下载功能模块关联的升级文件;
24.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的配置文件的第二下载地址,则基于第二下载地址,向第二下载地址对应的第二服务器发送下载配置文件的下载请求;并解析第二服务器返回的配置文件,获取相应的功能模块关联的升级文件的第一下载地址;以及基于第一下载地址,向第一下载地址对应的第一服务器发送下载升级文件的下载请求,从第一服务器中下载功能模块关联的升级文件。
25.在一种可能的实现方式中,下载单元具体还用于:
26.基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件后,将获得的各个升级文件以及相应的版本信息存储在指定存储区域;
27.在目标应用程序再次启动时,从指定存储区域获取各个升级文件,并分别根据各个升级文件对目标应用中相应的功能模块进行升级。
28.第四方面,本技术实施例提供一种下载应用升级文件的装置,该装置包括:
29.第二接收模块,用于接收目标应用启动时发送的升级请求消息,升级请求消息中至少携带目标应用的当前版本信息;
30.生成模块,用于基于升级请求消息中携带的目标应用的当前版本信息,根据预先配置的升级策略,生成包括至少一个下载相关信息的升级响应消息,其中,每个下载相关信息对应目标应用中的一个待升级的功能模块;
31.返回模块,用于向目标应用对应的客户端返回升级响应消息,以使目标应用对应的客户端基于升级响应消息中的至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
32.在一种可能的实现方式中,生成模块具体用于:
33.遍历预先配置的升级策略;
34.确定升级策略中包含目标应用的当前版本信息时,从升级策略中获取目标应用对应的升级版本信息;
35.在升级版本信息中记录的功能模块与当前版本信息中记录的功能模块匹配失败时,将升级版本信息中记录的,且匹配失败的至少一个功能模块作为至少一个待升级的功
能模块;
36.基于升级策略中配置的升级版本信息中记录的各个功能模块对应的下载相关信息,获取至少一个待升级的功能模块对应的下载相关信息;
37.将至少一个下载相关信息,配置到升级响应消息中。
38.在一种可能的实现方式中,生成模块具体用于:
39.按照至少一个待升级的功能模块的优先级顺序,将至少一个待升级的功能模块对应的下载相关信息配置到升级响应消息中。
40.第五方面,本技术实施例提供一种下载应用升级文件的设备,包括:存储器和处理器,其中,存储器,用于存储计算机指令;处理器,用于执行计算机指令以实现本技术实施例提供的种下载应用升级文件的方法。
41.第六方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本技术实施例提供的种下载应用升级文件的方法。
42.本技术有益效果如下:
43.本技术提供一种下载应用升级文件的方法、装置及存储介质;在本技术中,在目标应用启动时,向升级服务器发送携带有目标应用的当前版本信息的升级请求消息,并接收升级服务器针对该升级请求消息,返回的包括至少一个下载相关信息的升级响应消息,升级响应消息是升级服务器基于当前版本信息,根据预先配置的升级策略确定的,每个下载相关信息对应目标应用中的一个待升级的功能模块,进一步基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。在本技术中,进行应用升级时,无需下载目标应用对应的整个升级文件,仅下载待升级的功能模块的升级文件即可,减少文件下载,节约资源,且采用分功能模块配置的方式,保证了应用最小粒度升级,降低应用的出错率。
44.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
45.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为相关技术中一种应用升级的方法流程图;
47.图2为本技术实施例提供的一种应用场景示意图;
48.图3为本技术实施例提供的一种下载应用升级文件的整体方法流程图;
49.图4为本技术实施例提供的一种配置升级策略的管理界面图;
50.图5为本技术实施例提供的一种生成升级响应消息的方法;
51.图6为本技术实施例提供的另一种下载应用升级文件的整体方法流程图;
52.图7为本技术实施例提供的一种再次启动目标应用的方法流程图;
53.图8为本技术实施例提供的一种下载应用升级文件的方法流程图;
54.图9为本技术实施例提供的另一种下载应用升级文件的方法流程图;
55.图10为本技术实施例提供的一种下载应用升级文件的装置结构图;
56.图11为本技术实施例提供的另一种下载应用升级文件的装置结构图;
57.图12为本技术实施例提供的一种计算设备结构图。
具体实施方式
58.为了使本技术的目的、技术方案及有益效果更加清楚明白,以下将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.以下对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
60.1、功能模块为应用中的一项功能对应的功能,以即时通信应用为例,在即时通信应用中包含语音通信、视频通信、文字输入、位置共享等功能,此时每个功能对应一个功能模块。
61.2、网页应用(webapp)是通过网络访问的应用程序,也可以指计算机软件承载在浏览器支持环境下或使用浏览器支持语言并依赖于web浏览器来渲染的应用程序,一般在电视端、电视盒子、手机端中运行。
62.3、灰度限制次数即灰度上线限制次数,其中灰度上线简单来说就是按产品需求优先级,抽出核心需求,在满足用户基本要求的情况下快速上限,并通过限制流量,白名单等机制进行产品使用,以收集用户的意见,从而萃取出用户潜在的需求,形成后续更有针对的设计方案。显然灰度限制次数,及限制根据用户的意见更新设计方案的次数。
63.4、build是一个软件名称,在软件发布上主要用于区分不同时期的版本,是编译时的版本标记,一般序号都是递增的。因此build主要用于辨别软件的版本,版本号里面的build,说明这个版本是第几次编译的结果,后面通常设置数字或日期。
64.5、全球唯一标识符(globally unique identifier,guid)是一个字母数字标识符,用于指示应用的唯一性安装,在许多流行软件应用程序中使用,如web浏览器和媒体播放器等。
65.6、云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
66.云技术(cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
67.下面对本技术实施例的设计思想进行简要介绍。
68.应用在用户生活中使用越来越广泛,一个应用中可以包含有多个功能,当对该应用中任一功能进行更新时,就需要针对该应用发布一个新版本,即每更新一个功能就需要
对该应用进行升级,因此导致对一个应用可能需要频繁的升级。
69.在相关技术中,对应用的升级方案通常采用图1所示的方法。图1示例性的提供了相关技术中一种应用升级的方法。具体的:
70.在应用启动时,应用对应的客户端向升级服务器发起升级请求消息,其中升级请求中携带用户账号、应用的当前版本信息等应用相关信息;
71.升级服务器根据升级请求消息中携带的应用相关信息判断应用是否命中升级策略;
72.升级服务器在确定应用命中升级策略后,向应用对应的客户端返回包含有升级配置信息的升级响应消息,其中升级配置信息包括:版本号、整个升级文件下载地址、整个升级文件校验码、升级提示方式及提示信息;
73.应用对应的客户端向升级响应信息中的升级文件下载地址对应的升级文件下载服务器发送下载请求消息;
74.其中,相关技术中,应用对应的客户端向升级配置信息中的升级文件下载地址对应的升级文件下载服务器发送下载请求消息之前,根据升级配置信息中的升级提示方式及提示信息确定是否需要提示用户进行应用版本升级;
75.若需要提示用户进行版本升级,则在接收到用户触发的升级指令后,向升级响应消息中的升级文件下载地址对应的升级文件下载服务器发送下载请求消息;
76.若不需要提示用户进行版本升级,则直接向升级文件下载地址对应的升级文件下载服务器发送下载请求消息。
77.升级文件下载服务器在接收到下载请求消息后,将升级文件下载地址对应的最新的整个升级文件返回给应用对应的客户端,应用对应的客户端通过升级响应信息中的升级文件检验码对整个升级文件进行校验,检验通过后,通过整个升级文件对应用进行升级安装,升级安装完成后,重启该应用。
78.目前,相关技术中的应用升级方式适用于原生应用版本升级。相对于webapp具有如下缺点:
79.升级安装流程长:原生应用的整个升级文件相对于webapp而言文件较大、且文件需要编译。而webapp在静态页面可直接运行,不需要编译。
80.不安全:相关技术中在进行应用升级时,需要安装应用的整个升级文件。线上发布改动文件越多出问题的可能性越大,导致应用的出错率越高。且该问题不仅针对于webapp,对原生app而言也存在相同问题。
81.有鉴于此,本技术提供一种下载应用升级文件的方法,该方法适用于webapp和原生app的升级过程中升级文件的下载。在本技术中,主要采用了分功能模块的配置策略,分功能模块配置保证了应用最小粒度升级,且在版本升级过程中,仅需要下载更新的功能模块对应的升级文件,即仅对更新的功能模块对应的升级文件进行改动,避免了文件改动越多出现问题可能性越大的情况,即降低了应用的出错率。
82.在介绍完本技术实施例的设计思想之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍。需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
83.图2示例性的提供了本技术实施例的一种应用场景示意图,该应用场景中包括终端设备20和服务器21。
84.其中,终端设备20中安装运行有各种应用,终端设备20为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通信类软件及网站或者社交类软件及网站的计算机设备;该终端设备20还可以为电视(television,tv)或电视盒子等。
85.服务器21可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
86.在一种可选的实施方式中,终端设备20与服务器21之间可以通过通信网络进行通信。通信网络是有线网络或无线网络。终端设备20通过无线接入点与服务器21间接地连接,或终端设备20通过因特网与服务器21直接地连接,本技术在此不做限制。
87.在一种可能的实现方式中,服务器21可能包括后台管理服务器211、升级服务器212以及升级文件下载服务器213;其中:
88.后台管理服务器211,用于提供升级策略配置接口,并存储配置的升级策略。
89.后台管理服务器211与升级服务器212连接,以使升级服务器212从升后台管理服务器211中获取后台管理服务器211中的升级策略。
90.升级服务器212,具体用于根据已启动的目标应用的客户端发送的升级请求消息,遍历升级策略,确定是否对目标应用进行升级;并在确定对目标应用进行升级后,向目标应用的客户端返回包括有升级配置信息的升级响应消息;
91.其中,升级配置信息中包括但不限于下列的部分或全部:待升级的功能模块的下载相关信息,升级文件校验码,提示文案。
92.目标应用的客户端根据升级配置信息中的下载相关信息,向升级文件下载服务器213发送下载请求,以获取待升级的功能模块的升级文件。
93.需要说明的是,后台管理服务器211升级服务器212以及升级文件下载服务器213对应的功能可以设置在至少一个服务器21中。
94.以将后台管理服务器211、升级服务器212以及升级文件下载服务器213对应的功能设置在同一服务器21中为例,即通过一个服务器21实现后台管理服务器211的功能、实现升级服务器212的功能、实现升级文件下载服务器213的功能。当然也可以设置在不同的服务器21中,本技术在此不做限制。
95.在一种可能的实现方式中,本技术采用云计算方式为终端设备20提供服务。云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,其中每个计算机可以作为一个服务器,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
96.采用云存储的方式存储服务器中的数据。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备
(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
97.目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id entity,id)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
98.存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(redundant array of independent disk,raid)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
99.基于图2的应用场景,下面对本技术实施例中涉及的下载应用升级文件的方法进行示例说明。
100.请参照图3,图3示例性提供了本技术实施例一种下载应用升级文件的方法,适用于原生app和webapp的升级过程中应用升级文件的下载,该方法包括如下步骤:
101.步骤s300,在目标应用启动时,目标应用对应的客户端向升级服务器发送升级请求消息,升级请求消息中携带目标应用的相关信息。
102.在一种可能的实现方式中,当用户启动目标应用时,目标应用对应的客户端向升级服务器发送升级请求消息,以确定目标应用当前版本是否需要升级。
103.其中,升级请求消息中携带目标应用的相关信息,目标应用的相关信息包括:目标应用的当前版本信息、登录账号、渠道号、guid、媒体访问控制(media access control,mac)等信息。
104.步骤s301,升级服务器接收到目标应用的升级请求消息后,基于升级请求消息中携带的目标应用的相关信息,以及预先配置的升级策略,生成包括至少一个下载相关信息的升级响应消息。
105.其中,至少一个下载相关信息为升级配置信息中的一种,是升级服务器根据升级策略确定的,每个下载相关信息对应目标应用中的一个待升级的功能模块。
106.在本技术中,升级配置信息中除至少一个下载相关信息外,还包括升级文件校验码、提示文案等信息。
107.需要说明的是,在一种可能的实现方式中,也可以称为基于升级请求消息中携带的目标应用的相关信息,以及预先配置的升级策略,生成包括升级配置信息的升级响应消息;其中,升级配置信息包括至少一个下载相关信息、升级文件校验码、提示文案等信息。
108.在本技术中,待升级的功能模块是根据目标应用的各个功能、代码结构关系,将目标应用的前端代码打包拆分后形成的;此时将目标应用拆分成至少一个功能模块,支持单个功能模块或多个功能模块的升级,采用分功能模块配置,保证了最小粒度升级,降低了线上发布风险及目标应用的出错率。
109.在本技术中,升级策略是通过后台管理服务器进行更新或配置的。图4示例性提供
了本技术实施例中一种配置升级策略的管理界面图。其中,升级策略支持的维度包括但不限下列的部分或全部:
110.升级方式、运营商、灰度限制次数、目标版本及对应的目标build、待升级的最小版本及对应的build、待升级的最大版本及对应的build、升级日期范围、地区、升级文件校验码、guid黑白名单、mac黑白名单、提示文案。
111.其中,目标版本为目标应用需要升级到的版本;
112.待升级的最小版本用于判断目标应用是否需要升级的判断条件;
113.待升级的最大版本同待升级的最小版本一致,都是用于判断目标应用是否需要升级的判断条件;
114.待升级的最小版本和待升级的最大版本形成了一个待升级版本区间范围,当目标应用的当前版本在该待升级版本区间范围内,则说明目标应用需要升级。
115.在本技术中,升级服务器在接收到升级请求消息后,基于升级请求消息中携带的目标应用的相关信息,以及预先配置的升级策略,检测是否需要对目标应用进行升级,并根据检测结果生成相应的响应消息。图5示例性提供了本技术实施例中一种升级服务器生成升级响应消息的方法,包括如下步骤:
116.步骤s500,升级服务器遍历预先配置的升级策略。
117.步骤s501,升级服务器判断升级策略中是否包含有目标应用的相关信息,若是则执行步骤s502,否则执行步骤s503。
118.步骤s502,升级服务器确定目标应用需要升级,生成用于指示目标应用升级的升级响应消息。
119.以目标应用的相关信息为目标应用的当前版本信息为例。
120.升级服务器遍历预先配置的升级策略,确定升级策略中待升级的最小版本和待升级的最大版本形成的待升级版本区间范围中是否包含有目标应用的当前版本信息,在确定升级策略中包含有目标应用的当前版本信息时,确定目标应用需要升级,在升级策略中查找目标应用对应的升级版本信息。
121.进一步,将升级版本信息中记录的功能模块与当前版本信息记录的功能模块进行匹配,确定匹配失败时,将升级版本信息中记录的,且匹配失败的至少一个功能模块作为至少一个待升级的功能模块;
122.其中,匹配失败的情况为:升级版本信息中记录了某一功能模块,但是当前版本信息中未记录;
123.升级版本信息中和当前版本信息中都记录了该功能模块,但是升级版本信息中记录的功能模块相对于当前版本信息中记录的功能模块进行了更新。
124.在升级策略中配置的升级版本信息中记录的各个功能模块对应的下载相关信息中,确定待升级的功能模块对应的下载相关信息,之后将至少一个待升级的功能模块对应的下载相关信息配置在升级响应消息中。
125.在一种可能的实现方式中,在将至少一个待升级的功能模块对应的下载相关信息配置在升级响应消息中时:
126.由于需要对至少一个待升级的功能模块进行升级,为了解决个功能模块之间的依赖关系,需要确定至少一个待升级的功能模块的优先级顺序,并按照至少一个待升级的功
能模块的优先级顺序,将至少一个待升级的功能模块对应的下载相关信息配置到升级响应消息中。
127.需要说明的是,在本技术中升级服务器还可以以数组的形式返回至少一个待升级的功能模块及对应的下载相关信息,数组指定了待升级功能模块的优先级顺序,因此在获取待升级功能模块的升级文件时,可以按照数组顺序优先加载待升级的功能模块的升级文件。
128.在本技术中,还会将升级策略中配置的升级文件校验码、提示文件等信息配置在升级响应消息中。
129.因此,升级服务器生成的升级响应消息中携带有升级配置信息,升级配置信息包括至少一个下载相关信息、升级文件校验码、提示文件等信息。
130.步骤s503,升级服务器判断是否遍历完升级策略,若是则执行步骤s505,否则执行步骤s500。
131.在一种可能的实现方式中,升级策略还包括灰度限制次数、登录账号、guid等信息。在确定不包含目标应用的当前版本信息时,继续遍历升级策略,确定是否包含目标应用的相关信息中的登录账号、guid等信息。
132.步骤s504,升级服务器确定目标应用不需要升级,并生成用于指示目标应用不升级的响应消息。
133.在本技术中,当升级服务器确定目标应用需要升级,生成用于指示目标应用升级的升级响应消息,并在用于指示目标应用升级的升级响应消息中携带有用于获取至少一个待升级的功能模块的下载相关信息等升级配置信息;
134.升级服务器将用于指示目标应用升级的升级响应消息返回给目标应用对应的客户端,即将包括至少一个下载相关信息的升级响应消息返回给目标应用对应的客户端;以使目标应用对应的客户端根据下载相关信息下载至少一个待升级的功能模块关联的升级文件,并根据下载的至少一个升级文件对待升级的功能模块进行升级,实现目标应用的升级。
135.当升级服务器确定目标应用需要升级后,生成用于指示目标应用不升级的响应消息后,将该响应消息返回给目标应用对应的客户端,以使目标应用正常启动。
136.步骤s302,升级服务器向目标应用对应的客户端返回包括至少一个下载相关信息的升级响应消息。
137.在一种可能的实现方式中,在升级服务器确定不需要对目标应用进行升级后,将生成用于指示目标应用不升级的响应消息,此时升级服务器向目标应用对应的客户端返回用于指示目标应用不升级的响应消息,以使目标应用对应的客户端在接收到该响应消息后不进行任何处理,正常执行目标应用的程序。
138.在本技术中,至少一个下载相关信息中的任一下载相关信息可以为功能模块关联的升级文件的第一下载地址,还可以为功能模块关联的配置文件的第二下载地址。在本技术中当下载相关信息不同时,获取待升级的功能模块关联的升级文件的方式不同。
139.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的升级文件的第一下载地址,则目标应用对应的客户端根据下载相关信息获取待升级的功能模块的升级文件时执行步骤s303;
140.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的配置文件的第二下载地址,则目标应用对应的客户端根据下载相关信息获取待升级的功能模块的升级文件时执行步骤s603,具体详见图6所示的实施例。
141.步骤s303,目标应用对应的客户端根据至少一个功能模块关联的升级文件的第一下载地址,向第一下载地址对应的第一服务器发送下载升级文件的下载请求。
142.由于目标应用对应的客户端获取到的升级响应消息中包括的至少一个下载相关信息中的任一下载相关信息为功能模块关联的升级文件的第一下载地址,因此目标应用对应的客户端在获取待升级的功能模块关联的升级文件时,可基于第一下载地址,直接向第一下载地址对应的第一服务器发送下载升级文件的下载请求,从第一服务器中下载功能模块关联的升级文件。
143.在一种可能的实现方式中,在根据至少一个功能模块关联的升级文件的第一下载地址,向第一下载地址对应的第一服务器发送下载升级文件的下载请求时:
144.确定至少一个第一下载地址对应的待升级的功能模块的优先级顺序;在确定待升级的功能模块的优先级顺序后,按照该优先级顺序,分别下载相应的功能模块关联的升级文件,解决分功能模块下载各个功能模块的升级文件相互之间依赖的问题。
145.步骤s304,第一服务器接收到下载升级文件的下载请求后,根据第一下载地址确定对应的待升级的功能模块关联的升级文件。
146.步骤s305,第一服务器向目标应用对应的客户端返回各个待升级的功能模块关联的升级文件。
147.步骤s306,目标应用对应的客户端对各个升级文件进行校验,校验通过后,将获得的各个待升级的功能模块关联的升级文件以及相应的版本信息存储在指定存储区域。
148.在本技术中,目标应用对应的客户端在接收到待升级的功能模块的升级文件后,根据升级响应消息中携带的升级文件校验码对获取到的各个待升级的功能模块关联的升级文件进行校验;
149.在检验通过后,将获得的各个待升级的功能模块关联的升级文件以及相应的信息存储在指定存储区域。
150.需要说明的是,指定存储区域为本地存储(local storage)。
151.请参照图6,图6示例性提供了本技术实施例另一种下载应用升级文件的方法,适用于原生app和webapp的升级过程中应用升级文件的下载,该方法包括如下步骤:
152.步骤s600,在目标应用启动时,目标应用对应的客户端向升级服务器发送升级请求消息,升级请求消息中携带目标应用的相关信息。
153.步骤s601,升级服务器接收到目标应用的升级请求消息后,基于升级请求消息中携带的目标应用的相关信息,以及预先配置的升级策略,生成包括至少一个下载相关信息的升级响应消息。
154.步骤s602,升级服务器向目标应用对应的客户端返回包括至少一个下载相关信息的升级响应消息。
155.需要说明的是,步骤s600-步骤s602的具体实施方式与步骤s300-步骤s302的实施方式,具体实现过程可参见步骤s300-步骤s302的描述,在此不再赘述。
156.步骤s603,目标应用对应的客户端根据至少一个下载相关信息中的至少一个功能
模块关联的配置文件的第二下载地址,向第二下载地址对应的第二服务器发送下载配置文件的下载请求。
157.由于,目标应用对应的客户端获取到的升级响应消息中包括的至少一个下载相关信息中的任一下载相关信息为功能模块关联的配置文件的第二下载地址,并不包括功能模块关联的升级文件的第一下载地址。
158.因此,目标应用对应的客户端在获取待升级的功能模块关联的升级文件时,并不能直接从升级文件的第一下载地址对应的第一服务器获取到待升级的功能模块的升级文件。
159.此时,需要先基于待升级的功能模块关联的配置文件的第二下载地址,向第二下载地址对应的第二服务器发送下载配置文件的下载请求,以获得待升级的功能模块关联的配置文件;
160.进一步,目标应用对应的客户端在获取到第二服务器返回的配置文件后,解析该配置文件,基于该配置文件中配置的待升级的功能模块关联的升级文件的第一下载地址,向第一下载地址对应的第一服务器发送下载待升级的功能模块关联的升级文件的下载请求,从第一服务器中下载待升级的功能模块关联的升级文件。
161.在一种可能的实现方式中,在根据至少一个待升级的功能模块关联的配置文件的第二下载地址,向第二下载地址对应的第二服务器发送下载配置文件的下载请求时:
162.确定至少一个第二下载地址对应的待升级的功能模块的优先级顺序;
163.在确定待升级的功能模块的优先级顺序后,按照该优先级顺序,分别下载相应的功能模块关联的配置文件;
164.并按照配置文件的下载顺序解析配置文件,获取到配置文件中配置的待升级的功能模块关联的升级文件的第一下载地址;
165.按照解析顺序获得的第一下载地址,分别下载相应的功能模块关联的升级文件。
166.按照功能模块的优先级顺序加载功能模块的升级文件,解决分功能模块下载各个功能模块的升级文件相互之间依赖的问题。
167.步骤s604,第二服务器接收到下载配置文件的下载请求后,根据第二下载地址确定对应的待升级的功能模块关联的配置文件。
168.步骤s605,第二服务器向目标应用对应的客户端返回各个待升级的功能模块关联的配置文件。
169.步骤s606,目标应用对应的客户端解析各个待升级的功能模块关联的配置文件,获得待升级的功能模块关联的升级文件的第一下载地址。
170.需要说明的是,在解析过程中,依据按照待升级的功能模块的优先级顺序进行解析。
171.步骤s607,目标应用对应的客户端根据解析获得的第一下载地址,向第一下载地址对应的第一服务器发送下载升级文件的下载请求。
172.步骤s608,第一服务器接收到下载升级文件的下载请求后,根据第一下载地址确定对应的待升级的功能模块关联的升级文件。
173.步骤s609,第一服务器向目标应用对应的客户端返回各个待升级的功能模块关联的升级文件。
174.步骤s610,目标应用对应的客户端对各个升级文件进行校验,校验通过后,将获得的各个待升级的功能模块关联的升级文件以及相应的版本信息存储在指定存储区域。
175.需要说明的是,本技术中第一服务器和第二服务器可以为同一个服务器,同属于升级文件下载服务器。
176.在本技术中,目标应用对应的客户端在接收到待升级的功能模块的升级文件后,根据升级响应消息中携带的升级文件校验码对获取到的各个待升级的功能模块关联的升级文件进行校验,在检验通过后,将获得的各个待升级的功能模块关联的升级文件以及相应的信息存储在指定存储区域。
177.需要说明的是,指定存储区域为本地存储(local storage)。
178.在本技术中,将获得的各个升级文件以及相应的版本信息存储在指定存储区域后,在目标应用程序再次启动时,从指定存储区域获取各个升级文件,并分别根据各个升级文件对目标应用中相应的功能模块进行升级。图7示例性提供了本技术实施例中的一种再次启动目标应用的方法。
179.从图7中可知,当目标应用再次启动时,获取本地配置文件中目标应用的版本号,并与指定存储区域中存储的目标应用的版本号比较,其中本地配置文件为目标应用的当期版本信息对应的文件。
180.如果指定存储区域中存储的目标应用的版本号新,则从指定存储区域中加载待升级的功能模块的升级文件;
181.如果本地配置文件中的目标应用的版本号新,则从本地配置文件中加载待升级的功能模块的升级文件。
182.在本技术中,获取到待升级的功能模块的升级文件后,将校验通过的升级文件存户在指定存储区域中,并在指定存储区域中存储相应的版本号,以便再次启动该目标应用时,从指定存储区域中加载升级文件实现目标应用升级,无需重新启动应用,使用户无感知目标应用升级,实现了一种静默升级的方式,提升了升级时效。
183.图8示例性提供了本技术实施例一种下载应用升级文件的方法,应用于目标应用中,包括如下步骤:
184.步骤s800,在目标应用启动时,向升级服务器发送升级请求消息,升级请求消息中至少携带目标应用的当前版本信息;
185.步骤s801,接收升级服务器返回的升级响应消息,其中,升级响应消息是升级服务器基于当前版本信息,根据预先配置的升级策略确定的,且升级响应消息中包括至少一个下载相关信息,每个下载相关信息对应目标应用中的一个待升级的功能模块;
186.步骤s802,基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
187.在一种可能的实现方式中,基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件,包括:
188.确定至少一个下载相关信息对应的待升级的功能模块的优先级顺序;
189.按照优先级顺序,分别下载相应的功能模块关联的升级文件。
190.在一种可能的实现方式中,基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件,包括:
191.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的升级文件的第一下载地址,则基于第一下载地址,直接向第一下载地址对应的第一服务器发送下载升级文件的下载请求,从第一服务器中下载功能模块关联的升级文件;
192.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的配置文件的第二下载地址,则基于第二下载地址,向第二下载地址对应的第二服务器发送下载配置文件的下载请求;并解析第二服务器返回的配置文件,获取相应的功能模块关联的升级文件的第一下载地址;以及基于第一下载地址,向第一下载地址对应的第一服务器发送下载升级文件的下载请求,从第一服务器中下载功能模块关联的升级文件。
193.在一种可能的实现方式中,基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件后,将获得的各个升级文件以及相应的版本信息存储在指定存储区域;
194.在目标应用程序再次启动时,从指定存储区域获取各个升级文件,并分别根据各个升级文件对目标应用中相应的功能模块进行升级。
195.图9示例性提供了本技术实施例另一种下载应用升级文件的方法,应用于升级服务器中,包括如下步骤:
196.步骤s900,接收目标应用启动时发送的升级请求消息,升级请求消息中至少携带目标应用的当前版本信息;
197.步骤s901,基于升级请求消息中携带的目标应用的当前版本信息,根据预先配置的升级策略,生成包括至少一个下载相关信息的升级响应消息,其中,每个下载相关信息对应目标应用中的一个待升级的功能模块;
198.步骤s902,向目标应用返回升级响应消息,以使目标应用基于升级响应消息中的至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
199.在一种可能的实现方式中,基于升级请求消息中携带的目标应用的当前版本信息,根据预先配置的升级策略,生成包括至少一个下载相关信息的升级响应消息,包括:
200.遍历预先配置的升级策略;
201.确定升级策略中包含目标应用的当前版本信息时,从升级策略中获取目标应用对应的升级版本信息;
202.在升级版本信息中记录的功能模块与当前版本信息中记录的功能模块匹配失败时,将升级版本信息中记录的,且匹配失败的至少一个功能模块作为至少一个待升级的功能模块;
203.基于升级策略中配置的升级版本信息中记录的各个功能模块对应的下载相关信息,获取至少一个待升级的功能模块对应的下载相关信息;
204.将至少一个下载相关信息,配置到升级响应消息中。
205.在一种可能的实现方式中,将至少一个下载相关信息,配置到升级响应消息中,包括:
206.按照至少一个待升级的功能模块的优先级顺序,将至少一个待升级的功能模块对应的下载相关信息配置到升级响应消息中。
207.基于同一发明构思,本技术实施例还提供了一种下载应用升级文件的装置1000,如图10所示,该装置1000包括:
208.发送单元1001,用于在目标应用启动时,向升级服务器发送升级请求消息,升级请
求消息中至少携带目标应用的当前版本信息;
209.第一接收单元1002,用于接收升级服务器返回的升级响应消息,其中,升级响应消息中包括至少一个下载相关信息,下载相关信息是升级服务器基于当前版本信息,根据预先配置的升级策略确定的,且每个下载相关信息对应目标应用中的一个待升级的功能模块;
210.下载单元1003,用于基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
211.在一种可能的实现方式中,下载单元1003具体用于:
212.确定至少一个下载相关信息对应的待升级的功能模块的优先级顺序;
213.按照优先级顺序,分别下载相应的功能模块关联的升级文件。
214.在一种可能的实现方式中,下载单元1003具体用于:
215.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的升级文件的第一下载地址,则基于第一下载地址,直接向第一下载地址对应的第一服务器发送下载升级文件的下载请求,从第一服务器中下载功能模块关联的升级文件;
216.若至少一个下载相关信息中的任一下载相关信息为功能模块关联的配置文件的第二下载地址,则基于第二下载地址,向第二下载地址对应的第二服务器发送下载配置文件的下载请求;并解析第二服务器返回的配置文件,获取相应的功能模块关联的升级文件的第一下载地址;以及基于第一下载地址,向第一下载地址对应的第一服务器发送下载升级文件的下载请求,从第一服务器中下载功能模块关联的升级文件。
217.在一种可能的实现方式中,下载单元1003具体还用于:基于至少一个下载相关信息,分别下载相应的功能模块关联的升级文件后,将获得的各个升级文件以及相应的版本信息存储在指定存储区域;
218.在目标应用程序再次启动时,从指定存储区域获取各个升级文件,并分别根据各个升级文件对目标应用中相应的功能模块进行升级。
219.基于同一发明构思,本技术实施例还提供了一种下载应用升级文件的装置1100,如图11所示,该装置1100包括:
220.第二接收模块1101,用于接收目标应用启动时发送的升级请求消息,升级请求消息中至少携带目标应用的当前版本信息;
221.生成模块1102,用于基于升级请求消息中携带的目标应用的当前版本信息,根据预先配置的升级策略,生成包括至少一个下载相关信息的升级响应消息,其中,每个下载相关信息对应目标应用中的一个待升级的功能模块;
222.返回模块1103,用于向目标应用返回升级响应消息,以使目标应用基于升级响应消息中的至少一个下载相关信息,分别下载相应的功能模块关联的升级文件。
223.在一种可能的实现方式中,生成模块1102具体用于:
224.遍历预先配置的升级策略;
225.确定升级策略中包含目标应用的当前版本信息时,从升级策略中获取目标应用对应的升级版本信息;
226.在升级版本信息中记录的功能模块与当前版本信息中记录的功能模块匹配失败时,将升级版本信息中记录的,且匹配失败的至少一个功能模块作为至少一个待升级的功
能模块;
227.基于升级策略中配置的升级版本信息中记录的各个功能模块对应的下载相关信息,获取至少一个待升级的功能模块对应的下载相关信息;
228.将至少一个下载相关信息,配置到升级响应消息中。
229.在一种可能的实现方式中,生成模块1102具体用于:
230.按照至少一个待升级的功能模块的优先级顺序,将至少一个待升级的功能模块对应的下载相关信息配置到升级响应消息中。
231.为了描述的方便,以上各部分按照功能划分为各单元(或模块)分别描述。当然,在实施本技术时可以把各单元(或模块)的功能在同一个或多个软件或硬件中实现。
232.在介绍了本技术示例性实施方式的下载应用升级文件的方法及装置后,接下来介绍本技术的另一示例性实施方式的下载应用升级文件的计算设备。
233.所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
234.在一种可能的实现方式中,本技术实施例提供的下载应用升级文件的计算设备可以至少包括处理器和存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本技术中各种示例性实施方式的下载应用升级文件的方法中的任一步骤。
235.下面参照图12来描述根据本技术的这种实施方式的下载应用升级文件的计算设备1200。如图12的下载应用升级文件的计算设备1200仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
236.如图12所示,计算设备1200的组件可以包括但不限于:上述至少一个处理器1201、上述至少一个存储器1202、连接不同系统组件(包括存储器1202和处理器1201)的总线1203。
237.总线1203表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
238.存储器1202可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)12021和/或高速缓存存储器12022,还可以进一步包括只读存储器(rom)12023。
239.存储器1202还可以包括具有一组(至少一个)程序模块12024的程序/实用工具12025,这样的程序模块12024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
240.计算设备1200也可以与一个或多个外部设备1204(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算设备1200交互的设备通信,和/或与使得该计算设备1200能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1205进行。并且,计算设备1200还可以通过网络适配器1206与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图12所示,网络适配器1206通过总线1203与用于计算设备1200的其它模块通信。应当理解,尽管图12中未示出,可以结合计算设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动
器以及数据备份存储系统等。
241.在一些可能的实施方式中,本技术提供的下载应用升级文件的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的下载应用升级文件的方法中的步骤。
242.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
243.本技术的实施方式的短信息的发送控制的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算装置上运行。
244.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
245.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
246.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。
247.应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
248.此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
249.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献