CN106886436A - 一种Android系统升级的方法和装置 - Google Patents

一种Android系统升级的方法和装置 Download PDF

Info

Publication number
CN106886436A
CN106886436A CN201710051055.9A CN201710051055A CN106886436A CN 106886436 A CN106886436 A CN 106886436A CN 201710051055 A CN201710051055 A CN 201710051055A CN 106886436 A CN106886436 A CN 106886436A
Authority
CN
China
Prior art keywords
upgraded
upgrading
data block
data packet
android system
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.)
Granted
Application number
CN201710051055.9A
Other languages
English (en)
Other versions
CN106886436B (zh
Inventor
杨明明
高存欣
张宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Mobile Communications Technology Co Ltd
Original Assignee
Hisense Mobile Communications Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hisense Mobile Communications Technology Co Ltd filed Critical Hisense Mobile Communications Technology Co Ltd
Priority to CN201710051055.9A priority Critical patent/CN106886436B/zh
Publication of CN106886436A publication Critical patent/CN106886436A/zh
Application granted granted Critical
Publication of CN106886436B publication Critical patent/CN106886436B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

本申请实施例提供了一种Android系统升级的方法,包括:当接收到针对Android系统的升级请求时,下载Android系统的差分升级数据包,差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;差分升级数据包还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息;依据第一待升级数据块的地址确定Android系统中第二待升级数据块;计算第二待升级数据块的校验信息;判断第一待升级数据块的校验信息,与,第二待升级数据块的校验信息是否一致;若一致,则采用所述正向差分升级数据包升级Android系统;校验所述采用正向差分升级数据包升级的Android系统是否升级成功;若否,则采用所述逆向差分升级数据包恢复采用正向差分升级数据包的Android系统。

Description

一种Android系统升级的方法和装置
技术领域
本申请涉及移动终端技术领域,特别是涉及一种Android系统升级的方法和装置。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android系统最初由Andy Rubin开发,主要支持手机。随后Google以Apache开源许可证的授权方式,发布了Android系统的源代码。正是因为Android系统的开源,使得Android系统的开发人员越来越多,Android系统的使用范围也越来越广,从原来主要支持手机逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
随着科技的不断进步,移动设备的硬件、软件也都在不断升级,为了适配更高级的硬件、软件,Android系统也需要不断升级。在实际应用中,因为无线网络的广泛使用,绝大部分的Android系统都是通过OTA(Over the Air Technology,空间下载技术)进行升级。OTA升级是Android系统提供的标准软件升级方式。它功能强大,可以无损失升级系统,主要通过网络,例如WIFI、3G、4G自动下载OTA升级包,然后进行自动升级,但是也支持通过下载OTA升级包到本地存储卡进行升级。OTA的升级包非常的小,一般几M到十几M,非常的方便,基本是在系统上点击几下就完成了升级,并且,最重要的是,OTA升级无需备份数据,短短几分钟就能完成所有升级工作,所有数据都会完好无损的保留下来。
目前,Andorid系统的OTA升级针对系统的校验存在升级前和升级后两次校验,如果升级前校验成功,但是升级后校验失败,则会导致系统没有被正常升级,并且升级过程中,升级失败会进入recovery模式,在该模式下如果等待超时手机会自动重启,此时如果用户不注意,而且恰好手机可以开机,那么,系统版本信息会更改为升级后的高版本信息,所以用户会误认为系统升级成功,即使通过查看版本信息也会误认为系统已经升级成功。但实际上系统并没有真正完全升级成功,还会导致升级后的系统无法进一步后续升级,严重的话,甚至会出现手机会死机、无法开机的情况,这样,用户只能去售后或者返厂维修,不仅用户体验差,而且还会增加维修成本。
发明内容
为了解决上述用户在升级Andorid系统的过程中出现升级失败的情况,提出了本申请实施例一种Android系统升级的方法和相应的一种Android系统升级的装置。
为了解决上述问题,本申请实施例公开了一种Android系统升级的方法,包括:
当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;所述差分升级数据包还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息;
依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
计算所述第二待升级数据块的校验信息;
判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
若一致,则采用所述正向差分升级数据包升级所述Android系统;
校验所述采用正向差分升级数据包升级的Android系统是否升级成功;
若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统。
优选的,在所述采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统的步骤之后,所述的方法还包括:
获取所述Android系统的全包升级数据包;
采用所述全包升级数据包升级所述Android系统。
优选的,所述差分升级数据包还具有与所述第一待升级数据块的地址相同的第一已升级数据块的校验信息;所述校验采用所述正向差分升级数据包升级的Android系统是否升级成功的步骤包括:
确定采用所述正向差分升级数据包升级的第二已升级数据块;
计算所述第二已升级数据块的校验信息;
若所述第一已升级数据块的校验信息,与所述第二已升级数据块的校验信息一致,则判定采用所述正向差分升级数据包升级的Android系统升级成功,否则,判定采用所述正向差分升级数据包升级的Android系统升级失败。
优选的,所述确定采用所述正向差分升级数据包升级的第二已升级数据块,包括:
依据所述第一待升级数据块的地址确定所述Android系统中已升级的数据块;
将所述已升级的数据块作为第二已升级数据块。
优选的,所述的方法还包括:
获取所述Android系统的全包升级数据包;
采用所述全包升级数据包升级所述Android系统。
相应的,本申请实施例公开了一种Android系统升级的装置,包括:
下载模块,用于当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;所述差分升级数据包还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息;
第二待升级数据块确定模块,用于依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
第二待升级数据块计算模块,用于计算所述第二待升级数据块的校验信息;
第二待升级数据块判断模块,用于判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
正向差分升级数据包升级模块,用于若一致,则采用所述正向差分升级数据包升级所述Android系统;
校验模块,用于校验所述采用正向差分升级数据包升级的Android系统是否升级成功;
逆向差分升级数据包升级模块,用于若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统。
优选的,所述的装置还包括:
第一全包升级数据包获取模块,用于获取所述Android系统的全包升级数据包;
第一全包升级数据包升级模块,用于采用所述全包升级数据包升级所述Android系统。
优选的,所述差分升级数据包还具有与所述第一待升级数据块的地址相同的第一已升级数据块的校验信息;所述校验模块包括:
第二已升级数据块确定子模块,用于确定采用所述正向差分升级数据包升级的第二已升级数据块;
第二已升级数据块计算子模块,用于计算所述第二已升级数据块的检验信息;
第二已升级数据块判断子模块,用于若所述第一已升级数据块的校验信息,与所述第二已升级数据块的校验信息一致,则判定采用所述正向差分升级数据包升级的Android系统升级成功,否则,判定采用所述正向差分升级数据包升级的Android系统升级失败。
优选的,所述第二已升级数据块确定子模块包括:
已升级数据块确定单元,用于依据所述第一待升级数据块的地址确定所述Android系统中已升级的数据块;
第二已升级数据块确定单元,用于将所述已升级的数据块作为第二已升级数据块。
优选的,所述的装置还包括:
第二全包升级数据包获取模块,用于当所述第一目标数据块的校验信息,与所述待升级数据块的校验信息不一致时,针对所述升级请求,获取所述Android系统的全包升级数据包;
第二全包升级数据包升级模块,用于采用所述全包升级数据包升级所述Android系统。
本申请实施例包括以下优点:
本申请在接收到针对Android系统的升级请求时,首先下载Android系统的差分升级数据包,其中,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包,还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息。然后依据所述第一待升级数据块的地址确定Android系统中第二待升级数据块,并计算第二待升级数据块的校验信息,接着判断第一待升级数据块的校验信息与第二待升级数据块的校验信息是否一致,如果一致,则采用正向差分升级数据包升级所述Android系统。接着对采用正向差分升级数据包升级所述Android系统进行校验,以确定升级是否成功,若否,则采用所述低版本差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统。这样,在安装升级包之前通过对待升级数据块、升级包进行校验,确定了待升级数据块与升级包没有问题之后再进行升级,升级完成后对升级后的系统进行校验,如果校验失败,则使用逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统,因为当采用正向差分升级数据包升级失败时,系统会出现分区不匹配的情况,严重的话会导致手机死机、无法使用等情况,所以使用逆向差分升级数据包恢复到升级前的系统,这样可以保证手机的正常使用,也可以继续进行升级,从而确保升级可以成功执行,保证了系统升级的成功率。
另外,本申请在采用差分升级数据包升级后,会校验升级后的系统是否升级成功,如果没有,会继续采用完整升级数据对系统进行升级,从而确保升级可以成功执行,进一步保证了系统升级的成功率。
附图说明
图1是本申请的一种Android系统升级的方法实施例的步骤流程图一;
图2是本申请的一种Android系统升级的方法实施例的步骤流程图二;
图3是本申请的一种Android系统升级的装置实施例的结构框图一;
图4是本申请的一种Android系统升级的装置实施例的结构框图二。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,在接收到对当前Android系统进行升级的请求后,首先对当前系统进行校验,如果校验成功,则采用低版本系统到高版本系统的差分升级数据包对当前低版本系统进行升级,升级完成后,再对升级后的系统进行校验,如果校验失败,则采用高版本系统到低版本系统的差分升级数据包恢复升级的的系统,或,采用高版本的全包升级数据包对当前低版本系统进行升级。
现有技术中,Andorid系统的OTA升级针对系统的校验存在升级前和升级后两次校验,具体的,升级前会对差异块的hash值和差异块的差异内容进行校验,两者只要有一个检验成功就可以升级,升级完成后只会判断差异块的hash值是否正确,因此,会出现升级前由于差异块的差异内容校验通过,而差异块的hash值校验不通过,手机仍然可以升级,但是升级后差异块的hash值校验失败,最终导致OTA升级失败的情况。另外,在升级过程中,升级失败会进入recovery模式,在该模式下如果等待超时手机会自动重启,此时如果用户不注意,而且恰好手机可以开机,那么,系统版本信息会更改为升级后的高版本信息,所以用户会误认为系统升级成功,即使通过查看版本信息也会误认为系统已经升级成功。但实际上系统并没有真正完全升级成功,还会导致升级后的系统无法进一步后续升级,严重的话,甚至会出现手机会死机、无法开机的情况。
因此,针对上述问题,本申请会在升级前同时对差异块的hash值和差异块的差异内容进行检验,这样,就不会出现升级前差异块的差异内容通过就进行升级,结果升级后的系统hash值检验不通过的情况了。
进一步,本申请在差分升级数据包中制作正向差分升级数据包和逆向差分升级数据包,默认情况下,系统会先安装正向差分升级数据包里的文件,安装完成后,对升级后的系统进行检验,如果检验失败,则升级后的系统会继续安装逆向差分升级数据包,这样,可以使得升级后的系统恢复至升级前的状态,然后采用高版本的全包升级数据包对恢复后的系统进行升级,这样,在没有解决手机无法通过差分升级的故障之前,一方面不会使手机进入升级—恢复的死循环,另一方面也不会出现系统没有被正常升级,导致系统无法进一步后续升级,甚至出现手机无法使用等情况。
参照图1,示出了本申请的一种Android系统升级的方法实施例的步骤流程图一,具体可以包括如下步骤:
步骤101,当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;所述差分升级数据包具有对应的第一待升级数据块blcok-a1的地址及相应的第一待升级数据块blcok-a1的校验信息。
数据块,是一组按顺序连续排列在一起的几组记录,是主存储器与输入、输出设备或外存储器之间进行传输的一个数据单位,是数据的物理记录。数据块的大小可以是固定的或是可变的,块与块之间有间隙。主存储器与cache(Cache Memory,高速缓冲存储器)都划分成长度相等的数据块,每次主存储器与cache交换数据时都是以数据块为单位进行的。
在本申请中,Android系统采用的差分升级数据包需要预先制作好并存储在服务器中。差分升级的原理,就是将完整高版本系统与完整低版本系统具有差异的数据块制作成差分升级数据包,完整低版本系统通过安装差分升级数据包对那些有差异的数据块里的数据进行更新,从而实现了低版本系统到高版本系统的升级。
相应的,如果上述过程逆向操作,也可以将高版本系统通过安装逆向差分升级数据包退回到低版本系统。
在本发明实施例中,在制作差分升级数据包时,因为知道了升级前完整的低版本与升级后完整的高版本之间的差异,所以可以通过diff工具对高、低两个版本系统的差异进行比较,比较后就可以得知升级前完整的低版本系统与升级后完整的高版本系统之间有差异的数据块是哪些。也就是说,在升级之前就已经知道低版本系统中会被更新的数据块,即,待升级的数据块的地址,此时,针对所述地址的数据块生成校验信息,并将所述地址与生成的校验信息一起打包封装在差分升级数据包里。
其中,校验信息可以是HASH值,例如,在制作差分升级数据包时,通过比较高、低两个版本系统的差异可知,完整低版本系统与完整高版本系统之间有3个数据块是有差异的,此时,将这3个数据块的地址记录下来,并计算这3个数据块的HASH值,然后将这3个数据块的地址、HASH值一起打包封装在差分升级数据包里。例如,差异数据块有3个,3个数据块的地址为分别为“32770,32945,32947”,通过计算可以得知这3个差异数据块的hash值为“a660e36f92492b5f0bdf8617aa1f8d227c9908e1”。
校验信息也可以是对各个数据块的具体操作信息,例如,完整低版本系统与完整高版本系统之间有3个数据块是有差异的,此时,分别记录对每个数据的具体操作,涉及到需要修改的具体位置,例如替换哪些块,移动哪些块等等,然后将这3个数据块的地址、对各个数据块的具体操作信息一起打包封装在差分升级数据包里。例如,对地址为分别为“32770,32945,32947”的3个数据块的处理分别为“move 32770,32947;delete 32945”,即,将地址为32945的数据块移动到地址32947,删除地址为32945的数据块中的数据。
当然,校验信息还可以是其它信息,可以理解,可以用于校验数据的方式都适用于本申请,本申请对此不作限制。
具有Android系统的设备在接收到针对所述Android系统的升级请求时,就会下载具有对应的待升级数据块的地址及相应的待升级数据块的校验信息的差分升级数据包。
步骤102,依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
具有Android系统的设备下载完差分升级数据包后,解封该差分升级数据包,获取其中的待升级数据块的地址。
因为当前低版本系统并不知道哪些数据块是需要更新的,所以通过获取差分升级数据包中的待升级数据块的地址,就知道当前低版本系统中哪些数据块是需要更新的。从而确定当前低版本系统中第二待升级数据块block-a2。
例如,差分升级数据包中记载的地址为“32770,32945,32947”,当移动设备下载了差分升级数据包后,对其进行解封,得到了上述地址,因为根据上述地址,找到与上述地址对应的3个数据块。
步骤103,计算所述第二待升级数据块的校验信息;
确定了当前低版本系统中第二待升级数据块block-a2后,计算所述第二待升级数据块block-a2的校验信息。其中,校验信息可以是HASH值,也可以是对各个数据块的具体操作信息。
例如,计算地址为“32770,32945,32947”的3个数据块的hash值为“a660e36f92492b5f0bdf8617aa1f8d227c9908e1”,对各个数据块的具体操作信息为“move32770,32947;delete 32945”。
步骤104,判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
具体的,当前低版本系统根据差分升级数据包中待升级的数据块的地址计算出所述地址数据的HASH值,与差分升级数据包中待升级的数据块的HASH值进行比较,判断二者是否一致。
还可以判断对当前低版本中各个待升级的数据块的操作与差分升级数据包中记载的对各个待升级的数据块的操作是否是一致的。比如,差分升级数据包中对某个数据块的操作方式为删除,但是校验信息中记载的对该数据块的操作方式应该为移动,这样,二者就不是一致了。
步骤105,若一致,则采用所述正向差分升级数据包升级所述Android系统。
若当前低版本系统根据差分升级数据包中待升级的数据块的地址计算出所述地址数据的HASH值,与差分升级数据包中待升级的数据块的HASH值相同,和/或,对当前低版本中各个待升级的数据块的操作与差分升级数据包中记载的对各个待升级的数据块的操作相同,则采用下载的差分升级数据包升级所述Android系统。
在本发明一种优选实施例中,在所述采用所述差分升级数据包升级所述Android系统的步骤之后,还包括:
步骤106,校验所述采用正向差分升级数据包升级的Android系统是否升级成功。
具体的,为确保系统正常升级完成,需要对升级后的系统进行校验,在本发明一种优选实施例中,所述差分升级数据包还具有与所述第一待升级数据块blcok-a1的地址相同的第一已升级数据块block-A1的校验信息;所述步骤106包括:
确定采用所述正向差分升级数据包升级的第二已升级数据块;
计算所述第二已升级数据块的校验信息;
若所述第一已升级数据块block-A1的校验信息,与所述第二已升级数据块的校验信息一致,则判定采用所述正向差分升级数据包升级的Android升级成功,否则,判定采用所述正向差分升级数据包升级的Android系统升级失败。
基于差分升级的原理,完整的高版本系统是已知的,所以可以针对完整高版本系统中已升级数据块生成校验信息。而完整高版本系统中已升级数据块的地址与升级前完整低版本系统中待升级数据的地址是完全一样的,所以,可以根据所述地址,计算出完整高版本系统中所述地址数据块的校验信息,并打包封装在差分升级数据包中。
当前低版本系统采用差分升级数据包完成升级后,继续依据待升级数据块的地址确定Android系统中已升级的数据块,并将所述数据块作为第二已升级数据块block-A2,然后计算第二已升级数据块block-A2的校验信息,若计算出的第二已升级数据块block-A2的校验信息与差分升级数据包中第一已升级数据块block-A1的校验信息一致,则判定采用所述差分升级数据包升级的Android升级成功,否则,判定采用所述差分升级数据包升级的Android系统升级失败。
例如,升级完成后,在差分升级数据包中,地址为“32770,32945,32947”3个数据块的HASH值为“5da53138473ede069bb216e0fc1876d27f626993”,而完成升级的移动设备根据差分升级数据包,计算出地址为“32770,32945,32947”3个数据块的HASH值也是“5da53138473ede069bb216e0fc1876d27f626993”;差分升级数据包中记载的对地址为分别为“32770,32945,32947”的3个数据块的处理分别为“move 32770,32947;delete 32945”,而移动设备在升级的过程中,对地址为“32770,32945,32947”3个数据块的处理也同样是“move 32770,32947;delete 32945”,那么,此时可以判定采用所述差分升级数据包升级的Android升级成功了。
需要说明的是,本发明实施例中第一待升级数据块blcok-a1、第一已升级数据块block-A1、第二待升级数据块block-a2、第二已升级数据块block-A2的地址都是相同的,区别在于:blcok-a1里的数据是升级前系统中的数据,blcok-A1里的数据是升级前差分升级数据包里的数据,blcok-a2里的数据也是升级前系统中的数据(即,blcok-a1里的数据和blcok-a2里的数据是相同的),blcok-A2里的数据则是升级后系统中的数据。
因为差分升级数据包中包括blcok-a1数据块的检验信息,所以为了区分升级包中的blcok-a1数据块的检验信息,和根据系统中blcok-a1数据块计算得出的blcok-a1数据块的检验信息,本发明实施例将blcok-a1数据块的检验信息描述为blcok-a2数据块的检验信息。
在本发明一种优选实施例中,所述确定采用所述正向差分升级数据包升级的第二已升级数据块包括:
依据所述第一待升级数据块的地址确定所述Android系统中已升级的数据块;
将所述已升级的数据块作为第二已升级数据块。
步骤107,若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统。
在本发明实施例中,若采用正向差分升级数据包升级的Android系统升级失败,则意味着系统是没有被正常升级的,此时如果用户不注意,而且恰好手机可以开机,那么,系统版本信息会更改为升级后的高版本信息,所以用户会误认为系统升级成功,即使通过查看版本信息也会误认为系统已经升级成功。但实际上系统并没有真正完全升级成功,还会导致升级后的系统无法进一步后续升级,严重的话甚至会出现移动终端无法开机等情况。因此,在采用高版本差分升级数据升级失败的情况下,升级后的系统会通过安装逆向差分升级数据包恢复到升级之前的系统,这样就不会出现因为系统分区不匹配导致移动终端不可用的情况了。
步骤108,获取所述Android系统的全包升级数据包,以及,采用所述全包升级数据包升级所述Android系统。
在本发明实施例中,可以将完整高版本系统制作成一个升级包,这样,低版本系统在安装完全包升级数据包后,就完成了对当前系统的升级。
需要说明的是,在本发明实施例中,获取全包升级数据包的方式可以是与差分升级数据包封装在一起下载下来,也可以是在第一待升级数据块blcok-a1的校验信息,与第二待升级数据块blcok-a2的校验信息不一致时,重新从服务器上下载,本发明实施例对获取完整数据包的方式不作限制。
参照图2,示出了本申请的一种Android系统升级的方法实施例的步骤流程图二,具体可以包括如下步骤:
步骤201,当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包具有对应的第待升级数据块的地址及相应的第一待升级数据块的校验信息;
步骤202,依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
步骤203,计算所述第二待升级数据块的校验信息;
步骤204,判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
步骤205,若一致,则采用所述差分升级数据包升级所述Android系统;
步骤206,校验所述采用正向差分升级数据包升级的Android系统是否升级成功;
步骤207,若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统;
步骤208,获取所述Android系统的全包升级数据包;
具体的,当当前低版本系统根据差分升级数据包中待升级的数据块的地址计算出所述地址数据的HASH值,与差分升级数据包中待升级的数据块的HASH值不相同,和/或,对当前低版本中各个待升级的数据块的操作与差分升级数据包中记载的对各个待升级的数据块的操作不相同时,则获取完整高版本的全包升级数据包,然后采用全包升级数据包对当前低版本系统进行升级。
需要说明的是,在本发明实施例中,获取全包升级数据包的方式可以是与差分升级数据包封装在一起下载下来,也可以是在第一待升级数据块blcok-a1的校验信息,与第二待升级数据块block-a2的校验信息不一致时,重新从服务器上下载,本发明实施例对获取完整数据包的方式不作限制。
步骤209,采用所述全包升级数据包升级所述Android系统。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图3,示出了本申请的一种Android系统升级的装置实施例的结构框图一,具体可以包括如下模块:
下载模块301,用于当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;所述差分升级数据包还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息;
第二待升级数据块确定模块302,用于依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
第二待升级数据块计算模块303,用于计算所述第二待升级数据块的校验信息;
第二待升级数据块判断模块304,用于判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
正向差分升级数据包升级模块305,用于若一致,则采用所述正向差分升级数据包升级所述Android系统;
校验模块306,用于校验所述采用正向差分升级数据包升级的Android系统是否升级成功;
逆向差分升级数据包升级模块307,用于若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统。
在本发明一种优选实施例中,所述的装置还包括:
第一全包升级数据包获取模块308,用于获取所述Android系统的全包升级数据包;
第一全包升级数据包升级模块309,用于采用所述全包升级数据包升级所述Android系统。
在本发明一种优选实施例中,所述差分升级数据包还具有与所述第一待升级数据块的地址相同的第一已升级数据块的校验信息;所述校验模块包括:
第二已升级数据块确定子模块,用于确定采用所述正向差分升级数据包升级的第二已升级数据块;
第二已升级数据块计算子模块,用于计算所述第二已升级数据块的检验信息;
第二已升级数据块判断子模块,用于若所述第一已升级数据块的校验信息,与所述第二已升级数据块的校验信息一致,则判定采用所述正向差分升级数据包升级的Android系统升级成功,否则,判定采用所述正向差分升级数据包升级的Android系统升级失败。
在本发明一种优选实施例中,所述第二已升级数据块确定子模块包括:
已升级数据块确定单元,用于依据所述第一待升级数据块的地址确定所述Android系统中已升级的数据块;
第二已升级数据块确定单元,用于将所述已升级的数据块作为第二已升级数据块。
参照图4,示出了本申请的一种Android系统升级的装置实施例的结构框图二,具体可以包括如下模块:
下载模块401,用于当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;所述差分升级数据包还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息;
第二待升级数据块确定模块402,用于依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
第二待升级数据块计算模块403,用于计算所述第二待升级数据块的校验信息;
第二待升级数据块判断模块404,用于判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
正向差分升级数据包升级模块405,用于若一致,则采用所述正向差分升级数据包升级所述Android系统;
校验模块406,用于校验所述采用正向差分升级数据包升级的Android系统是否升级成功;
逆向差分升级数据包升级模块407,用于若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统;
在本发明一种优选实施例中,所述的装置还包括:
第二全包升级数据包获取模块408,获取所述Android系统的全包升级数据包;
第二全包升级数据包升级模块409,用于采用所述全包升级数据包升级所述Android系统。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种Android系统升级的方法和一种Android系统升级的装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种Android系统升级的方法,其特征在于,包括:
当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;所述差分升级数据包还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息;
依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
计算所述第二待升级数据块的校验信息;
判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
若一致,则采用所述正向差分升级数据包升级所述Android系统;
校验所述采用正向差分升级数据包升级的Android系统是否升级成功;
若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统。
2.根据权利要求1所述的方法,其特征在于,在所述采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统的步骤之后,所述的方法还包括:
获取所述Android系统的全包升级数据包;
采用所述全包升级数据包升级所述Android系统。
3.根据权利要求1所述的方法,其特征在于,所述差分升级数据包还具有与所述第一待升级数据块的地址相同的第一已升级数据块的校验信息;所述校验采用所述正向差分升级数据包升级的Android系统是否升级成功的步骤包括:
确定采用所述正向差分升级数据包升级的第二已升级数据块;
计算所述第二已升级数据块的校验信息;
若所述第一已升级数据块的校验信息,与所述第二已升级数据块的校验信息一致,则判定采用所述正向差分升级数据包升级的Android系统升级成功,否则,判定采用所述正向差分升级数据包升级的Android系统升级失败。
4.根据权利要求3所述的方法,其特征在于,所述确定采用所述正向差分升级数据包升级的第二已升级数据块,包括:
依据所述第一待升级数据块的地址确定所述Android系统中已升级的数据块;
将所述已升级的数据块作为第二已升级数据块。
5.根据权利要求1所述的方法,其特征在于,所述的方法还包括:
获取所述Android系统的全包升级数据包;
采用所述全包升级数据包升级所述Android系统。
6.一种Android系统升级的装置,其特征在于,包括:
下载模块,用于当接收到针对所述Android系统的升级请求时,下载所述Android系统的差分升级数据包,所述差分升级数据包包括正向差分升级数据包,和,逆向差分升级数据包;所述差分升级数据包还具有对应的第一待升级数据块的地址及相应的第一待升级数据块的校验信息;
第二待升级数据块确定模块,用于依据所述第一待升级数据块的地址确定所述Android系统中第二待升级数据块;
第二待升级数据块计算模块,用于计算所述第二待升级数据块的校验信息;
第二待升级数据块判断模块,用于判断所述第一待升级数据块的校验信息,与,所述第二待升级数据块的校验信息是否一致;
正向差分升级数据包升级模块,用于若一致,则采用所述正向差分升级数据包升级所述Android系统;
校验模块,用于校验所述采用正向差分升级数据包升级的Android系统是否升级成功;
逆向差分升级数据包升级模块,用于若否,则采用所述逆向差分升级数据包恢复所述采用正向差分升级数据包升级的Android系统。
7.根据权利要求6所述的装置,其特征在于,所述的装置还包括:
第一全包升级数据包获取模块,用于获取所述Android系统的全包升级数据包;
第一全包升级数据包升级模块,用于采用所述全包升级数据包升级所述Android系统。
8.根据权利要求6所述的装置,其特征在于,所述差分升级数据包还具有与所述第一待升级数据块的地址相同的第一已升级数据块的校验信息;所述校验模块包括:
第二已升级数据块确定子模块,用于确定采用所述正向差分升级数据包升级的第二已升级数据块;
第二已升级数据块计算子模块,用于计算所述第二已升级数据块的检验信息;
第二已升级数据块判断子模块,用于若所述第一已升级数据块的校验信息,与所述第二已升级数据块的校验信息一致,则判定采用所述正向差分升级数据包升级的Android系统升级成功,否则,判定采用所述正向差分升级数据包升级的Android系统升级失败。
9.根据权利要求8所述的装置,其特征在于,所述第二已升级数据块确定子模块包括:
已升级数据块确定单元,用于依据所述第一待升级数据块的地址确定所述Android系统中已升级的数据块;
第二已升级数据块确定单元,用于将所述已升级的数据块作为第二已升级数据块。
10.根据权利要求6所述的装置,其特征在于,所述的装置还包括:
第二全包升级数据包获取模块,用于当所述第一目标数据块的校验信息,与所述待升级数据块的校验信息不一致时,针对所述升级请求,获取所述Android系统的全包升级数据包;
第二全包升级数据包升级模块,用于采用所述全包升级数据包升级所述Android系统。
CN201710051055.9A 2017-01-23 2017-01-23 一种Android系统升级的方法和装置 Active CN106886436B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710051055.9A CN106886436B (zh) 2017-01-23 2017-01-23 一种Android系统升级的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710051055.9A CN106886436B (zh) 2017-01-23 2017-01-23 一种Android系统升级的方法和装置

Publications (2)

Publication Number Publication Date
CN106886436A true CN106886436A (zh) 2017-06-23
CN106886436B CN106886436B (zh) 2020-12-04

Family

ID=59176797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710051055.9A Active CN106886436B (zh) 2017-01-23 2017-01-23 一种Android系统升级的方法和装置

Country Status (1)

Country Link
CN (1) CN106886436B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729043A (zh) * 2017-11-10 2018-02-23 深圳Tcl新技术有限公司 增量升级包的校验方法、装置和计算机可读存储介质
CN108021381A (zh) * 2017-12-06 2018-05-11 锐捷网络股份有限公司 设备的单片机升级方法及装置
CN109165034A (zh) * 2018-08-31 2019-01-08 深圳大势智能科技有限公司 基于ota的pos机升级方法、装置、设备及存储介质
CN109922078A (zh) * 2019-03-28 2019-06-21 努比亚技术有限公司 升级控制方法、移动终端及计算机可读存储介质
CN109976784A (zh) * 2019-01-24 2019-07-05 金卡智能集团股份有限公司 智能物联网计量仪表远程固件升级方法及系统
CN111506326A (zh) * 2020-04-07 2020-08-07 Oppo(重庆)智能科技有限公司 终端设备的升级方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138347A (zh) * 2015-07-17 2015-12-09 广东欧珀移动通信有限公司 一种差分升级包生成方法、软件升级方法及相应装置
CN105740016A (zh) * 2016-01-28 2016-07-06 腾讯科技(深圳)有限公司 应用程序的增量发布方法和装置、升级方法和装置
CN105786563A (zh) * 2016-02-19 2016-07-20 联州(上海)信息科技有限公司 实现软件在线更新的装置、系统和方法
CN105897863A (zh) * 2016-03-28 2016-08-24 努比亚技术有限公司 移动终端版本升级回退方法及装置
US20160274885A1 (en) * 2015-03-16 2016-09-22 Microsoft Technology Licensing, Llc Controlling deployment of an industry-specific solution package

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160274885A1 (en) * 2015-03-16 2016-09-22 Microsoft Technology Licensing, Llc Controlling deployment of an industry-specific solution package
CN105138347A (zh) * 2015-07-17 2015-12-09 广东欧珀移动通信有限公司 一种差分升级包生成方法、软件升级方法及相应装置
CN105740016A (zh) * 2016-01-28 2016-07-06 腾讯科技(深圳)有限公司 应用程序的增量发布方法和装置、升级方法和装置
CN105786563A (zh) * 2016-02-19 2016-07-20 联州(上海)信息科技有限公司 实现软件在线更新的装置、系统和方法
CN105897863A (zh) * 2016-03-28 2016-08-24 努比亚技术有限公司 移动终端版本升级回退方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729043A (zh) * 2017-11-10 2018-02-23 深圳Tcl新技术有限公司 增量升级包的校验方法、装置和计算机可读存储介质
CN108021381A (zh) * 2017-12-06 2018-05-11 锐捷网络股份有限公司 设备的单片机升级方法及装置
CN109165034A (zh) * 2018-08-31 2019-01-08 深圳大势智能科技有限公司 基于ota的pos机升级方法、装置、设备及存储介质
CN109976784A (zh) * 2019-01-24 2019-07-05 金卡智能集团股份有限公司 智能物联网计量仪表远程固件升级方法及系统
CN109922078A (zh) * 2019-03-28 2019-06-21 努比亚技术有限公司 升级控制方法、移动终端及计算机可读存储介质
CN111506326A (zh) * 2020-04-07 2020-08-07 Oppo(重庆)智能科技有限公司 终端设备的升级方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN106886436B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN106790247A (zh) 一种Android系统升级的方法和装置
CN106886436A (zh) 一种Android系统升级的方法和装置
CN105573780B (zh) 一种基于容器的移动终端操作系统升级方法和装置
CN107239288B (zh) 一种移动终端的版本升级方法及装置
CN102073512B (zh) 一种java集群应用系统代码装载及升级装置和方法
WO2017166446A1 (zh) 漏洞修复方法和装置
CN102147747B (zh) 增强的升级路径的系统和方法
CN104978253A (zh) 一种目标文件校验的方法和装置
CN104918114B (zh) 一种操作系统升级方法及装置
CN105389177A (zh) 一种软件版本确认方法、装置及系统
CN106033362A (zh) 一种闪存分区的处理方法和装置
CN104636172A (zh) 一种应用升级方法和装置
CN112947981A (zh) 应用程序资源更新方法、装置、终端设备及服务器
CA3155732A1 (en) Business process configuring method, business request processing method, and devices
CN105740017A (zh) 云电视系统的升级方法及装置
CN105095767A (zh) 基于文件数据块校验的安全启动系统与方法
US8874927B2 (en) Application execution system and method of terminal
CN110960855A (zh) 一种通信协议代码更新方法、装置、电子设备及存储介质
AU2021204593A1 (en) Methods and apparatuses for installing device application
CN105677409A (zh) 一种系统升级方法及装置
CN105677394A (zh) 一种终端设备的应用程序升级方法和装置
CN112671751A (zh) 一种基于微服务架构的鉴权方法、装置、设备和介质
CN105893076A (zh) 一种空中升级方法与装置
CN106569841B (zh) 一种文件加载方法和装置
CN112650521A (zh) 软件开发工具包sdk热修复方法、装置与电子设备

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
CP01 Change in the name or title of a patent holder

Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11

Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd.

Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11

Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder