应用更新方法、智能终端及计算机可读存储介质与流程

文档序号:16325689发布日期:2018-12-19 05:54阅读:205来源:国知局
应用更新方法、智能终端及计算机可读存储介质与流程

本发明涉及智能终端领域,其涉及一种应用更新方法、智能终端及计算机可读存储介质。

背景技术

随着基于安卓系统的移动终端技术的快速发展,智能终端的app(application,应用)的功能也越来越强大。

目前,app开发大都是将所有需求开发完成后供用户使用,当app的需求庞大复杂时,会导致版本发布周期比较长,后续有版本升级时,即使是细小的需求增加或变更,都需要将一个完整的app下载后实施更新,这种做法非常浪费带宽资源,而且对存储空间不足的设备,很有可能因为空间不够导致下载及更新失败。



技术实现要素:

本发明的主要目的在于提供一种应用更新方法,旨在解决app版本升级时浪费带宽资源的技术问题。

为实现上述目的,本发明提供一种应用更新方法,所述应用更新方法包括以下步骤:

当获取到宿主插件信息表时,基于所述宿主插件信息表和当前运行的app,确定插件的更新类型;

基于所述更新类型更新所述插件;

在检测到所述插件完成更新时,基于所述宿主插件信息表和所述app,确定宿主是否需要更新;

当所述宿主需要更新时,基于所述宿主插件信息表更新所述宿主。

优选地,在一实施方式中,所述当获取到宿主插件信息表时,基于所述宿主插件信息表和所述app,确定插件的更新类型的步骤之前,所述应用更新方法还包括:

在接收到所述app的启动指令时,发送包括设备信息表的请求指令至服务器,以使所述服务器基于所述请求指令生成并反馈宿主插件信息表。

优选地,在一实施方式中,所述插件包括多个子插件,所述当获取到宿主插件信息表时,基于所述宿主插件信息表和所述app,确定插件的更新类型的步骤包括:

当获取到宿主插件信息表时,获取所述宿主插件信息表对应的插件的第一插件名称;

在所述第一插件名称中存在与所述app中的插件不匹配的第一子插件名称时,则确定所述更新类型为插件新增;

在所述第一插件名称中存在与所述app中的插件匹配的第二子插件名称时,则确定第一插件版本是否大于第二插件版本,其中,第一插件版本为所述第二子插件名称对应的子插件在所述宿主插件信息表中对应的插件版本,第二插件版本为所述app中所述第二子插件名称对应的子插件的插件版本;

当所述第一插件版本大于所述第二插件版本时,确定所述更新类型为插件升级。

优选地,在一实施方式中,所述基于所述更新类型更新所述插件的步骤包括:

当所述更新类型是插件新增时,基于所述宿主插件信息表获取所述第一子插件名称对应的第一下载地址,基于所述第一下载地址安装所述第一子插件名称对应的子插件;和/或,

当所述更新类型是插件升级时,基于所述宿主插件信息表获取所述第二子插件名称对应的第二下载地址,基于所述第二下载地址安装所述第二子插件名称对应的子插件。

优选地,在一实施方式中,所述插件包括多个子插件,所述当获取到宿主插件信息表时,基于所述宿主插件信息表和所述app,确定插件的更新类型的步骤包括:

当获取到宿主插件信息表时,获取所述app中子插件的第二插件名称;

当所述第二插件名称中存在与宿主插件信息表中的插件名称不匹配的第三子插件名称时,确定所述更新类型为插件删除。

优选地,在一实施方式中,所述基于所述更新类型更新所述插件的步骤包括:

当所述更新类型为插件删除时,卸载所述第三子插件名称对应的子插件。

优选地,在一实施方式中,所述在检测到所述插件完成更新时,基于所述宿主插件信息表和所述app,确定宿主是否需要更新的步骤包括:

在检测到所述插件完成更新时,确定所述宿主的第一宿主版本是否大于第二宿主版本,其中,在所述第一宿主版本大于第二宿主版本时,判定所述宿主需要更新,所述第一宿主版本是所述宿主插件信息表中的宿主版本,所述第二宿主版本是所述app的宿主版本。

优选地,在一实施方式中,所述当所述宿主需要更新时,基于所述宿主插件信息表更新所述宿主的步骤包括:

在所述第一宿主版本大于第二宿主版本时,基于所述宿主插件信息表获取宿主的下载地址,基于所述下载地址升级宿主。

此外,为实现上述目的,本发明还提供一种智能终端,所述智能终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用更新程序,所述应用更新程序被所述处理器执行时实现上述任一项所述的应用更新方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有应用更新程序,所述应用更新程序被处理器执行时实现上述任一项所述的应用更新方法的步骤。

本发明通过当获取到宿主插件信息表时,基于所述宿主插件信息表和当前运行的app,确定插件的更新类型,接下来基于所述更新类型更新所述插件,而后在检测到所述插件完成更新时,基于所述宿主插件信息表和所述app,确定宿主是否需要更新,然后当所述宿主需要更新时,基于所述宿主插件信息表更新所述宿主。通过宿主和插件分别更新,节约了app版本升级时的带宽资源,提高了app升级成功率,同时实现了为用户提供差异化功能体验,满足不同用户需求。

附图说明

图1是本发明实施例方案涉及的硬件运行环境中智能终端的结构示意图;

图2为本发明应用更新方法第一实施例的流程示意图;

图3为本发明一实施例中宿主插件信息表的示意图;

图4为本发明一实施例中设备信息表的示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境中智能终端的结构示意图。

本发明实施例智能终端可以是智能电视,也可以是pc、智能手机、平板电脑、电子书阅读器、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的智能终端设备。

如图1所示,该智能终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,智能终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的智能终端结构并不构成对智能终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及应用更新程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的应用更新程序。

在本实施例中,智能终端包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的应用更新程序,其中,处理器1001调用存储器1005中存储的应用更新程序时,执行本申请各个实施例提供的应用更新方法的步骤。

本发明还提供一种应用更新方法,参照图2,图2为本发明应用更新方法第一实施例的流程示意图。

在本实施例中,该应用更新方法包括:

步骤s10,当获取到宿主插件信息表时,基于所述宿主插件信息表和当前运行的app,确定插件的更新类型;

步骤s20,基于所述更新类型更新所述插件;

在本实施例中,智能终端具有全开放式平台,搭载了操作系统,如安卓系统、windows系统,在本发明中智能终端上的操作系统是安卓系统。app分成两部分:宿主与插件,一个app仅有一个宿主,但可以包括多个插件,宿主包括app的整体框架,插件的挂载及一些公共业务模块,一个插件对应一个独立的需求。

app的宿主中包括三个控制器:逻辑控制器、宿主控制器和插件控制器,其中逻辑控制器:请求获取服务器发送的宿主插件信息表,进而判断是否需要更新宿主或者插件,如果有需要,调用宿主控制器或插件控制器执行相关操作;宿主控制器:执行对宿主的控制操作,包括下载、安装、更新等操作;插件控制器:执行对插件的控制操作,包括下载、安装、更新、删除等操作。

具体地,已经安装在智能终端上的app,需要定期检测app的宿主和插件的最新版本,当最新版本比当前运行的版本高时,对宿主和插件进行版本升级,升级到最新版本,以使智能终端上的app实现最新功能,进一步满足用户需求。app的宿主和插件的最新版本可以通过宿主插件信息表获取,该宿主插件信息表由服务器发送给安装在智能终端上的app,由app的逻辑控制器对宿主插件信息表中内容进行获取和分析。宿主插件信息表可以包括宿主信息表、智能终端及宿主所支持的插件信息列表,其中宿主信息表可以包括宿主版本、宿主下载地址等,插件信息列表包括多个插件信息表,每个插件信息表可以包括插件名称,插件版本及插件下载地址等信息。

需要说明的是,一个app可以包括多个插件,所以插件的更新不仅仅是版本升级,还涉及插件新增和插件删除等操作,因此需要根据插件的更新类型,对插件执行更新操作。当逻辑控制器获取到宿主插件信息表时,通过获取宿主插件信息表以及当前运行的app中的信息,经过分析判断,确定插件的更新类型,而后通知插件控制器执行插件更新类型对应的操作。

举例说明,一个典型的宿主插件信息表如图3所示,宿主信息表分两个主要部分:宿主信息表和插件信息列表,插件信息列表包括多个插件信息表,如a插件信息表、b插件信息表。从宿主信息表中可以获取到宿主版本和宿主下载地址,其中宿主版本是宿主最新的版本号,宿主下载地址是获取到最新宿主版本的路径,同理,从插件信息表中可以获取到插件名称、插件版本及插件下载地址,其中,因为app包含多个插件,所以每个插件有唯一名称,插件版本是插件最新的版本号,插件下载地址是获取到最新插件版本的路径。

步骤s30,在检测到所述插件完成更新时,基于所述宿主插件信息表和所述app,确定宿主是否需要更新;

步骤s40,当所述宿主需要更新时,基于所述宿主插件信息表更新所述宿主。

在本实施例中,插件和宿主分别更新,但不是同时进行,当宿主插件信息表以及当前运行的app中的所有插件遍历更新后,宿主再进行更新,也就是检测到所有插件全部更新完成后,逻辑控制器通过获取宿主插件信息表以及app中的宿主相关信息,经过分析判断,确定宿主是否需要更新,如果宿主不需要更新,则跳过宿主更新步骤,如果宿主需要更新,则通知宿主控制器执行宿主的更新操作。

需要说明的是,宿主版本具有向下兼容性,宿主和插件之间完全兼容,也就是说无论宿主和插件各自的版本如何,宿主和插件之间不排斥,都能够在app中进行更新。

本实施例提出的应用更新方法,当获取到宿主插件信息表时,基于所述宿主插件信息表和当前运行的app,确定插件的更新类型;基于所述更新类型更新所述插件;在检测到所述插件完成更新时,基于所述宿主插件信息表和当前运行的app,确定宿主是否需要更新;当所述宿主需要更新时,基于所述宿主插件信息表更新所述宿主。通过宿主和插件分别更新,节约了app版本升级时的带宽资源,提高了app升级成功率,同时实现了为用户提供差异化功能体验,满足不同用户需求。

基于第一实施例,提出本发明应用更新方法的第二实施例,在本实施例中,步骤s10之前,所述应用更新方法还包括:

步骤s50,在接收到所述app的启动指令时,发送包括设备信息表的请求指令至服务器,以使所述服务器基于所述请求指令生成并反馈宿主插件信息表。

在本实施例中,app在每次启动时检测app的宿主和插件的最新版本,以保证app实现最新功能,具体地,在接收到app的启动指令时,智能终端发送包括设备信息表的请求指令至服务器,而后,服务器根据请求指令生成宿主插件信息表,并发送至智能终端。服务器主要是针对不同设备用户信息,提供相应的宿主插件信息表,同时存储宿主及插件的最新版本,以供版本更新下载。如果智能终端是触摸屏,app的启动指令可以通过直接单击app图标发送,也可以通过无线遥控装置发送启动指令,关于启动指令的发送方式,在本实施例中不做限定。

需要说明的是,设备信息表是逻辑控制器向服务器请求宿主插件信息表时携带的内容,用于服务器针对智能终端创建准确的宿主插件信息表。如图4所示,设备信息表主要包括智能终端的一些基本信息如:mac地址、android版本、国家地区、app渠道等,其中,mac(mediaaccesscontrol)地址用来定义网络设备的位置,也就是唯一标识智能终端的物理地址;android版本是指智能终端的安卓版本,宿主和插件也是基于该安卓版本开发的;国家地区是指智能终端所属的国家地区;app渠道是指发布该app的运营平台。举例说明,设备信息表中的mac地址:08:00:20:0a:8c:6d;android版本:android8.0;国家地区:中国广东;app渠道:创维软件中心。

本实施例提出的应用更新方法,通过app启动时发送设备信息表并获取宿主插件信息表,实现了定期检测宿主和插件的最新版本,服务器根据设备信息表的内容创建与智能终端相匹配的宿主插件信息表,在保证app的插件和宿主升级到最新版本的同时,实现了为用户提供差异化功能体验,满足不同用户需求。

基于第一实施例,提出本发明应用更新方法的第三实施例,在本实施例中,步骤s10包括:

步骤s11,当获取到宿主插件信息表时,获取所述宿主插件信息表对应的插件的第一插件名称;

在本实施例中,一个app包括多个插件,每个插件的名称是唯一的,需要说明的是,有的插件名称同时存在于宿主插件信息表和前运行的app中,有的插件名称只存在于宿主插件信息表中,有的插件名称只存在于当前运行的app中,根据这三种情况确定插件的更新类型。

具体地,智能终端接收到宿主插件信息表后,从宿主插件信息表中获取插件名称,也就是第一插件名称,再将第一插件名称与从app中获取到的已经安装的插件的插件名称进行比对,判断是否存在与app中的插件不匹配的子插件名称。

步骤s12,在所述第一插件名称中存在与所述app中的插件不匹配的第一子插件名称时,则确定所述更新类型为插件新增;

步骤s13,在所述第一插件名称中存在与所述app中的插件匹配的第二子插件名称时,则确定第一插件版本是否大于第二插件版本,其中,第一插件版本为所述第二子插件名称对应的子插件在所述宿主插件信息表中对应的插件版本,第二插件版本为所述app中所述第二子插件名称对应的子插件的插件版本;

步骤s14,当所述第一插件版本大于所述第二插件版本时,确定所述更新类型为插件升级。

在第一插件名称中存在与app中的插件不匹配的第一子插件名称时,说明当前运行的app中不存在第一子插件,第一子插件属于一个新增的插件。每个插件对应一个独立的需求,也就是实现一个具体功能,新增的插件可以是开发商主动提供,也可以是根据客户需求所定制的,当第一子插件确定为新增时,第一插件名称对应的第一子插件的更新类型是插件新增。

在第一插件名称中存在与所述app中的插件匹配的第二子插件名称时,说明第二子插件已经安装在app中,需要进一步根据插件版本对插件升级类型进行判断。首先从宿主插件信息表中获取第二子插件的插件版本,也就是第一插件版本,然后再从app中获取第二子插件的插件版本,也就是第二插件版本,当第一插件版本等于第二插件版本时,说明app中安装的插件已经是最新版本,不需要进行任何操作,当第一插件版本大于第二插件版本时,说明app中安装的插件不是最新版本,需要版本升级,所以第二子插件的更新类型是插件升级。

进一步地,在一实施例中,步骤s10还包括:

步骤s16,当获取到宿主插件信息表时,获取所述app中子插件的第二插件名称;

步骤s17,当所述第二插件名称中存在与宿主插件信息表中的插件名称不匹配的第三子插件名称时,确定所述更新类型为插件删除。

具体地,智能终端接收到宿主插件信息表后,从app中获取插件名称,也就是第二插件名称,再将第二插件名称与宿主插件信息表中获取到的插件名称进行比对,判断宿主插件信息表中是否存在第二插件名称。

当第二插件名称中存在与宿主插件信息表中的插件名称不匹配的第三子插件名称时,说明第三子插件只存在于app中,为了保持宿主插件信息表与app中插件一致,需要在app中删除第三子插件,则第三子插件的更新类型是插件删除。

需要说明的是,全部插件完成更新后,app中的所有插件与宿主插件信息表中的插件完全一致,也就是说app中的插件数量、插件名称以及插件版本与宿主插件信息表中的对应项完全相同。

举例说明,宿主插件信息表中有3个插件,其中,插件a,版本v1.0;插件b,版本v2.0;插件c,版本v3.0;app中也有3个插件,其中,插件b,版本v2.0;插件c,版本v1.0;插件d,版本v1.1,根据插件的名称及插件版本判断插件的更新类型如表1所示。

表1

进一步地,在一实施例中,步骤s20包括:

步骤s21,当所述更新类型是插件新增时,基于所述宿主插件信息表获取所述第一子插件名称对应的第一下载地址,基于所述第一下载地址安装所述第一子插件名称对应的子插件;和/或,

步骤s22,当所述更新类型是插件升级时,基于所述宿主插件信息表获取所述第二子插件名称对应的第二下载地址,基于所述第二下载地址安装所述第二子插件名称对应的子插件。

具体地,当插件的更新类型是插件新增时,说明该插件仅出现在宿主插件信息表中,未安装在app中,为了保持宿主插件信息表与app中插件一致,需要在app中安装该插件,进一步地,app的逻辑控制器调用插件控制器执行下载、安装插件的操作,也就是首先从宿主插件信息表中获取该插件的第一下载地址,然后访问第一下载地址并下载该插件,最后在app中安装该插件。

同理,当插件的更新类型是插件升级时,说明该插件同时存在于宿主插件信息表与app中,仅仅是版本不同,则需要在app中升级该插件,app的逻辑控制器调用插件控制器执行下载、升级插件的操作,具体地,首先从宿主插件信息表中获取该插件的第二下载地址,然后从第二下载地址下载该插件的最新版本,最后在app中安装该插件,实现插件的升级操作。

进一步地,在一实施例中,步骤s20还包括:当所述更新类型为插件删除时,卸载所述第三子插件名称对应的子插件。

具体地,当插件的更新类型是插件删除时,说明该插件已安装在app中,但是没有出现在宿主插件信息表中,也就是该插件需要从app中删除,因为插件的数量、插件名称和插件版本是以为宿主插件信息表为标准,因此为了保持宿主插件信息表与app中插件一致,在app中需要删除该插件,也就是app的逻辑控制器调用插件控制器执行卸载该插件的操作。

本实施例提出的应用更新方法,通过获取宿主插件信息表和app中的插件名称和插件版本,确定插件的更新类型,并基于插件的更新类型更新插件,保持了宿主插件信息表与app中插件一致,同时每个插件可以单独更新,节约了app版本升级时的带宽资源,提高了app升级成功率,同时实现了为用户提供差异化功能体验,满足不同用户需求。

基于以上施例,提出本发明应用更新方法的第四实施例,在本实施例中,步骤s30包括:

步骤s31,在检测到所述插件完成更新时,确定所述宿主的第一宿主版本是否大于第二宿主版本,其中,在所述第一宿主版本大于第二宿主版本时,判定所述宿主需要更新,所述第一宿主版本是所述宿主插件信息表中的宿主版本,所述第二宿主版本是所述app的宿主版本。

在本实施例中,在检测到插件完成更新时,也就是所有插件遍历更新完成后,判断宿主是否需要更新,因为每个app只有一个宿主,即宿主插件信息表和app中都是同一个宿主,仅存在版本差异,所以只需要对宿主的版本进行判断,确定宿主是否需要更新。

具体地,首先从宿主插件信息表中获取第一宿主版本,然后再从当前运行的app中获取第二宿主版本,当第一宿主版本等于第二宿主版本时,说明app中安装的宿主已经是最新版本,不需要进行任何操作,当第一宿主版本大于第二宿主版本时,说明app中安装的宿主不是最新版本,需要版本升级,升级到宿主最新版本。

进一步地,在一实施例中,步骤s40还包括:在所述第一宿主版本大于第二宿主版本时,基于所述宿主插件信息表获取宿主的下载地址,基于所述下载地址升级宿主。

具体地,当第一宿主版本大于第二宿主版本时,需要升级app中的宿主,使宿主升级到最新版本,也就是宿主插件信息表中获取的宿主版本。app的逻辑控制器调用宿主控制器执行下载、升级宿主的操作,具体地,首先从宿主插件信息表中获取宿主的下载地址,然后下载宿主的最新版本,最后在app中升级宿主,使宿主可以实现最新功能。

本实施例提出的应用更新方法,通过判断宿主插件信息表和app中宿主的版本,根据判断结论升级宿主,宿主可以单独升级,节约了app版本升级时的带宽资源,提高了app升级成功率,提升了用户体验。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有应用更新程序,所述应用更新程序被处理器执行时实现上述各个实施例中应用更新方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1