差分包升级方法、装置、终端及计算机可读存储介质与流程

文档序号:14609177发布日期:2018-06-05 20:27阅读:196来源:国知局
差分包升级方法、装置、终端及计算机可读存储介质与流程

本发明涉及通信技术领域,具体涉及一种差分包升级方法、装置、终端及计算机可读存储介质。



背景技术:

随着终端技术的不断发展和进步,终端已经成为人们生活和工作中不可或缺的一部分。终端中往往安装有终端厂商初始安装在终端中的系统软件、应用软件和用户在后续使用过程中安装的多种应用软件。在终端使用过程中,可能会为了满足用户提出的新的功能需求,而需要对旧版本软件进行升级。

目前,有多种软件版本升级方式,例如用户在下载新版本的软件时,需要下载完整的新版本安装包到终端上,才能正确安装的整包安装方式。或者差分包升级方式,差分包升级是安卓系统提出的标准软件升级方式,其功能强大,可以无损失升级系统,需要通过网络自动下载升级差分包,自动升级。差分包升级方式相比于整包安装方式具有占用存储空间小,耗费流量小,升级速度快等优势,被广泛应用。然而,现有技术中在差分包升级过程中,差分升级一次只能升级一个版本,升级该一个版本之后,必须重启系统才能进入另外一个主系统(Recovery)进行下一步的升级,导致升级过程操作步骤繁多,浪费测试人力的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种差分包升级方法、装置、终端及计算机可读存储介质,以解决现有技术中差分包升级过程操作步骤繁多,浪费测试人力的问题。

为此,本发明实施例提供了如下技术方案:

本发明第一方面,提供了一种差分包升级方法,包括:获取升级请求;其中,所述升级请求用于指示将终端中的指定软件由当前第一版本升级至第N版本,所述第N版本与所述第一版本之间存在N-1个差分升级包;N为大于等于2的正整数;根据所述升级请求将所述N-1个差分升级包均下载至所述终端本地;按照所述N-1个差分升级包的顺序逐个安装升级包,将所述指定软件由所述第一版本升级至所述第N版本。

可选地,根据所述升级请求将所述N-1个差分升级包均下载至所述终端本地之前,还包括:确定所述N-1个差分升级包总的大小小于所述第N版本整包的大小。

可选地,根据所述升级请求将所述N-1个差分升级包均下载至所述终端本地包括:将所述N-1个差分升级包存储至指定文件;和/或,将所述N-1个差分升级包写入所述终端的磁盘分区。

可选地,根据所述升级请求将所述N-1个差分升级包均下载至所述终端本地之后,包括:校验每个所述N-1个差分升级包是否完整;和/或,校验每个所述N-1个差分升级包的版本信息是否正确。

本发明第二方面,提供了一种差分包升级装置,包括:获取模块,用于获取升级请求;其中,所述升级请求用于指示将终端中的指定软件由当前第一版本升级至第N版本,所述第N版本与所述第一版本之间存在N-1个差分升级包;N为大于等于2的正整数;下载模块,用于根据所述升级请求将所述N-1个差分升级包均下载至所述终端本地;升级模块,用于按照所述N-1个差分升级包的顺序逐个安装升级包,将所述指定软件由所述第一版本升级至所述第N版本。

可选地,所述装置还包括:确定模块,用于在所述下载模块根据所述升级请求将所述N-1个差分升级包均下载至所述终端本地之前,确定所述N-1个差分升级包总的大小小于所述第N版本整包的大小。

可选地,所述下载模块具体用于将所述N-1个差分升级包存储至指定文件;和/或,将所述N-1个差分升级包写入所述终端的磁盘分区。

可选地,所述装置还包括:校验模块,用于在所述下载模块根据所述升级请求将所述N-1个差分升级包均下载至所述终端本地之后,校验每个所述N-1个差分升级包是否完整;和/或,校验每个所述N-1个差分升级包的版本信息是否正确。

本发明第三方面,提供了一种终端,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述第一方面中任一所述的差分包升级方法。

本发明第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述第一方面中任一所述的差分包升级方法的步骤。

本发明实施例技术方案,具有如下优点:

本发明实施例提供了一种差分包升级方法、装置、终端及计算机可读存储介质,该差分包升级方法包括:获取升级请求;其中,该升级请求用于指示将终端中的指定软件由当前第一版本升级至第N版本,该第N版本与该第一版本之间存在N-1个差分升级包;N为大于等于2的正整数;根据该升级请求将该N-1个差分升级包均下载至该终端本地;按照该N-1个差分升级包的顺序逐个安装升级包,将该指定软件由该第一版本升级至该第N版本。相比于现有技术中,差分升级一次只升级一个版本,升级过程中其实是进入另一个系统(Recovery)去升级,升级后必须重启才能进入另外主系统,进行下一步的升级,而本发明中将N-1个差分升级包全部下载下来,再进入Recovery,逐个安装差分升级包,都安装完成之后再重启终端,解决了现有技术中差分包升级过程操作步骤繁多,浪费测试人力的问题,从而提高了差分包升级的效率,节省了人力成本。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例中手机的结构图;

图2是根据本发明实施例的差分包升级方法的流程图;

图3是根据本发明实施例的主系统和升级系统之间的交互示意图;

图4是根据本发明实施例的差分包升级方法的另一个流程图;

图5是根据本发明实施例的差分包升级装置的结构框图;

图6是本发明实施例提供的终端的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,是本发明的实施例的应用场景示意图。移动终端可以为手机或平板电脑等移动设备,移动终端以手机为例,手机的部分结构框图如图1所示,手机包括射频电路210、存储器220、输入单元230、显示单元240、传感器250、音频电路260、无线模块270、处理器280以及电源290等部分。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中RF电路210用于收发信息或通话过程中,信号的接收和发送。存储器220用于存储软件程序以及模块,处理器280通过运行存储在存储器220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。输入单元230用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。输入单元230可包括触控面板231以及其他输入设备232。其他输入设备232可以包括但不限于物理键盘、功能键、鼠标、操作杆中的一种或几种。显示单元240用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元240可以包括显示面板241。触控面板231可覆盖显示面板241,当触控面板231检测到在其上或附近的触摸操作后,传送给处理器280以确定触摸事件的类型,随后处理器280根据触摸事件的类型在显示面板241上提供相应的视觉输出。

手机还可包括至少一种传感器250,如光传感器、运动传感器以及其他传感器。光传感器可包括环境光传感器及接近传感器,环境传感器可根据环境光线的明暗来调节显示面板241的亮度,接近传感器可在手机移动到耳边时,关闭显示面板241和/或背光。本实施例中光传感器可以设置在手机的正面和背面的壳体上,用于检测用户持握手机时的遮挡区域。此处还可以包括压力传感器,设置在手机的正面或背面壳体上,用于通过检测压力的方式获得用户持握手机时的遮挡区域。此外,手机还可以配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,不再赘述。

音频电路260、扬声器261、传声器262可提供用户与手机之间的音频接口。无线模块270可以是WIFI模块,为用户提供无线的互联网访问服务。

处理器280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器280可以包括一个或多个处理单元。此外,手机还包括各部件供电的电源290,通过电源管理系统与处理器280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本实施例中提供了一种差分包升级方法,可用于上述的移动终端,如手机、平板电脑等,图2是根据本发明实施例的差分包升级方法的流程图,如图2所示,该流程包括如下步骤:

步骤S201,获取升级请求。其中,该升级请求用于指示将终端中的指定软件由当前第一版本升级至第N版本,第N版本与第一版本之间存在N-1个差分升级包;N为大于等于2的正整数。例如将当前V1版本升级到V4版本,其中包括了V1版本到V2版本、V2版本到V3版本、V3版本到V4版本三个差分升级包。

关于终端获取升级请求的方式可以包括很多种,在一个可选实施例中,可以通过触摸屏或者物理键盘由用户输入上述升级请求,在另一个可选实施例中,还可以通过语音方式由用户输入上述升级请求。本领域技术人员应当知晓,任何显而易见的获取升级请求的方式均在本实施例的保护范围之内。

步骤S202,根据上述升级请求将该N-1个差分升级包均下载至终端本地。具体地,在一个可选实施例中,可以将该N-1个差分升级包存储至终端的指定文件;在另一个可选实施例中,还可以将该N-1个差分升级包写入该终端的磁盘分区。需要说明的是,上述N-1个差分升级包的存储方式,仅为举例说明,而并非用以限制本发明,本领域技术人员根据该实施例的描述,可以采用现有技术中其他的方式来实现。

步骤S203,按照该N-1个差分升级包的顺序逐个安装升级包,将该指定软件由该第一版本升级至该第N版本。

通过上述步骤,获取升级请求,将从第一版本到第N版本的全部差分升级包均下载至终端本地,然后逐个安装升级包将终端软件由该第一版本升级至该第N版本。相比于现有技术中,差分升级一次只升级一个版本,升级过程中其实是进入另一个系统(Recovery)去升级,升级后必须重启才能进入另外主系统,进行下一步的升级,即,每次差分包升级都要经历下载、重启终端进入到升级系统并安装升级,升级时间较长,操作繁琐。上述步骤,如图3所示将N-1个差分升级包全部下载下来,再进入Recovery,逐个安装差分升级包,都安装完成之后再重启终端,解决了现有技术中差分包升级过程操作步骤繁多,浪费测试人力的问题,从而提高了差分包升级的效率,节省了人力成本。

根据实际情况可以选择使用整包升级方式或者差分包升级方式,因此,在一个可选实施例中,根据该升级请求将该N-1个差分升级包均下载至该终端本地之前,确定该N-1个差分升级包总的大小小于第N版本整包的大小,否则如果N-1个差分升级包总的大小大于第N版本整包的大小,说明通过整包升级的方式可以实现快速升级,则优先选择整包升级的方式。

为了保证差分包升级的准确性,根据上述升级请求将N-1个差分升级包均下载至终端本地之后,在一个可选实施例中,可以校验每个该N-1个差分升级包是否完整,在另一个可选实施例中,校验每个该N-1个差分升级包的版本信息是否正确。关于校验每个该N-1个差分升级包是否完整的方式以及校验每个该N-1个差分升级包的版本信息是否正确的方式,本领域技术人员根据该实施例的描述,可以采用现有技术中其他的方式来实现。

下面结合一个具体的可选实施例进行详细说明。

如图3所示,主系统需要先准备好升级使用的多个差分包或者整包,然后把升级包的路径信息保存起来供升级系统使用,比如可以保存到一个文件中,升级系统可以根据这个文件找到多个差分包或者整包。进入升级系统后,升级系统会根据主系统准备好的升级包信息获取到升级分包,然后完成升级包的校验和安装。

差分包多包升级的数据流程如图4所示,主系统是否需要升级到最新版本,如果不需要则流程结束,如果需要升级到最新版本,则判断主系统升级到最新版本所需要的多个查分包总大小是否大于最新的整包;如果升级到最新版本所需要的多个查分包总大小大于最新的整包则准备最新的整包,否则准备当前版本到最新版本之间的多个差分包;存储查分包信息供升级系统使用,例如可以以文件的形式存储,也可以直接写到某个分区中等各种形式。重启进入升级系统,获取一个查分包的信息,也可以将所有查分包的信息一起读取出来,校验升级包信息,包括完整性校验和查分包版本信息校验等,完整性校验采用MD5的方式,校验成功,安装差分包或者整包,升级包安装成功,如果还有未安装的差分包,则重复执行上述步骤。

在本实施例中还提供了一种差分包升级装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本发明实施例的差分包升级装置的结构框图,如图5所示,该装置包括:获取模块51,用于获取升级请求;其中,该升级请求用于指示将终端中的指定软件由当前第一版本升级至第N版本,该第N版本与该第一版本之间存在N-1个差分升级包;N为大于等于2的正整数;下载模块52,用于根据该升级请求将该N-1个差分升级包均下载至该终端本地;升级模块53,用于按照该N-1个差分升级包的顺序逐个安装升级包将该指定软件由该第一版本升级至该第N版本。

可选地,该装置还包括:确定模块,用于在该下载模块根据该升级请求将该N-1个差分升级包均下载至该终端本地之前,确定该N-1个差分升级包总的大小小于该第N版本整包的大小。

可选地,该下载模块具体用于将该N-1个差分升级包存储至指定文件;和/或,将该N-1个差分升级包写入该终端的磁盘分区。

可选地,该装置还包括:校验模块,用于在该下载模块根据该升级请求将该N-1个差分升级包均下载至该终端本地之后,校验每个该N-1个差分升级包是否完整;和/或,校验每个该N-1个差分升级包的版本信息是否正确。

本实施例中的差分包升级装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

请参阅图6,图6是本发明可选实施例提供的一种终端的结构示意图,如图6所示,该终端可以包括:至少一个处理器601,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口603,存储器604,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,通信接口603可以包括显示屏(Display)、键盘(Keyboard),可选通信接口603还可以包括标准的有线接口、无线接口。存储器604可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器604可选的还可以是至少一个位于远离前述处理器601的存储装置。其中处理器601可以结合图5所描述的装置,存储器604中存储一组程序代码,且处理器601调用存储器604中存储的程序代码,以用于执行上述任一一种差分包升级方法。

其中,通信总线602可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。通信总线602可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器604可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器604还可以包括上述种类的存储器的组合。

其中,处理器601可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。

其中,处理器601还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。

可选地,存储器604还用于存储程序指令。处理器601可以调用程序指令,实现如本申请图1和4实施例中所示的差分包升级方法。

本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的差分包升级方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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