CN106598673B - 一种应用程序升级方法及系统 - Google Patents
一种应用程序升级方法及系统 Download PDFInfo
- Publication number
- CN106598673B CN106598673B CN201611166224.5A CN201611166224A CN106598673B CN 106598673 B CN106598673 B CN 106598673B CN 201611166224 A CN201611166224 A CN 201611166224A CN 106598673 B CN106598673 B CN 106598673B
- Authority
- CN
- China
- Prior art keywords
- script file
- page
- latest version
- application program
- json script
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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
本发明提供一种应用升级方法及系统,该方法包括:在启动应用程序时,获取应用程序的应用标识及对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息;发送应用标识和版本号给服务器;接收服务器在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件。在本发明为应用程序设置json脚本文件,当需调整页面跳转顺序时在json脚本文件中设置页面跳转顺序信息,并发布最新版本的json脚本文件,终端只需下载最新版本的json脚本文件即可实现调整应用程序的页面跳转顺序,不必下载应用程序的安装包进行升级,节省了数据流量。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种应用程序升级方法及系统。
背景技术
目前,安卓的应用程序更新换代非常频繁,每次应用程序出现一些功能变动,开发商都会发布应用程序的最新版本,用户若想使用该应用程序的最新版本,就需要对终端安装的旧版本的该应用程序进行升级。
当前,应用程序发布最新版本后,用户通过终端登录应用程序的服务器时,服务器向终端推送该应用程序的升级通知,若用户需要升级,则从服务器获取该应用程序最新版本的安装包,根据该安装包将该应用程序升级至最新版本。
有时应用程序的新版本可能只是调整了页面的打开顺序,并没有更改应用程序的代码。但通过下载新版本的安装包来升级,将花费大量的数据流量,成本太高。
发明内容
有鉴于此,本发明实施例的目的在于提供一种应用程序升级方法及系统,当需要调整页面跳转顺序时开发人员在json脚本文件中设置页面跳转顺序信息,并发布最新版本的json脚本文件,终端只需下载最新版本的json脚本文件即可实现调整应用程序的页面跳转顺序,不必下载应用程序的安装包进行升级,节省了数据流量。
第一方面,本发明实施例提供了一种应用程序升级方法,所述方法包括:
在启动应用程序时,获取所述应用程序的应用标识及所述应用程序对应的json脚本文件的版本号,所述json脚本文件中包括页面跳转顺序信息;
发送所述应用标识和所述版本号给服务器,以使所述服务器根据所述版本号和所述应用标识确定所述json脚本文件的版本是否为最新版本;
接收所述服务器在确定所述json脚本文件的版本不是最新版本时发送的最新版本下载地址;
根据所述最新版本下载地址,下载所述应用程序对应的最新版本的json脚本文件。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述获取所述应用程序对应的json脚本文件的版本号,包括:
检测本地是否存在所述应用程序对应的json脚本文件;
如果是,从所述json脚本文件中读取所述json脚本文件的版本号;
如果否,将预设值确定为获取的所述应用程序对应的json脚本文件的版本号。
结合第一方面或第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述下载所述应用程序对应的最新版本的json脚本文件之后,还包括:
在检测到页面跳转请求时,获取所述页面跳转请求对应的页面跳转顺序信息;
比较所述页面跳转请求对应的页面跳转顺序信息与所述最新版本的json脚本文件中包括的页面跳转顺序信息是否相同;
如果是,则根据所述页面跳转请求对应的页面跳转顺序信息进行页面跳转;
如果否,则根据所述最新版本的json脚本文件中包括的页面跳转顺序信息进行页面跳转。
结合第一方面的第二种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述方法还包括:
查看所述最新版本的json脚本文件中是否包含页面跳转后的页面对应的显示数据修改信息;
如果是,则在页面跳转后,根据所述显示数据修改信息,修改所述页面跳转后的页面内的显示数据。
结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述方法还包括:
在发送所述应用标识和所述版本号给服务器时,还发送用户标识给所述服务器,以使所述服务器根据所述版本号和所述用户标识确定所述json脚本文件的版本是否为最新版本。
第二方面,本发明实施例提供了一种应用程序升级方法,所述方法包括:
接收终端发送的应用程序的应用标识和所述应用程序对应的json脚本文件的版本号,所述json脚本文件中包括页面跳转顺序信息;
根据所述应用标识,获取所述应用程序对应的json脚本文件的最新版本号;
若接收的所述版本号和所述最新版本号不相同,则发送所述最新版本号对应的最新版本下载地址给所述终端,以使所述终端根据所述最新版本下载地址下载最新版本的json脚本文件。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述方法还包括:
接收所述终端发送的用户标识;
根据所述用户标识、所述版本号及所述应用程序对应的json脚本文件的最新版本号,确定所述终端是否已缓存最新版本的json脚本文件。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述根据所述用户标识、所述版本号及所述应用程序对应的json脚本文件的最新版本号,确定所述终端是否已缓存最新版本的json脚本文件,包括:
从所述应用程序对应的最新版本号中,确定出所述用户标识对应的最新版本号;
比较所述版本号与所述用户标识对应的最新版本号是否相同;
如果是,则确定所述终端已缓存最新版本的json脚本文件;
如果否,则确定所述终端未缓存最新版本的json脚本文件,执行所述发送所述最新版本号对应的最新版本下载地址给所述终端。
第三方面,本发明实施例提供了一种应用程序升级系统,所述系统包括服务器和终端;
所述终端,用于在启动应用程序时,获取所述应用程序的应用标识及所述应用程序对应的json脚本文件的版本号,所述json脚本文件中包括页面跳转顺序信息;发送所述应用标识和所述版本号给所述服务器;接收所述服务器在确定所述json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据所述最新版本下载地址,下载所述应用程序对应的最新版本的json脚本文件;
所述服务器,用于接收所述终端发送的所述应用标识和所述版本号,根据所述应用标识,获取所述应用程序对应的json脚本文件的最新版本号;若接收的所述版本号和所述最新版本号不相同,则发送所述最新版本号对应的最新版本下载地址给所述终端。
结合第三方面,本发明实施例提供了上述第三方面的第一种可能的实现方式,其中,
所述终端,还用于发送用户标识给所述服务器;
所述服务器,还用于接收所述用户标识;根据所述用户标识、所述版本号及所述应用程序对应的json脚本文件的最新版本号,确定所述终端是否已缓存最新版本的json脚本文件。
在本发明实施例提供的方法及系统中,在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息;发送应用标识和版本号给服务器;接收服务器在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件。在本发明中为应用程序设置了json脚本文件,当需要调整页面跳转顺序时开发人员在json脚本文件中设置页面跳转顺序信息,并发布最新版本的json脚本文件,终端只需下载最新版本的json脚本文件即可实现调整应用程序的页面跳转顺序,不必下载应用程序的安装包进行升级,节省了数据流量。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例1所提供的一种应用程序升级方法的流程图;
图2示出了本发明实施例2所提供的一种应用程序升级方法的流程图;
图3示出了本发明实施例3所提供的一种应用程序升级方法的流程图;
图4示出了本发明实施例4所提供的一种应用程序升级系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有技术中应用程序的新版本只是调整了页面的打开顺序,并没有更改应用程序的代码时,也通过下载新版本的安装包来升级,将花费大量的数据流量,成本太高。基于此,本发明实施例提供了一种应用程序升级方法及系统,下面通过实施例进行描述。
在对实施例进行详细描述之前,首先介绍本发明实施例的应用场景。目前,应用程序发布之后,开发商会持续对应用程序进行维护及二次开发,从而可能会修改应用程序的功能模块,或者在应用程序中增加新的功能模块。每次开发商修改应用程序后都会发布应用程序的最新版本,现有技术中仅修改页面跳转顺序时也会发布最新版本,用户只能通过终端下载最新版本的安装包来升级应用程序,下载安装包将会花费大量流量。本发明实施例仅针对修改页面跳转顺序或修改一些页面显示数据等简单修改的情况,在这些简单修改情况下,可以通过本发明实施例提供的升级方法来升级应用程序,以在简单修改时不用下载应用程序的安装包,节省流量,并提高在简单修改时应用程序的升级效率。
实施例1
本发明实施例提供了一种应用程序升级方法。
在本发明实施例中,开发人员在开发应用程序时,设置了应用程序对应的json(javascript object notation,轻量级数据交换格式)脚本文件,json脚本文件中包括应用程序对应的页面跳转顺序信息。当仅修改应用程序的页面跳转顺序或修改页面中的显示数据时,开发人员对应用程序对应的json脚本文件进行修改,并发布应用程序对应的最新版本的json脚本文件。上述json脚本文件的格式如下所示:
其中,上述示例的json脚本文件中的页面跳转顺序为从页面MainActivity跳转至页面LoginActivity,跳转后再返回页面SearchActivity。
本发明实施例就是基于应用程序对应的json脚本文件,实现在仅修改页面跳转顺序或修改页面中的显示数据时快速升级应用程序。参见图1,该方法具体包括以下步骤:
步骤101:终端在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,该json脚本文件中包括页面跳转顺序信息。
终端检测到应用程序启动时,获取启动的应用程序的应用标识,该应用标识可以为应用程序的名称或序列号等。检测本地是否存在该应用程序对应的json脚本文件;如果是,从本地存储的json脚本文件中读取该json脚本文件的版本号;如果否,则将预设值确定为获取的该应用程序对应的json脚本文件的版本号。该预设值可以为0或1等。
当本地存在该应用程序对应的json脚本文件时,通过如下代码来获取本地的json脚本文件:
FileInputStream fin=new FileInputStream(fileName);//创建文件流;
int length=fin.available();//获取文件大小;
byte[]buffer=new byte[length];//创建数组;
fin.read(buffer);//读取文件流到数组;
res=EncodingUtils.getString(buffer,"UTF-8");//将文件流转成字符串;
fin.close();//关闭文件流。
上述代码是使用安卓中的文件流来读取安卓系统中的文件。其中,fileName为传入的文件路径,即本地存储的json脚本文件的存储路径。最后返回的res为读取到的字符串,该字符串为json脚本文件中的所有字符串。在读取到json脚本文件中的所有字符串后,将该字符串转换为json对象。转换为json对象的转换方式如下:
JSONObject jsonObject2=new JSONObject(res)
将json脚本文件对应的字符串转换为json对象后,该json对象中就包含了json脚本文件中所有需要处理的数据。然后终端从该json对象中获取该json脚本文件的版本号。本发明实施例中,终端通过调用版本获取函数getString(“version”),从上述json对象中获取出该应用程序对应的json脚本文件的版本号。
步骤102:终端发送该应用标识和版本号给服务器。
终端获取到应用程序对应的json脚本文件的版本号之后,通过HTTP(HyperTextTransfer Protocol,超文本传输协议)协议将该应用标识和该版本号发送给服务器,以使服务器根据该应用标识和该版本号确定终端上是否已经缓存了该应用程序对应的最新版本的json脚本文件。
步骤103:服务器接收终端发送的该应用标识和应用程序对应的json脚本文件的版本号,根据该应用标识,获取该应用程序对应的json脚本文件的最新版本号。
在本发明实施例中,服务器中存储有应用程序对应的最新版本的json脚本文件,该最新版本的json脚本文件以应用标识为索引。当服务器接收到终端发送的应用标识和版本号后,根据该应用标识,获取该应用程序对应的最新版本的json脚本文件。从该最新版本的json脚本文件中获取最新版本号。
步骤104:服务器判断终端发送的版本号是否与最新版本号相同。
服务器比较终端发送的版本号与获取的最新版本号,若两者相同,则确定终端已缓存该应用程序对应的最新版本的json脚本文件,此时发送已缓存指示信息给终端。终端接收到该已缓存指示信息后,确定本地存储的json脚本文件是最新版本的json脚本文件,加载该json脚本文件。
在加载json脚本文件时,终端读取json脚本文件中的所有字符串,将读取的所有字符串转换为json对象,并将该json对象存储在内存中。
若服务器比较出终端发送的版本号与获取的最新版本号不相同,则确定出终端尚未缓存最新版本的json脚本文件,则通过下述不在105和106的操作使终端获得最新版本的json脚本文件。
步骤105:若判断出终端发送的版本号与获取的最新版本号不相同,服务器发送最新版本号对应的最新版本下载地址给终端。
若终端发送的版本号与获取的最新版本号不相同,则确定出终端未缓存该应用程序对应的最新版本的json脚本文件,则根据获取的最新版本号,从最新版本号与最新版本下载地址的对应关系中获取对应的最新版本下载地址,将获取的最新版本下载地址发送给终端,以使终端根据最新版本下载地址下载最新版本的json脚本文件。
在本发明实施例中,当服务器确定出终端未缓存最新版本的json脚本文件时,也可以直接将最新版本的json脚本文件返回给终端。但是由于此时终端与服务器之间的通信端口不太适用于传输数据量大的文件,所以上述步骤105中服务器先将最新版本下载地址发送给终端,以使终端根据该最新版本下载地址从适用于传输大数据量文件的端口与服务器进行通信,以下载最新版本的json脚本文件。
步骤106:终端接收服务器发送的最新版本下载地址,根据该最新版本下载地址,下载该应用程序对应的最新版本的json脚本文件。
终端接收服务器在确定终端上的json脚本文件的版本不是最新版本时发送的最新版本下载地址。检测本地是否存在旧版本的json脚本文件。如果是,则将旧版本的json脚本文件删除。如果否,则根据上述最新版本下载地址将最新版本的json脚本文件下载到本地。本发明实施例中终端可以使用安卓系统自带的下载功能来下载最新版本的json脚本文件。
终端根据最新版本下载地址,下载最新版本的json脚本文件后,加载该最新版本的json脚本文件,读取最新版本的json脚本文件中的所有字符串,将读取的所有字符串转换为json对象,并将该json对象存储在内存中。
通过上述方式确保终端本地存有应用程序对应的最新版本的json脚本文件,并加载该json脚本文件后,用户浏览该应用程序的某页面,并通过点击该页面中的页面跳转链接向终端提交页面跳转请求。终端在检测到用户提交的页面跳转请求时,获取该页面跳转请求对应的页面跳转顺序信息;比较该页面跳转请求对应的页面跳转顺序信息与最新版本的json脚本文件中包括的页面跳转顺序信息是否相同;如果是,则根据页面跳转请求对应的页面跳转顺序信息进行页面跳转;如果否,则根据最新版本的json脚本文件中包括的页面跳转顺序信息进行页面跳转。
上述页面跳转顺序信息中至少包括跳转前页面的页面标识及跳转后页面的页面标识。当终端检测到用户触发的页面跳转请求时,根据该页面跳转请求对应的页面跳转顺序信息中跳转前页面的页面标识,查看最新版本的json脚本文件中是否包含该跳转前页面的页面标识,如果否,则直接进行页面跳转。如果是,获取该页面跳转请求对应的页面跳转顺序信息中包括的跳转后页面的页面标识,比较该页面标识与最新版本的json脚本文件中跳转后页面的页面标识是否一致,如果是,则直接进行页面跳转,如果否,则根据根据最新版本的json脚本文件中包括的页面跳转顺序信息进行页面跳转。
例如,假设用户触发的跳转请求对应的页面跳转顺序为从A页面跳转到B页面,假设最新版本的json脚本文件中设置的页面跳转顺序为从B页面跳转到C页面,则根据跳转请求对应的跳转前页面的页面标识A,查看最新版本的json脚本文件中是否包含该跳转前页面的页面标识A,且确定出最新版本的json脚本文件中不包含页面标识A,也就是说最新版本的json脚本文件中并没有修改与页面A相关的页面跳转顺序。所以终端按照上述页面跳转请求对应的跳转顺序直接从A页面跳转至B页面。
再如,假设用户触发的跳转请求对应的页面跳转顺序为从A页面跳转到B页面,假设最新版本的json脚本文件中设置的页面跳转顺序为从A页面跳转到D页面,则根据跳转请求对应的跳转前页面的页面标识A,查看出最新版本的json脚本文件中包含该跳转前页面的页面标识A,也就是说最新版本的json脚本文件中修改了与页面A相关的页面跳转顺序。所以终端按照最新版本的json脚本文件中的设置进行页面跳转,即从A页面跳转至D页面。
在本发明实施例中,json脚本文件中还可以包括显示数据修改信息。开发者在json脚本文件中设置显示数据修改信息,以实现修改应用程序的页面中的一些简单的显示数据,如修改某页面的标题内容等。在进行页面跳转时,终端查看最新版本的json脚本文件中是否包含页面跳转后的页面对应的显示数据修改信息;如果是,则在页面跳转后,根据显示数据修改信息,修改页面跳转后的页面内的显示数据。
为了进一步理解页面跳转过程,下面结合步骤101之前提供的json脚本文件的格式进行具体说明。在获取到最新版本的json脚本文件的json对象后,在每次进行页面跳转时,会首先查询下该json对象中是否有相应跳转的设置。查询时获取跳转前的页面名称及跳转后的页面名称,将跳转前的页面名称与json对象中pages数组中每一项的from对应的页面名称进行匹配,及将跳转后的页面名称与json对象中pages数组中每一项的to对应的页面名称进行匹配,如果两个都匹配上了,则进行页面跳转。
在本发明实施例中,可以在json脚本文件中预设跳转到的页面的标题名称,跳转到页面后返回的页面的标题名称,跳转到页面后该页面的默认参数等。应用程序的开发人员可以根据不同的需求及运营状态来设置不同页面的跳转逻辑来达到切换的目的。当json脚本文件中设置了显示数据修改信息,如修改页面的标题名称时,在跳转后将标题名称传入需要显示的页面,并将其标题名称显示出来。如果json脚本文件中设置了默认的数据,则在跳转页面时,首先将预先设定的默认的数据显示出来,然后再按照逻辑来显示页面中本身设定的数据。
不同的用户在使用应用程序时,可能经常浏览的页面不同,服务器可以记录用户的用户标识与用户经常浏览的页面名称及用户浏览页面的跳转顺序,根据用户经常浏览的页面名称及用户浏览页面的跳转顺序,生成json脚本文件。基于此,在步骤102中终端在发送应用标识和版本号给服务器时,还发送用户标识给服务器,以使服务器根据版本号和用户标识确定json脚本文件的版本是否为最新版本。
服务器接收终端发送的用户标识后,根据应用标识,获取到应用程序对应的最新版本的json脚本文件的最新版本号。此时获取到的最新版本号可能为不同用户标识分别对应的多个最新版本号。服务器根据该用户标识、版本号及应用程序对应的json脚本文件的最新版本号,确定终端是否已缓存最新版本的json脚本文件。
服务器从应用程序对应的最新版本号中,确定出该用户标识对应的最新版本号;比较终端发送的版本号与用户标识对应的最新版本号是否相同;如果是,则确定终端已缓存最新版本的json脚本文件;如果否,则确定终端未缓存最新版本的json脚本文件,通过步骤105的操作发送最新版本号对应的最新版本下载地址给终端。
在本发明实施例中,可以实现用户应用程序页面跳转的热切换,根据开发人员在服务器上设定的json脚本文件来随时调整页面跳转的数据逻辑。并且可以在用户上传版本号时添加上用户标识,来达到根据不同的用户标识来返回不同的json脚本文件,让用户根据自己的用户特征来实现不同的页面跳转切换逻辑,方便应用程序的运营人员更方便的运营项目,而不会因为页面跳转问题而去让用户根据安装包升级整个应用程序。例如,应用程序需要修改一个页面的标题,并且由于运营需要修改页面跳转逻辑,则只需要修改json脚本文件中相应的title,from,to三个地方的数据即可,而且只需要在后台配置,用户登录后将会按照本发明实施例提供的方法从服务器下载到最新版本的json脚本文件。
在本发明实施例中,在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息;发送应用标识和版本号给服务器;接收服务器在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件。在本发明中为应用程序设置了json脚本文件,当需要调整页面跳转顺序时开发人员在json脚本文件中设置页面跳转顺序信息,并发布最新版本的json脚本文件,终端只需下载最新版本的json脚本文件即可实现调整应用程序的页面跳转顺序,不必下载应用程序的安装包进行升级,节省了数据流量。
实施例2
参见图2,本发明实施例提供了一种应用程序升级方法,该方法的执行主体为终端。在应用程序升级过程中终端进行的具体操作与实施例1中终端的操作相同,具体操作细节可参考实施例1中终端的操作。该方法具体包括以下步骤:
步骤201:在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息。
步骤202:发送应用标识和版本号给服务器,以使服务器根据版本号和应用标识确定json脚本文件的版本是否为最新版本。
步骤203:接收服务器在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址。
步骤204:根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件。
在本发明实施例中,获取应用程序对应的json脚本文件的版本号,包括:
检测本地是否存在应用程序对应的json脚本文件;
如果是,从json脚本文件中读取json脚本文件的版本号;
如果否,将预设值确定为获取的应用程序对应的json脚本文件的版本号。
在下载应用程序对应的最新版本的json脚本文件之后,还包括:
在检测到页面跳转请求时,获取页面跳转请求对应的页面跳转顺序信息;
比较页面跳转请求对应的页面跳转顺序信息与最新版本的json脚本文件中包括的页面跳转顺序信息是否相同;
如果是,则根据页面跳转请求对应的页面跳转顺序信息进行页面跳转;
如果否,则根据最新版本的json脚本文件中包括的页面跳转顺序信息进行页面跳转。
在本发明实施例中,该方法还包括:
查看最新版本的json脚本文件中是否包含页面跳转后的页面对应的显示数据修改信息;
如果是,则在页面跳转后,根据显示数据修改信息,修改页面跳转后的页面内的显示数据。
在发送应用标识和版本号给服务器时,还发送用户标识给服务器,以使服务器根据版本号和用户标识确定json脚本文件的版本是否为最新版本。
在本发明实施例中,在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息;发送应用标识和版本号给服务器;接收服务器在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件。在本发明中为应用程序设置了json脚本文件,当需要调整页面跳转顺序时开发人员在json脚本文件中设置页面跳转顺序信息,并发布最新版本的json脚本文件,终端只需下载最新版本的json脚本文件即可实现调整应用程序的页面跳转顺序,不必下载应用程序的安装包进行升级,节省了数据流量。
实施例3
参见图3,本发明实施例提供了一种应用程序升级方法,该方法的执行主体为服务器。服务器的操作与实施例1中服务器的操作相同,具体操作细节可参考实施例1中服务器的操作。该方法具体包括以下步骤:
步骤301:接收终端发送的应用程序的应用标识和应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息。
步骤302:根据应用标识,获取应用程序对应的json脚本文件的最新版本号。
步骤303:若接收的版本号和最新版本号不相同,则发送最新版本号对应的最新版本下载地址给终端,以使终端根据最新版本下载地址下载最新版本的json脚本文件。
在本发明实施例中,该方法还包括:
接收终端发送的用户标识;
根据用户标识、版本号及应用程序对应的json脚本文件的最新版本号,确定终端是否已缓存最新版本的json脚本文件。
上述根据用户标识、版本号及应用程序对应的json脚本文件的最新版本号,确定终端是否已缓存最新版本的json脚本文件,包括:
从应用程序对应的最新版本号中,确定出用户标识对应的最新版本号;
比较版本号与用户标识对应的最新版本号是否相同;
如果是,则确定终端已缓存最新版本的json脚本文件;
如果否,则确定终端未缓存最新版本的json脚本文件,执行发送最新版本号对应的最新版本下载地址给终端。
在本发明实施例中,在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息;发送应用标识和版本号给服务器;接收服务器在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件。在本发明中为应用程序设置了json脚本文件,当需要调整页面跳转顺序时开发人员在json脚本文件中设置页面跳转顺序信息,并发布最新版本的json脚本文件,终端只需下载最新版本的json脚本文件即可实现调整应用程序的页面跳转顺序,不必下载应用程序的安装包进行升级,节省了数据流量。
实施例4
参见图4,本发明实施例提供了一种应用程序升级系统,该系统用于执行上述实施例1所提供的应用程序升级方法。该系统包括服务器401和终端402;
终端402,用于在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息;发送应用标识和版本号给服务器401;接收服务器401在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件;
服务器401,用于接收终端402发送的应用标识和版本号,根据应用标识,获取应用程序对应的json脚本文件的最新版本号;若接收的版本号和最新版本号不相同,则发送最新版本号对应的最新版本下载地址给终端402。
终端402,还用于发送用户标识给服务器401;
服务器401,还用于接收用户标识;根据用户标识、版本号及应用程序对应的json脚本文件的最新版本号,确定终端402是否已缓存最新版本的json脚本文件。
在本发明实施例中,在启动应用程序时,获取应用程序的应用标识及应用程序对应的json脚本文件的版本号,json脚本文件中包括页面跳转顺序信息;发送应用标识和版本号给服务器;接收服务器在确定json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据最新版本下载地址,下载应用程序对应的最新版本的json脚本文件。在本发明中为应用程序设置了json脚本文件,当需要调整页面跳转顺序时开发人员在json脚本文件中设置页面跳转顺序信息,并发布最新版本的json脚本文件,终端只需下载最新版本的json脚本文件即可实现调整应用程序的页面跳转顺序,不必下载应用程序的安装包进行升级,节省了数据流量。
本发明实施例所提供的系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种应用程序升级方法,其特征在于,所述方法包括:
在启动应用程序时,获取所述应用程序的应用标识及所述应用程序对应的json脚本文件的版本号,所述json脚本文件中包括页面跳转顺序信息,所述页面跳转顺序信息中包括跳转前页面的页面标识及跳转后页面的页面标识;
发送所述应用标识和所述版本号给服务器,以使所述服务器根据所述版本号和所述应用标识确定所述json脚本文件的版本是否为最新版本;
其中,在发送所述应用标识和所述版本号给服务器时,还发送用户标识给所述服务器,以使所述服务器根据所述版本号和所述用户标识确定所述json脚本文件的版本是否为最新版本,其中,所述服务器中存储有所述用户标识、所述用户标识对应的用户经常浏览的页面名称以及所述用户浏览页面的跳转顺序,所述json脚本文件是所述服务器根据所述用户经常浏览的页面名称以及所述用户浏览页面的跳转顺序生成的;接收所述服务器在确定所述json脚本文件的版本不是最新版本时发送的最新版本下载地址;
根据所述最新版本下载地址,下载所述应用程序对应的最新版本的json脚本文件。
2.根据权利要求1所述的方法,其特征在于,所述获取所述应用程序对应的json脚本文件的版本号,包括:
检测本地是否存在所述应用程序对应的json脚本文件;
如果是,从所述json脚本文件中读取所述json脚本文件的版本号;
如果否,将预设值确定为获取的所述应用程序对应的json脚本文件的版本号。
3.根据权利要求1或2任一项所述的方法,其特征在于,所述下载所述应用程序对应的最新版本的json脚本文件之后,还包括:
在检测到页面跳转请求时,获取所述页面跳转请求对应的页面跳转顺序信息;
比较所述页面跳转请求对应的页面跳转顺序信息与所述最新版本的json脚本文件中包括的页面跳转顺序信息是否相同;
如果是,则根据所述页面跳转请求对应的页面跳转顺序信息进行页面跳转;
如果否,则根据所述最新版本的json脚本文件中包括的页面跳转顺序信息进行页面跳转。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
查看所述最新版本的json脚本文件中是否包含页面跳转后的页面对应的显示数据修改信息;
如果是,则在页面跳转后,根据所述显示数据修改信息,修改所述页面跳转后的页面内的显示数据。
5.一种应用程序升级方法,其特征在于,所述方法包括:
接收终端发送的应用程序的应用标识和所述应用程序对应的json脚本文件的版本号,所述json脚本文件中包括页面跳转顺序信息,所述页面跳转顺序信息中包括跳转前页面的页面标识及跳转后页面的页面标识;
根据所述应用标识,获取所述应用程序对应的json脚本文件的最新版本号;
所述获取所述应用程序对应的json脚本文件的最新版本号,还包括:
接收所述终端发送的用户标识;
根据所述用户标识、所述版本号及所述应用程序对应的json脚本文件的最新版本号,确定所述终端是否已缓存最新版本的json脚本文件;若接收的所述版本号和所述最新版本号不相同,则发送所述最新版本号对应的最新版本下载地址给所述终端,以使所述终端根据所述最新版本下载地址下载最新版本的json脚本文件;
其中,所述方法还包括:
根据所述用户标识,确定所述用户标识对应的用户经常浏览的页面名称以及所述用户浏览页面的跳转顺序;
根据所述用户经常浏览的页面名称以及所述用户浏览页面的跳转顺序生成所述json脚本文件。
6.根据权利要求5所述的方法,其特征在于,所述根据所述用户标识、所述版本号及所述应用程序对应的json脚本文件的最新版本号,确定所述终端是否已缓存最新版本的json脚本文件,包括:
从所述应用程序对应的最新版本号中,确定出所述用户标识对应的最新版本号;
比较所述版本号与所述用户标识对应的最新版本号是否相同;
如果是,则确定所述终端已缓存最新版本的json脚本文件;
如果否,则确定所述终端未缓存最新版本的json脚本文件,执行所述发送所述最新版本号对应的最新版本下载地址给所述终端。
7.一种应用程序升级系统,其特征在于,所述系统包括服务器和终端;
所述终端,用于在启动应用程序时,获取所述应用程序的应用标识及所述应用程序对应的json脚本文件的版本号,所述json脚本文件中包括页面跳转顺序信息,所述页面跳转顺序信息中包括跳转前页面的页面标识及跳转后页面的页面标识;发送所述应用标识和所述版本号给所述服务器;接收所述服务器在确定所述json脚本文件的版本不是最新版本时发送的最新版本下载地址;根据所述最新版本下载地址,下载所述应用程序对应的最新版本的json脚本文件;
所述终端,还用于发送用户标识给所述服务器;
所述服务器,用于接收所述终端发送的所述应用标识和所述版本号,根据所述应用标识,获取所述应用程序对应的json脚本文件的最新版本号;若接收的所述版本号和所述最新版本号不相同,则发送所述最新版本号对应的最新版本下载地址给所述终端;
所述服务器,还用于接收所述用户标识;根据所述用户标识、所述版本号及所述应用程序对应的json脚本文件的最新版本号,确定所述终端是否已缓存最新版本的json脚本文件;
其中,所述服务器,还用于存储所述用户标识、所述用户标识对应的用户经常浏览的页面名称以及所述用户浏览页面的跳转顺序;
所述服务器,还用于根据所述用户经常浏览的页面名称以及所述用户浏览页面的跳转顺序,生成所述应用程序对应的json脚本文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611166224.5A CN106598673B (zh) | 2016-12-16 | 2016-12-16 | 一种应用程序升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611166224.5A CN106598673B (zh) | 2016-12-16 | 2016-12-16 | 一种应用程序升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106598673A CN106598673A (zh) | 2017-04-26 |
CN106598673B true CN106598673B (zh) | 2021-01-01 |
Family
ID=58801889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611166224.5A Active CN106598673B (zh) | 2016-12-16 | 2016-12-16 | 一种应用程序升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598673B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170465B (zh) * | 2018-01-04 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
CN108471361B (zh) * | 2018-03-28 | 2021-08-24 | 新华三技术有限公司 | 一种版本升级方法及装置 |
CN110874226B (zh) * | 2018-08-29 | 2023-05-02 | 山东华软金盾软件股份有限公司 | 一种android系统功能升级的方法 |
CN109359040A (zh) * | 2018-09-30 | 2019-02-19 | 珠海市君天电子科技有限公司 | 测试应用的方法、装置、电子设备及计算机可读存储介质 |
CN109471988B (zh) * | 2018-10-12 | 2024-06-25 | 平安科技(深圳)有限公司 | 页面信息更新方法、装置、计算机设备及存储介质 |
CN109240740B (zh) * | 2018-11-15 | 2022-08-02 | 北京金山云网络技术有限公司 | 控制台版本兼容方法、装置及电子设备 |
CN109992290A (zh) * | 2019-03-21 | 2019-07-09 | 深圳点猫科技有限公司 | 一种对桌面端程序智能热更新的编程实现方法及系统 |
CN110177081A (zh) * | 2019-04-18 | 2019-08-27 | 视联动力信息技术股份有限公司 | 脚本文件获取方法及装置 |
CN111880836A (zh) * | 2020-07-07 | 2020-11-03 | 上海中通吉网络技术有限公司 | 移动终端应用的页面缓存及刷新方法、装置和移动终端 |
CN113873009A (zh) * | 2021-08-31 | 2021-12-31 | 五八有限公司 | 一种Nib文件加载方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487889A (zh) * | 2015-11-26 | 2016-04-13 | 小米科技有限责任公司 | 应用界面更新方法及装置 |
CN105512190A (zh) * | 2015-11-26 | 2016-04-20 | 网易(杭州)网络有限公司 | 界面跳转方法及装置 |
-
2016
- 2016-12-16 CN CN201611166224.5A patent/CN106598673B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487889A (zh) * | 2015-11-26 | 2016-04-13 | 小米科技有限责任公司 | 应用界面更新方法及装置 |
CN105512190A (zh) * | 2015-11-26 | 2016-04-20 | 网易(杭州)网络有限公司 | 界面跳转方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106598673A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598673B (zh) | 一种应用程序升级方法及系统 | |
US10713034B2 (en) | Updating web resources | |
US10212563B2 (en) | Updating web resources | |
CN104049986B (zh) | 插件加载方法及装置 | |
JP5658283B2 (ja) | アプリケーションの稼働方法、装置及びシステム | |
US20130132422A1 (en) | System and method for creating and controlling an application operating on a plurality of computer platform types | |
CN111580854A (zh) | 基于应用程序接口网关的前后端分离方法及相关设备 | |
CN102902531A (zh) | 一种安卓应用程序的定制、生成方法及其装置 | |
CN107528718B (zh) | 获取资源的方法、装置和系统 | |
CN102833350A (zh) | WebApp更新的处理方法和处理装置 | |
CN110113391B (zh) | 一种客户端上线方法、装置及一种客户端运行方法、装置 | |
CN105760183A (zh) | 文件处理方法、装置及通信系统 | |
CN112612982A (zh) | 网页预加载方法、装置及计算机设备 | |
CN112149035A (zh) | 网站静态资源处理方法及装置 | |
CN110532016B (zh) | 版本管理方法、版本更新方法和版本管理系统 | |
CN112114871B (zh) | 一种代码共享方法、装置、服务器、终端及介质 | |
CN104346460A (zh) | 进行文件下载的方法、装置及浏览器客户端 | |
CN116760821A (zh) | 一种分布式文件下载方法、系统、电子设备及存储介质 | |
CN104217021B (zh) | 阅读服务器、终端设备及其显示阅读内容的方法 | |
CN109460531B (zh) | 网页管理方法、装置及智能终端 | |
CN114528510A (zh) | 网页数据处理的方法、装置、电子设备及介质 | |
CN113157348A (zh) | 游戏启动方法、装置、计算机设备以及存储介质 | |
KR100601848B1 (ko) | 이동 통신 단말에서의 다운로드 디스크립터 처리 방법 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN114327667B (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 |