CN105808272B - 数据升级方法及装置 - Google Patents
数据升级方法及装置 Download PDFInfo
- Publication number
- CN105808272B CN105808272B CN201410843165.5A CN201410843165A CN105808272B CN 105808272 B CN105808272 B CN 105808272B CN 201410843165 A CN201410843165 A CN 201410843165A CN 105808272 B CN105808272 B CN 105808272B
- Authority
- CN
- China
- Prior art keywords
- data
- upgrading
- difference
- upgraded
- terminal
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000010354 integration Effects 0.000 claims description 22
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000005192 partition Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 16
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000012856 packing Methods 0.000 description 8
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据升级方法,包括步骤:第一终端获取升级配置文件;读取携带差分标识的子配置文件各分区的数据内容作为第一数据内容;第一终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;第一终端读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端。本发明还公开了一种数据升级方法及装置。本发明使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及数据升级方法及装置。
背景技术
随着智能终端的快速发展,为了不断完善智能终端的功能和应用,需要对智能终端的***和应用的进行升级操作。随着智能终端***越来越庞大,智能终端的升级操作也变得越来越复杂。在智能终端的升级方式中,OTA升级(update Over the air,更新)是最常见和易于控制的升级方式,通过网络将升级包传送到终端,再进行升级的过程。由于网络环境等原因,在下载升级过程中,升级包的大小往往成为了影响升级效果和成败的关键因素。在OTA升级中存在不同的升级方法和策略,不同的升级方法和策略各有利弊,例如,分区整包升级对于升级来说最简单,不易出错,但缺点也很明显,就是升级包太大,用户会面临长时间等待和网络中断导致升级出错等困扰。而差分升级大大减小了升级包的大小,但并不是所有的待升级的分区都适合做差分升级,使用起来有一定局限性。因此,现有的智能终端的升级方式中升级方式单一,无法有效对智能终端完成升级操作,导致升级操作的效率偏低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据升级方法及装置,旨在解决现有的智能终端的升级方式中升级方式单一,无法有效对智能终端完成升级操作,导致升级操作的效率偏低的问题。
为实现上述目的,本发明提供的一种数据升级方法,包括步骤:
第一终端获取升级配置文件;
所述第一终端在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
所述第一终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第一终端在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作。
优选地,所述根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端的步骤之后,还包括:
所述第一终端在接收到待升级数据后,判断待升级数据中是否存在差分标识;
所述第一终端在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;
所述第一终端在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
优选地,所述第一终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中的步骤之后,还包括:
所述第一终端在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据所述差分升级包生成差分升级数据作为待升级数据。
优选地,所述升级数据生成方法还包括:
所述第一终端在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
此外,为实现上述目的,本发明还进一步提供一种数据升级方法,包括步骤:
第二终端在接收到第一终端发送来的待升级数据后,判断待升级数据中是否存在差分标识;
所述第二终端在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;
所述第二终端在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
优选地,所述判断待升级数据中是否存在差分标识的步骤之前,还包括:
所述第二终端获取升级配置文件;
所述第二终端在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
所述第二终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第二终端在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第二终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据;
所述第二终端将所述待升级数据发送至各个第一终端。
此外,为实现上述目的,本发明还进一步提供一种数据升级装置,包括:
第一获取模块,用于获取升级配置文件;
第一读取模块,用于在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
第一生成模块,用于在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第一读取模块,还用于在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第一生成模块,还用于在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据;
第一接发模块,用于将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作。
优选地,所述升级数据生成装置还包括:
第一判断模块,用于在接收到所述待升级数据后,判断待升级数据中是否存在差分标识;
第一升级模块,用于在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;还用于在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
优选地,所述第一生成模块,还用于在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据所述差分升级包生成差分升级数据作为待升级数据。
优选地,所述第一生成模块,还用于在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
此外,为实现上述目的,本发明还进一步提供一种数据升级装置,包括:
第二判断模块,用于在接收到第一终端发送来的待升级数据后,判断待升级数据中是否存在差分标识;
第二升级模块,用于在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;还用于在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
优选地,所述数据升级装置还包括:
第二获取模块,用于获取升级配置文件;
第二读取模块,用于在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
第二生成模块,用于在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第二读取模块,还用于在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第二生成模块,还用于在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据;
第二接发模块,用于将所述待升级数据发送至各个第一终端。
本发明通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
附图说明
图1为本发明数据升级方法的第一实施例的流程示意图;
图2为本发明数据升级方法的第二实施例的流程示意图;
图3为本发明数据升级方法的第三实施例的流程示意图;
图4为本发明数据升级方法的第四实施例的流程示意图;
图5为本发明数据升级装置的第一实施例的功能模块示意图;
图6为本发明数据升级装置的第二实施例的功能模块示意图;
图7为本发明数据升级装置的第三实施例的功能模块示意图;
图8为本发明数据升级装置的第四实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:第一终端获取升级配置文件;所述第一终端在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;所述第一终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;所述第一终端在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作。通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
由于现有的智能终端的升级方式中升级方式单一,无法有效对智能终端完成升级操作,导致升级操作的效率偏低。
基于上述问题,本发明提供一种数据升级方法。本发明实施例优先为在linux环境下使用,但不仅仅局限于linux***。
参照图1,图1为本发明数据升级方法的第一实施例的流程示意图。
在一实施例中,所述数据升级方法包括:
步骤S10,第一终端获取升级配置文件;
所述第一终端启动打包脚本,读取打包配置文件即为升级配置文件,所述升级配置文件内容如下:
所述升级配置文件包括多个子配置文件,例如,包括整包升级配置文件和差分升级配置文件;或者所述升级配置文件也可以是只包括一个子配置文件,例如,只包括整包升级配置文件或差分升级配置文件,所述第一终端判断所述打包路径中,即判断所述升级配置文件中是否携带差分标识。所述差分标识在制作升级配置文件时生成,例如,可以是fota.tgz,通过fota.tgz来判断是否携带差分标识,若在存在fota.tgz时,判断携带差分标识,若不存在fota.tgz时,判断未携带差分标识。
所述第一终端优选智能终端,也还可以是其他需要升级***的终端。
步骤S20,所述第一终端在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
所述第一终端在所述升级配置文件中携带差分标识时,读取所述携带差分标识的各分区的数据内容作为第一数据内容,即这部分内容为差分升级的数据内容作为第一数据内容,并判断所述第一数据内容是否为空。例如,读取升级配置文件中各分区压缩的内容,判断压缩的内容是否为空。
步骤S30,所述第一终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第一终端在所述第一数据内容为空时,将所述第一数据为空的分区打包至差分升级包中;在所述第一数据内容不为空时,不将所述不为空的分区打包至差分升级包中。所述第一终端在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
步骤S40,所述第一终端在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第一终端还判断所述升级配置文件中是否存在未携带差分标识的子配置文件,在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容,判断所述未携带差分标识的子配置文件是否为空;在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据打包的差分升级包生成差分升级数据作为待升级数据。
步骤S50,所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作。
所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作;在所述第二数据内容为空时,跳过此分区,不将所述第二数据内容为空的分区打包至整包升级包中。
具体的,参考下表1至表3,待升级数据的格式和分区升级包的格式如下:
表1 (待升级数据格式)
全包分区头 |
分区1头 |
分区1内容 |
分区2头 |
分区2内容 |
…… |
分区N头 |
分区N内容 |
表2 (全包分区头结构)
Sign |
分区长度 |
MD5校验值 |
升级分区表标记 |
在表2中,Sign:4个字节的签名校验标记验证升级包的合法性
分区长度:整个升级包的长度,包括包头的长度;
MD5校验值:升级包内容的MD5值,不包括全包包头;
更新分区表标记:4个字节的表示记录本次升级包是否需要更新分区。
表3 (分区包包头结构)
Sign |
分区长度 |
MD5校验值 |
分区名称 |
分区路径 |
压缩方式 |
分区偏移 |
在表3中,Sign:4个字节的签名校验标记来验证本分区包的合法性;分区长度:分区升级包的长度;
MD5校验值:分区升级包内容的MD5值,不包括全分区包包头;
分区名称:分区升级包名称;
分区路径:本分区升级包对应的分区路径;
压缩方式:本分区升级包的压缩方式,包括有几种压缩方式:non、gzip、bzip2、zip;
分区偏移:如果本分区中包含多个升级卷,需要制定分区偏移的字节数。
如果待升级数据中存在压缩方式为zip压缩方式的待升级数据,则压缩格式为zip压缩格式的分区为差分升级包。
Sign签名校验机制,数字签名采用先进的非对称密钥加密技术,有效确保升级数据的安全性和合法性。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
参照图2,图2为本发明数据升级方法的第二实施例的流程示意图。基于上述数据升级方法的第一实施例,所述步骤S50之后,还包括:
步骤S60,所述第一终端在接收到待升级数据后,判断待升级数据中是否存在差分标识;
步骤S70,所述第一终端在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;
步骤S80,所述第一终端在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
所述第一终端根据接收的待升级数据完成升级操作的过程与上述第一实施例中的待升级数据的生成过程为反过程。所述第一终端在接收到待升级数据时,判断所述待升级数据是否为完整升级数据和有效升级数据,可以通过待升级数据的长度来判断,例如,在待升级数据的长度与预设长度匹配时,判断为完整和有效的升级数据;在所述待升级数据与预设长度不匹配时,判断为不完整和无效的升级数据。也还可以是判断所述待升级数据是否携带预设标识,在未携带预设标识时,判断为不完整和无效的升级数据;若携带预设标识时,判断为完整和有效的升级数据。在本发明其他实施例中也还可以是采用其他方式来判断待升级数据是否为完整和有效数据。
所述第一终端在所述待升级数据为完整和有效的数据后,判断所述待升级数据是否携带差分标识,若存在,则整合各差分升级数据,确定整合差分升级数据正确后,更新各个分区。例如,更新rootfs分区:ddif=/data/upgrade/rootfs.div of=/dev/mmcblk0p11dd是linux的标准命令,其功能为:把指定文件拷贝到指定的输出文件中。语法为:
dd[选项]
if=输入文件(或设备名称)
of=输出文件(或设备名称)
通过上述方式完成第一终端的差分升级操作。
在所述待升级数据中存在整包升级数据,则启动整包升级流程,确认各分区升级数据完整、正确、有效后,更新各分区,完成整包升级操作。
所述第一终端在所述升级数据中只包括差分升级数据时,完成差分升级操作;在只包括整包升级数据时,完成整包升级操作。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
参照图3,图3为本发明数据升级方法的第三实施例的流程示意图。
在一实施例中,所述数据升级方法包括:
步骤S100,第二终端在接收到第一终端发送来的待升级数据后,判断待升级数据中是否存在差分标识;
步骤S200,所述第二终端在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;
步骤S300,所述第二终端在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
所述第二终端根据接收的待升级数据完成升级操作的过程与上述第一实施例中的待升级数据的生成过程为反过程。所述第二终端在接收到待升级数据时,判断所述待升级数据是否为完整升级数据和有效升级数据,可以通过待升级数据的长度来判断,例如,在待升级数据的长度与预设长度匹配时,判断为完整和有效的升级数据;在所述待升级数据与预设长度不匹配时,判断为不完整和无效的升级数据。也还可以是判断所述待升级数据是否携带预设标识,在未携带预设标识时,判断为不完整和无效的升级数据;若携带预设标识时,判断为完整和有效的升级数据。在本发明其他实施例中也还可以是采用其他方式来判断待升级数据是否为完整和有效数据。
所述第二终端在所述待升级数据为完整和有效的数据后,判断所述待升级数据是否携带差分标识,若存在,则整合各差分升级数据,确定整合差分升级数据正确后,更新各个分区。例如,更新rootfs分区:ddif=/data/upgrade/rootfs.div of=/dev/mmcblk0p11dd是linux的标准命令,其功能为:把指定文件拷贝到指定的输出文件中。语法为:
dd[选项]
if=输入文件(或设备名称)
of=输出文件(或设备名称)
通过上述方式完成第二终端的差分升级操作。
在所述待升级数据中存在整包升级数据,则启动整包升级流程,确认各分区升级数据完整、正确、有效后,更新各分区,完成整包升级操作。
所述第二终端在所述升级数据中只包括差分升级数据时,完成差分升级操作;在只包括整包升级数据时,完成整包升级操作。所述第二终端优选智能终端,也还可以是其他需要升级***的终端。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
参照图4,图4为本发明数据升级方法的第四实施例的流程示意图。
在一实施例中,所述步骤S100之前,还包括:
步骤S400,所述第二终端获取升级配置文件;
所述第二终端启动打包脚本,读取打包配置文件即为升级配置文件,所述升级配置文件内容如下:
所述升级配置文件包括多个子配置文件,例如,包括整包升级配置文件和差分升级配置文件;或者所述升级配置文件也可以是只包括一个子配置文件,例如,只包括整包升级配置文件或差分升级配置文件,所述第二终端判断所述打包路径中,即判断所述升级配置文件中是否携带差分标识。所述差分标识在制作升级配置文件时生成,例如,可以是fota.tgz,通过fota.tgz来判断是否携带差分标识,若在存在fota.tgz时,判断携带差分标识,若不存在fota.tgz时,判断未携带差分标识。
步骤S500,所述第二终端在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
所述第二终端在所述升级配置文件中携带差分标识时,读取所述携带差分标识的各分区的数据内容作为第一数据内容,即这部分内容为差分升级的数据内容作为第一数据内容,并判断所述第一数据内容是否为空。例如,读取升级配置文件中各分区压缩的内容,判断压缩的内容是否为空。
步骤S600,所述第二终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第二终端在所述第一数据内容为空时,将所述第一数据为空的分区打包至差分升级包中;在所述第一数据内容不为空时,不将所述不为空的分区打包至差分升级包中。所述第二终端在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
步骤S700,所述第二终端在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第二终端还判断所述升级配置文件中是否存在未携带差分标识的子配置文件,在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容,判断所述未携带差分标识的子配置文件是否为空;在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据打包的差分升级包生成差分升级数据作为待升级数据。
步骤S800,所述第二终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个第第一终端。
所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作;在所述第二数据内容为空时,跳过此分区,不将所述第二数据内容为空的分区打包至整包升级包中。
具体的,参考表1至表3,为待升级数据的格式和分区升级包的格式。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
对应的,本发明进一步提供一种数据升级装置。
参照图5,图5为本发明数据升级装置的第一实施例的功能模块示意图。
在一实施例中,所述数据升级装置包括:第一获取模块10、第一读取模块20、第一生成模块30及第一接发模块40。
所述第一获取模块10,用于获取升级配置文件;
所述第一终端启动打包脚本,读取打包配置文件即为升级配置文件,所述升级配置文件内容如下:
所述升级配置文件包括多个子配置文件,例如,包括整包升级配置文件和差分升级配置文件;或者所述升级配置文件也可以是只包括一个子配置文件,例如,只包括整包升级配置文件或差分升级配置文件,所述第一终端判断所述打包路径中,即判断所述升级配置文件中是否携带差分标识。所述差分标识在制作升级配置文件时生成,例如,可以是fota.tgz,通过fota.tgz来判断是否携带差分标识,若在存在fota.tgz时,判断携带差分标识,若不存在fota.tgz时,判断未携带差分标识。
所述第一读取模块20,用于在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
所述第一终端在所述升级配置文件中携带差分标识时,读取所述携带差分标识的各分区的数据内容作为第一数据内容,即这部分内容为差分升级的数据内容作为第一数据内容,并判断所述第一数据内容是否为空。例如,读取升级配置文件中各分区压缩的内容,判断压缩的内容是否为空。
所述第一生成模块30,用于在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第一终端在所述第一数据内容为空时,将所述第一数据为空的分区打包至差分升级包中;在所述第一数据内容不为空时,不将所述不为空的分区打包至差分升级包中。所述第一终端在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
所述第一读取模块20,还用于在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第一终端还判断所述升级配置文件中是否存在未携带差分标识的子配置文件,在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容,判断所述未携带差分标识的子配置文件是否为空;在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据打包的差分升级包生成差分升级数据作为待升级数据。
所述第一生成模块30,还用于在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据;
第一接发模块40,用于将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作。
所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作;在所述第二数据内容为空时,跳过此分区,不将所述第二数据内容为空的分区打包至整包升级包中。
具体的,参考表1至表3,为待升级数据的格式和分区升级包的格式。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
参考图6,图6为本发明升级数据装置的第二实施例的功能模块示意图。所述数据升级装置还包括:第一判断模块50和第一升级模块60,
所述第一判断模块50,用于在接收到所述待升级数据后,判断待升级数据中是否存在差分标识;
所述第一升级模块60,用于在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;还用于在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
所述第一终端根据接收的待升级数据完成升级操作的过程与上述第一实施例中的待升级数据的生成过程为反过程。所述第一终端在接收到待升级数据时,判断所述待升级数据是否为完整升级数据和有效升级数据,可以通过待升级数据的长度来判断,例如,在待升级数据的长度与预设长度匹配时,判断为完整和有效的升级数据;在所述待升级数据与预设长度不匹配时,判断为不完整和无效的升级数据。也还可以是判断所述待升级数据是否携带预设标识,在未携带预设标识时,判断为不完整和无效的升级数据;若携带预设标识时,判断为完整和有效的升级数据。在本发明其他实施例中也还可以是采用其他方式来判断待升级数据是否为完整和有效数据。
所述第一终端在所述待升级数据为完整和有效的数据后,判断所述待升级数据是否携带差分标识,若存在,则整合各差分升级数据,确定整合差分升级数据正确后,更新各个分区。例如,更新rootfs分区:ddif=/data/upgrade/rootfs.div of=/dev/mmcblk0p11dd是linux的标准命令,其功能为:把指定文件拷贝到指定的输出文件中。语法为:
dd[选项]
if=输入文件(或设备名称)
of=输出文件(或设备名称)
通过上述方式完成第一终端的差分升级操作。
在所述待升级数据中存在整包升级数据,则启动整包升级流程,确认各分区升级数据完整、正确、有效后,更新各分区,完成整包升级操作。
所述第一终端在所述升级数据中只包括差分升级数据时,完成差分升级操作;在只包括整包升级数据时,完成整包升级操作。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
参照图7,图7为本发明数据升级装置的第三实施例的功能模块示意图。所述数据升级装置还包括第二判断模块100和第二升级模块200。
所述第二判断模块100,用于在接收到第一终端发送来的待升级数据后,判断待升级数据中是否存在差分标识;
所述第二升级模块200,用于在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;还用于在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
所述第二终端根据接收的待升级数据完成升级操作的过程与上述第一实施例中的待升级数据的生成过程为反过程。所述第二终端在接收到待升级数据时,判断所述待升级数据是否为完整升级数据和有效升级数据,可以通过待升级数据的长度来判断,例如,在待升级数据的长度与预设长度匹配时,判断为完整和有效的升级数据;在所述待升级数据与预设长度不匹配时,判断为不完整和无效的升级数据。也还可以是判断所述待升级数据是否携带预设标识,在未携带预设标识时,判断为不完整和无效的升级数据;若携带预设标识时,判断为完整和有效的升级数据。在本发明其他实施例中也还可以是采用其他方式来判断待升级数据是否为完整和有效数据。
所述第二终端在所述待升级数据为完整和有效的数据后,判断所述待升级数据是否携带差分标识,若存在,则整合各差分升级数据,确定整合差分升级数据正确后,更新各个分区。例如,更新rootfs分区:ddif=/data/upgrade/rootfs.div of=/dev/mmcblk0p11dd是linux的标准命令,其功能为:把指定文件拷贝到指定的输出文件中。语法为:
dd[选项]
if=输入文件(或设备名称)
of=输出文件(或设备名称)
通过上述方式完成第二终端的差分升级操作。
在所述待升级数据中存在整包升级数据,则启动整包升级流程,确认各分区升级数据完整、正确、有效后,更新各分区,完成整包升级操作。
所述第二终端在所述升级数据中只包括差分升级数据时,完成差分升级操作;在只包括整包升级数据时,完成整包升级操作。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
参考图8,图8为本发明升级数据装置的第三实施例的功能模块示意图。所述数据升级装置还包括:第二获取模块300、第二读取模块400、第二生成模块500和第二接发模块600。
所述第二获取模块300,用于获取升级配置文件;
所述第二终端启动打包脚本,读取打包配置文件即为升级配置文件,所述升级配置文件内容如下:
所述升级配置文件包括多个子配置文件,例如,包括整包升级配置文件和差分升级配置文件;或者所述升级配置文件也可以是只包括一个子配置文件,例如,只包括整包升级配置文件或差分升级配置文件,所述第二终端判断所述打包路径中,即判断所述升级配置文件中是否携带差分标识。所述差分标识在制作升级配置文件时生成,例如,可以是fota.tgz,通过fota.tgz来判断是否携带差分标识,若在存在fota.tgz时,判断携带差分标识,若不存在fota.tgz时,判断未携带差分标识。
所述第二读取模块400,用于在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
所述第二终端在所述升级配置文件中携带差分标识时,读取所述携带差分标识的各分区的数据内容作为第一数据内容,即这部分内容为差分升级的数据内容作为第一数据内容,并判断所述第一数据内容是否为空。例如,读取升级配置文件中各分区压缩的内容,判断压缩的内容是否为空。
所述第二生成模块500,用于在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第二终端在所述第一数据内容为空时,将所述第一数据为空的分区打包至差分升级包中;在所述第一数据内容不为空时,不将所述不为空的分区打包至差分升级包中。所述第二终端在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
所述第二读取模块400,还用于在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第二终端还判断所述升级配置文件中是否存在未携带差分标识的子配置文件,在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容,判断所述未携带差分标识的子配置文件是否为空;在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据打包的差分升级包生成差分升级数据作为待升级数据。
所述第二生成模块500,还用于在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据;
所述第二接发模块600,用于将所述待升级数据发送至各个第一终端。
所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作;在所述第二数据内容为空时,跳过此分区,不将所述第二数据内容为空的分区打包至整包升级包中。
具体的,参考表1至表3,为待升级数据的格式和分区升级包的格式。
本实施例通过将整包分区升级和差分升级自动结合起来,使得升级方式不再单一,有效地对智能终端完成升级操作,提高了升级操作的效率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种数据升级方法,其特征在于,包括步骤:
第一终端获取升级配置文件;
所述第一终端在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
所述第一终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第一终端在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第一终端在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作。
2.如权利要求1所述的数据升级方法,其特征在于,所述根据所述差分升级包和所述整包升级包生成待升级数据,并将所述待升级数据发送至各个待升级终端的步骤之后,还包括:
所述第一终端在接收到待升级数据后,判断待升级数据中是否存在差分标识;
所述第一终端在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;
所述第一终端在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
3.如权利要求1或2所述的数据升级方法,其特征在于,所述第一终端在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中的步骤之后,还包括:
所述第一终端在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据所述差分升级包生成差分升级数据作为待升级数据。
4.如权利要求1或2所述的数据升级方法,其特征在于,所述升级数据生成方法还包括:
所述第一终端在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
5.一种数据升级装置,其特征在于,包括:
第一获取模块,用于获取升级配置文件;
第一读取模块,用于在所述升级配置文件中存在携带差分标识的子配置文件时,读取所述携带差分标识的子配置文件各分区的数据内容作为第一数据内容;
第一生成模块,用于在所述第一数据内容为空时,将所述第一数据内容为空的分区打包至差分升级包中;
所述第一读取模块,还用于在所述升级配置文件中存在未携带差分标识的子配置文件时,读取所述未携带差分标识的子配置文件各分区的数据内容作为第二数据内容;
所述第一生成模块,还用于在所述第二数据内容不为空时,将所述第二数据内容不为空的分区打包至整包升级包中,根据所述差分升级包和所述整包升级包生成待升级数据;
第一接发模块,用于将所述待升级数据发送至各个待升级终端,以供各个待升级终端根据所述待升级数据完成升级操作。
6.如权利要求5所述的数据升级装置,其特征在于,所述升级数据生成装置还包括:
第一判断模块,用于在接收到所述待升级数据后,判断待升级数据中是否存在差分标识;
第一升级模块,用于在所述待升级数据中存在携带差分标识的升级数据时,整合各个差分升级数据,在所述整合后的差分数据为有效数据时,根据所述整合后的差分升级数据更新各个分区以完成差分升级操作;还用于在所述待升级数据中存在未携带差分标识的升级数据时,在所述未携带差分标识的升级数据为有效数据时,根据所述未携带差分标识的升级数据更新各个分区以完成整包升级操作。
7.如权利要求5或6所述的数据升级装置,其特征在于,所述第一生成模块,还用于在所述升级配置文件中不存在未携带差分标识的子配置文件时,根据所述差分升级包生成差分升级数据作为待升级数据。
8.如权利要求5或6所述的数据升级装置,其特征在于,所述第一生成模块,还用于在所述配置文件中不存在携带差分标识的子配置文件时,根据所述整包升级包生成整包升级数据作为待升级数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410843165.5A CN105808272B (zh) | 2014-12-30 | 2014-12-30 | 数据升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410843165.5A CN105808272B (zh) | 2014-12-30 | 2014-12-30 | 数据升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808272A CN105808272A (zh) | 2016-07-27 |
CN105808272B true CN105808272B (zh) | 2019-05-31 |
Family
ID=56419868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410843165.5A Active CN105808272B (zh) | 2014-12-30 | 2014-12-30 | 数据升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808272B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073994A (zh) * | 2020-09-03 | 2020-12-11 | 百度在线网络技术(北京)有限公司 | 用于空中升级的方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065118A (zh) * | 2010-09-16 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种网络设备升级方法及装置 |
CN103513998A (zh) * | 2012-06-25 | 2014-01-15 | 中兴通讯股份有限公司 | 升级包生成方法和装置、动态文件差分升级的方法和终端 |
CN104184814A (zh) * | 2014-08-25 | 2014-12-03 | 中山市永衡日用制品有限公司 | 嵌入式固件差分升级的文件生成和合成的方法和*** |
CN104216719A (zh) * | 2013-05-30 | 2014-12-17 | 深圳创维无线技术有限公司 | 一种android***的升级方法和装置 |
-
2014
- 2014-12-30 CN CN201410843165.5A patent/CN105808272B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065118A (zh) * | 2010-09-16 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种网络设备升级方法及装置 |
CN103513998A (zh) * | 2012-06-25 | 2014-01-15 | 中兴通讯股份有限公司 | 升级包生成方法和装置、动态文件差分升级的方法和终端 |
CN104216719A (zh) * | 2013-05-30 | 2014-12-17 | 深圳创维无线技术有限公司 | 一种android***的升级方法和装置 |
CN104184814A (zh) * | 2014-08-25 | 2014-12-03 | 中山市永衡日用制品有限公司 | 嵌入式固件差分升级的文件生成和合成的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN105808272A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11974204B2 (en) | Method for sharing application between terminals, and terminal | |
CN104052818B (zh) | 一种移动终端的版本升级方法及装置 | |
CN105786549B (zh) | 智能设备及其升级方法 | |
CN103942058B (zh) | 一种嵌入式电子设备软件升级方法及*** | |
EP1897386B1 (en) | Apparatus and methods for managing firmware verification on a wireless device | |
CN102946600B (zh) | 一种移动终端参数固件升级方法及*** | |
WO2014180425A1 (zh) | 文件***升级包制作方法、升级方法及装置、终端 | |
US20070061800A1 (en) | System and method for updating software in a network device | |
EP2866142A1 (en) | Upgrade package generation method and device, dynamic file differential upgrade method and terminal | |
CN106775723A (zh) | 基于Android平台的***固件定制的方法和Android设备 | |
CN104699511B (zh) | 插件升级方法及装置 | |
CN104866307B (zh) | 一种应用程序的修复方法和装置 | |
AU2011205480A1 (en) | Operating system auto-update procedure | |
US11977637B2 (en) | Technique for authentication and prerequisite checks for software updates | |
WO2017161947A1 (zh) | 多***ota升级方法和多***设备 | |
CN106484453A (zh) | 一种实现***升级的方法及装置 | |
CN106648766A (zh) | 基于文件夹的补丁升级包生成及差分升级方法和装置 | |
CN107809324A (zh) | 一种车载自动诊断***设备及其升级方法 | |
WO2022095199A1 (zh) | 一种嵌入式设备的差分升级方法及相关组件 | |
WO2017071337A1 (zh) | 管理数据库表数据的方法、装置及*** | |
CN105573785A (zh) | 一种差分包的制作方法及装置 | |
CN106020882A (zh) | 一种应用升级方法、智能终端及升级*** | |
CN106250548A (zh) | 一种代码更新方法 | |
CN105808272B (zh) | 数据升级方法及装置 | |
CN109255232A (zh) | 一种软件加载方法以及软件加载装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |