CN112181471A - 差分升级方法及装置、存储介质、计算机设备 - Google Patents

差分升级方法及装置、存储介质、计算机设备 Download PDF

Info

Publication number
CN112181471A
CN112181471A CN202011111869.5A CN202011111869A CN112181471A CN 112181471 A CN112181471 A CN 112181471A CN 202011111869 A CN202011111869 A CN 202011111869A CN 112181471 A CN112181471 A CN 112181471A
Authority
CN
China
Prior art keywords
version file
compressed
target
file
original
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.)
Pending
Application number
CN202011111869.5A
Other languages
English (en)
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.)
Beijing Ziguang Zhanrui Communication Technology Co Ltd
Unisoc Shanghai Technologies Co Ltd
Original Assignee
Beijing Ziguang Zhanrui Communication 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 Beijing Ziguang Zhanrui Communication Technology Co Ltd filed Critical Beijing Ziguang Zhanrui Communication Technology Co Ltd
Priority to CN202011111869.5A priority Critical patent/CN112181471A/zh
Publication of CN112181471A publication Critical patent/CN112181471A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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)
  • Stored Programmes (AREA)

Abstract

一种差分升级方法及装置、存储介质、计算机设备,该方法包括:步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;步骤B,识别所述原版本文件是否被压缩;步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;步骤E,识别所述目标版本文件是否需要被压缩;步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。由此,能够有效减小差分包的数据量。

Description

差分升级方法及装置、存储介质、计算机设备
技术领域
本发明涉及终端升级技术领域,尤其涉及一种差分升级方法及装置、存储介质、计算机设备。
背景技术
对于当前众多智能终端,空间下载技术(Over-the-Air Technology,简称OTA)升级是很重要的功能,通过OTA升级,终端通过网络下载新的系统程序并完成升级,能让终端产品迭代更新系统软件版本,在产品推出后能不断提升产品功能和性能,极大的提高产品的体验。OTA升级可包括整包升级和差分升级两种升级方式。其中,整包升级是以完整的目标版本为升级包进行升级,升级包较大,下载时间漫长,给用户体验很不好。差分升级则是以原版本文件和目标版本间的增量包制作升级包进行升级,其升级包一般远小于整包升级方式的升级包,实际使用中用户终端的升级一般采用差分升级。
智能终端或物联网(The Internet of Things,简称IOT)设备,基于可用存储空间的考虑,在升级时多数情况下会使用差分升级方式。有时基于系统需要,比如小存储的限制或者快速读取分区数据的要求,会将设备中某些分区比如内核(kernel)、基带(modem)等分区的部分或全部数据压缩后再写入相应分区中。如果是常规的OTA差分升级方案,基于压缩的数据做差分得到的差分包数据量较大,不能满足差分包尽量小的要求。此时,低端的智能终端或IOT设备的可用存储空间可能保存不了差分包,从而不能用差分包进行升级。
由此,亟需一种差分升级方法,在对终端进行操作系统的分区的差分升级时,若该操作系统的分区存在压缩数据,也能够有效减小差分包的数据量。
发明内容
本发明解决的技术问题是如何在对终端进行操作系统的分区的差分升级时,若该操作系统的分区存在压缩数据,也能够有效减小差分包的数据量。
为解决上述技术问题,本发明实施例提供一种差分升级方法,所述方法包括:步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;步骤B,识别所述原版本文件是否被压缩;步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;步骤E,识别所述目标版本文件是否需要被压缩;步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。
可选的,所述步骤B包括:当获取到所述第一标记时,所述原版本文件被压缩,所述第一标记用于表示所述原版本文件被压缩;所述步骤E包括:当获取到所述第二标记时,所述目标版本文件被压缩,所述第二标记用于表示所述目标版本文件需要被压缩。
可选的,所述差分包包含所述第一标记和/或所述第二标记。
可选的,所述步骤B之后还包括:若所述原版本文件未被压缩,则跳转至所述步骤D。
可选的,所述步骤E之后,还包括:若所述目标版本文件不需要被压缩,则将所述目标版本文件的源数据更新至所述目标分区。
本发明实施例还提供一种差分升级方法,所述方法包括:步骤A1,识别要进行分区升级的原版本文件是否被压缩;步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;步骤C1,识别分区升级后的目标版本文件是否被压缩;步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。
可选的,所述步骤A1之后还包括:生成第一标记,所述第一标记用于表示所述原版本文件被压缩;或者,所述步骤C1之后还包括:生成第二标记,所述第二标记用于表示所述目标版本文件需要被压缩。
可选的,所述步骤E1之后还包括:将所述第一标记和/或所述第二标记添加到所述差分包中。
可选的,所述步骤A1之后还包括:若所述原版本文件未被压缩,则跳转至步骤C1。
可选的,所述步骤C1之后还包括:若所述目标版本文件未被压缩,则跳转至步骤E1。
本发明实施例还提供一种差分升级装置,所述装置包括:差分包获取模块,用于执行步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;第一原版本压缩识别模块,用于执行步骤B,识别所述原版本文件是否被压缩;第一原版本解压模块,用于执行步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;目标版本源数据生成模块,用于执行步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;第一目标版本压缩识别模块,用于执行步骤E,识别所述目标版本文件是否需要被压缩;目标版本压缩模块,用于执行步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。
本发明实施例还提供一种差分升级装置,所述装置包括:第二原版本压缩识别模块,用于执行步骤A1,识别要进行分区升级的原版本文件是否被压缩;第二原版本解压模块,用于执行步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;第二目标版本压缩识别模块,用于执行步骤C1,识别分区升级后的目标版本文件是否被压缩;目标版本解压模块,用于执行步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;差分包生成模块,用于执行步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。
本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例提供一种差分升级方法,所述方法包括:步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;步骤B,识别所述原版本文件是否被压缩;步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;步骤E,识别所述目标版本文件是否需要被压缩;步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。较之现有技术,本发明实施例的方案在差分包是基于原版本文件的源数据和目标版本的源数据生成的,差分包的数据量较小,保证终端能够正常存储差分包,以执行差分数据。终端将所有文件转化为源数据,执行差分算法,以完成差分升级的过程。
进一步,终端无需根据检查本地的原版本文件,能够直接根据第一标记和/或第二标记得到原版本文件是否被压缩以及目标版本文件是否需要被压缩的识别结果。且第一标记和/或第二标记可包含于差分包中,无需另行获取,能够有效减少差分升级的计算过程。
进一步,本发明实施例的方案在制作差分包和升级时对压缩的分区数据增加解压压缩的预处理和后处理,能够解决差分包数据量较大的问题,适用于智能终端或IOT设备的操作系统的分区进行版本更新。
附图说明
图1为本发明实施例的一种差分升级方法的流程示意图;
图2是本发明实施例的另一种差分升级方法的流程示意图;
图3是本发明实施例一种差分升级装置的结构示意图;
图4是本发明实施例的另一种差分升级装置的结构示意图。
具体实施方式
如背景技术中所述,现有技术中对终端的操作系统的分区进行分区升级时,由于存在压缩数据,可能导致制作的差分包数据量较大,造成终端无法保存该差分包,影响分区升级。
为解决上述问题,本发明实施例提供一种差分升级方法,所述方法包括:步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;步骤B,识别所述原版本文件是否被压缩;步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;步骤E,识别所述目标版本文件是否需要被压缩;步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。
由此,能够在对终端进行操作系统的分区的差分升级时,若该操作系统的分区存在压缩数据,也能够有效减小差分包的数据量。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
请参见图1,图1为本发明实施例的一种差分升级方法的流程示意图,所述差分升级方法可由终端侧执行,该方法可以用于OTA升级过程,该终端侧可指电脑、手机、智能手表等等终端设备,所述方法包括:
步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;
其中,分区升级指的是对终端的操作系统的一个或多个分区进行升级,例如以安卓系统为例,安卓系统的分区可包括modem分区、kernel分区、recovery分区和system分区等。其中,modem分区用于实现手机必需的通信功能;kernel分区通常包含于boot分区内,即linux内核;recovery分区用于实现安卓定义的标准刷机协议;system分区则用于实现其他系统功能。本发明中将要进行差分升级的分区称为目标分区。
在执行对目标分区的升级之前,终端侧从本地操作系统的目标分区获取当前目标分区的分区镜像作为原版本文件。对该目标分区升级后的分区镜像记作目标版本文件。
差分包为对原版本文件进行差分升级时使用的升级包,终端对原版本文件进行升级之前,可先从服务器端下载差分包至本地,然后使用差分包对终端本地的原版本文件进行升级。差分包是基于原版本文件的源数据与目标版本文件的源数据之间进行差分得到的,其中源数据为未经压缩的数据。
步骤B,识别所述原版本文件是否被压缩;
其中,在对一操作系统的分区升级时,该操作系统的分区为目标分区,原版本为升级前的版本,目标版本为升级后的版本。原版本文件被压缩指的是终端本地存储的原版本文件中存在压缩数据,各个操作系统的分区的压缩形式不同,可能对整个分区的文件进行压缩,也可能仅对该分区中的部分文件进行压缩。例如,对于modem分区,通常是对整个modem文件压缩,如果有签名压缩后再签名;而对于kernel分区,通常只对其中的图像(image)部分进行压缩,设备树(Device Tree,简称DT)等部分不进行压缩。
终端可根据本地的原版本文件来识别其是否被压缩,也可以根据差分包中的指示识别原版本文件是否被压缩。或者通过其他指示,如服务器单独发送的指示信息,识别原版本文件是否被压缩。
当识别到要升级的操作系统的分区中存在压缩数据时,则表示该原版本文件被压缩;反之,则表示该原版本文件未被压缩。
步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;
若本地的原版本文件存在压缩数据,则需要将被压缩的数据进行解压,得到原版本文件的源数据。解压操作可基于被压缩的数据的压缩算法进行,可参照现有的压缩/解压算法,这里不做进一步解释。
可选的,在解压得到原版本文件的源数据后,先将原版本文件的源数据写入目标分区,以替换目标分区的原版本文件。
步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;
可选的,在生成目标版本文件的源数据后,将目标版本文件的源数据写入目标分区,以替换目标分区的原版本文件的源数据。也即,仅利用目标分区存储本实施例中差分升级产生的中间文件,无需占用其他区域(如备份区、缓存区等)的存储空间。
步骤E,识别所述目标版本文件是否需要被压缩;
步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。
差分包是基于原版本文件和目标版本文件的源数据生成的,终端在得到原版本文件的源数据后,可直接将基于原版本文件的源数据和差分包得到目标版本的源数据。如使用BSDiff差分算法时,以原版本文件的源数据和差分包打patch,可直接得到目标版本的源数据。
目标版本是否需要被压缩表示该目标版本在终端本地存储时,是否需要对目标版本源数据中的部分或全部数据进行压缩。通常目标版本文件中被压缩的部分与原版本文件对应、压缩格式也对应,也即,目标版本文件是否需要被压缩、终端对目标版本文件的源数据进行压缩时哪些数据要被压缩、以及使用的压缩算法都由原版本文件隐式指示。
终端可根据本地的原版本文件来识别目标版本文件是否需要被压缩,也可以根据差分包中的指示识别目标版本文件是否被压缩。或者通过其他指示,如服务器单独发送的指示信息,识别目标版本文件是否被压缩。
图1提供的差分升级方法中,差分包是基于原版本文件的源数据和目标版本的源数据生成的,差分包的数据量较小,保证终端能够正常存储差分包,以执行差分数据。终端将所有文件转化为源数据,执行差分算法,以完成差分升级的过程。
以常用的压缩方法bzip2及通用的差分算法BSDiff算法为例,基于两个大小一样内容有少许差别的linux kernel二进制版本(也即,基础版本和目标版本)的数据进行制作差分包为例,下述表1展示了基于源数据和压缩数据做差分包的比较情况:
表1
Figure BDA0002728857430000071
Figure BDA0002728857430000081
其中,BSDiff算法为一种差量更新算法,它在服务器端运行BSDiff算法产生补丁(patch)包,在客户端运行BSPatch算法,将原版本文件和patch包合成升级后的新文件。
从表1的数据可以看出,基于基础版本的源数据和目标版本的源数据做差分包时,差分包数据量为844字节;基于基础版本的压缩数据和目标版本的压缩数据做差分包时,差分包数据量3778993字节。由此,能够看出基于源数据做差分包的数据量很小,能够有效减少差分升级时的空间占用。
在一个实施例中,请继续参见图1,所述步骤D中基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据,包括:
在基于差分包和原版本文件的源数据进行差分升级时,将升级操作分为一次或多次,每次升级时生成的目标文件的源数据的数据大小不超过单次升级量,其中,所述单次升级量在首次升级前确定。
在差分升级开始前,终端可根据内存情况确定每次升级得到的目标文件的源数据的数据大小,即单次升级量。由此,可每次对原版本文件的源数据中的一部分进行升级,通过多次的差分升级完成对目标分区中原版本文件的升级。可选的,可根据单次升级量将原版本文件的源数据分成多个文件块,每次升级其中的一块或者多块。
可选的,在差分升级时的每次升级,可从原版本文件的源数据中获取一块或者多块文件块进行备份,将其存储至备份区或者缓存区,待一文件块升级后,再将升级后的文件块写入目标分区的对应位置。此时,在差分升级时,所使用的备份区或缓存区的存储空间很小,其存储空间的大小与单次升级量有关,也即可由终端根据其可用的备份区或缓存区的大小自行确定。
本实施例中,能够根据终端的系统资源动态配置每次升级的目标文件的大小,适用于低容量存储设备终端差分升级,以合理利用低容量存储的终端设备的当前系统资源以完成操作系统的分区的版本升级。并且,在对原版本文件进行升级的过程中,若由于掉电等原因出现升级中断,解除中断原因后,也即仅对原版本文件还未升级的部分继续进行升级,而无需重新对整个原版本文件进行升级,能够实现掉电保护。
在一个实施例中,请继续参见图1,所述方法还包括:所述步骤B包括:当获取到所述第一标记时,所述原版本文件被压缩,所述第一标记用于表示所述原版本文件被压缩;所述步骤E包括:当获取到所述第二标记时,所述目标版本文件被压缩,所述第二标记用于表示所述目标版本文件需要被压缩。
以第一标记和第二标记直接指示原版本文件是否被压缩和目标版本文件是否需要被压缩。终端在执行图1的步骤B和步骤E时无需根据检查本地的原版本文件,能够直接根据第一标记和/或第二标记得到步骤B和步骤E的识别结果。
可选的,当终端获取到第一标记时,表示原版本文件被压缩;当终端未获取到第一标记时,表示原版本文件未被压缩。对应地,当终端获取到第二标记时,表示目标版本文件需要被压缩;当终端未获取到第二标记时,表示目标版本文件不需要被压缩。
可选的,当终端获取到第一标记,且第一标记为第一标识(如第一标记为“1”)时,表示原版本文件被压缩;当终端获取到第一标记,且第一标记为第二标识(如第二标识为“0”)时,表示原版本文件未被压缩。对应地,当终端获取到第二标记,且第二标记为第一标识(如第一标识为“1”)时,表示目标版本文件需要被压缩;当终端获取到第二标记,且第二标记为第二标识(如第二标识为“1”)时,表示目标版本文件不需要被压缩。其中,第一标记和第二标记的表示形式包括但不限于示例的情况,任何能够表示原版本文件是否被压缩以及目标版本文件是否需要被压缩的方案都为本发明的保护内容。
可选的,所述差分包包含所述第一标记和/或所述第二标记。
第一标记和/或第二标记可包含于差分包中,进一步,差分包中可仅包含第一标记、以及仅包含第二标记、也可同时包含第一标记和第二标记。
可选的,在制作差分包时,可将第一标记和/或第二标记添加到差分包中,如添加到差分包的包头或者包尾的数据域中。终端在获取到差分包后,可从对应的数据域获取第一标记和/或第二标记。
本实施例中,终端无需根据检查本地的原版本文件,能够直接根据第一标记和/或第二标记得到原版本文件是否被压缩以及目标版本文件是否需要被压缩的识别结果。且第一标记和/或第二标记可包含于差分包中,无需另行获取,能够有效减少差分升级的计算过程。
在一个实施例中,请继续参见图1,所述步骤B之后还包括:若所述原版本文件未被压缩,则跳转至所述步骤D。
终端在识别到原版本文件未被压缩后,可省略解压缩的步骤,直接进入步骤D。
在一个实施例中,请继续参见图1,所述步骤E之后,还包括:若所述目标版本文件不需要被压缩,则将所述目标版本文件的源数据更新至所述目标分区。
终端在识别到目标版本文件不需要被压缩后,可省略对目标版本文件的源数据进行压缩的步骤,直接将目标版本文件的源数据写入目标分区,替换原版本文件,本次差分升级完成。
请参见图2,本发明实施例还提供一种差分升级方法,该方法为开发人员制作差分包的过程,所述方法包括:
步骤A1,识别要进行分区升级的原版本文件是否被压缩;
步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;
步骤C1,识别分区升级后的目标版本文件是否被压缩;
步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;
步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。
在制作差分包时,对原版本文件和目标版本文件的数据进行预处理,如果存在压缩数据则先解压,然后对基础和目标版本源数据进行差分,以根据源数据制作差分包。本实施例中,原版本文件以及目标版本文件是否被压缩可根据获取的原版本文件和目标版本文件的情况来确定,无需与终端侧对应。
可选的,所述步骤A1之后还包括:生成第一标记,所述第一标记用于表示所述原版本文件被压缩;或者,所述步骤C1之后还包括:生成第二标记,所述第二标记用于表示所述目标版本文件需要被压缩。
可选的,所述步骤E1之后还包括:将所述第一标记和/或所述第二标记添加到所述差分包中。
制作差分包的开发人员对执行差分升级的终端中的原版本文件是否被压缩、以及目标版本文件是否需要被压缩的理解相同。在制作差分包的过程中,可同时记录在终端侧升级时原版本文件是否被压缩和目标版本文件是否需要被压缩的标记,也即第一标记和第二标记。
可选的,所述步骤A1之后还包括:若所述原版本文件未被压缩,则跳转至步骤C1。
可选的,所述步骤C1之后还包括:若所述目标版本文件未被压缩,则跳转至步骤E1。
在一个具体应用场景中,在操作系统的分区差分升级的过程中,包括两个阶段:差分包制作阶段和升级阶段。差分包制作阶段可由开发人员制作,其制作过程可使用下述图2所述的差分升级方法,制作完成的差分包可在服务器端发布。升级阶段由各个进行差分升级的终端基于由服务器端获取的差分包在终端本地执行图1所述的差分升级方法。
关于图2所示差分升级方法的工作原理、工作方式的更多内容,可以参照图1所述差分升级方法的相关描述,这里不再赘述。
本发明实施例的方案在制作差分包和升级时对压缩的分区数据增加解压压缩的预处理和后处理,能够解决差分包数据量较大的问题,适用于智能终端或IOT设备的操作系统的分区进行版本更新。
请参见图3,图3为一种差分升级装置30的结构示意图,所述差分升级装置30包括:
差分包获取模块301,用于执行步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;
第一原版本压缩识别模块302,用于执行步骤B,识别所述原版本文件是否被压缩;
第一原版本解压模块303,用于执行步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;
目标版本源数据生成模块304,用于执行步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;
第一目标版本压缩识别模块305,用于执行步骤E,识别所述目标版本文件是否需要被压缩;
目标版本压缩模块306,用于执行步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。
在一个实施例中,在第一原版本压缩识别模块302中,当获取到所述第一标记时,所述原版本文件被压缩,所述第一标记用于表示所述原版本文件被压缩;
在第一目标版本压缩识别模块305中,当获取到所述第二标记时,所述目标版本文件被压缩,所述第二标记用于表示所述目标版本文件需要被压缩。
可选的,所述差分包包含所述第一标记和/或所述第二标记。
在一个实施例中,若第一原版本压缩识别模块302识别到原版本文件未被压缩,则跳转至所述步骤D。
在一个实施例中,若第一目标版本压缩识别模块305识别到所述目标版本文件不需要被压缩,所述差分升级装置30还包括:
直接更新模块,用于将所述目标版本文件的源数据更新至所述目标分区。
关于图3所示差分升级装置30的工作原理、工作方式的更多内容,可以参照图1所述差分升级方法的相关描述,这里不再赘述。
请参见图4,图4为一种差分升级装置40的结构示意图,所述差分升级装置40包括:
第二原版本压缩识别模块401,用于执行步骤A1,识别要进行分区升级的原版本文件是否被压缩;
第二原版本解压模块402,用于执行步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;
第二目标版本压缩识别模块403,用于执行步骤C1,识别分区升级后的目标版本文件是否被压缩;
目标版本解压模块404,用于执行步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;
差分包生成模块405,用于执行步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。
在一个实施例中,差分升级装置40还包括:
第一标记生成模块,用于生成第一标记,所述第一标记用于表示所述原版本文件被压缩;或者
第二标记生成模块,用于生成第二标记,所述第二标记用于表示所述目标版本文件需要被压缩。
在一个实施例中,差分升级装置40还包括:标记添加模块,用于将所述第一标记和/或所述第二标记添加到所述差分包中。
在一个实施例中,若第二原版本压缩识别模块401识别到所述原版本文件未被压缩时,则跳转至步骤C1。
在一个实施例中,若第二目标版本压缩识别模块403识别到所述目标版本文件未被压缩,则跳转至步骤E1。
关于图4所示差分升级装置40的工作原理、工作方式的更多内容,可以参照图2所述差分升级方法的相关描述,这里不再赘述。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行图1或图2所述方法的步骤。所述存储介质可以是计算机可读存储介质,例如可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specificintegrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行图1或图2所述方法的步骤。所述计算机设备包括但不限于手机、计算机、平板电脑、服务器或者服务器集群等设备。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
本申请实施例中出现的“连接”是指直接连接或者间接连接等各种连接方式,以实现设备间的通信,本申请实施例对此不做任何限定。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (14)

1.一种差分升级方法,其特征在于,所述方法包括:
步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;
步骤B,识别所述原版本文件是否被压缩;
步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;
步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;
步骤E,识别所述目标版本文件是否需要被压缩;
步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。
2.根据权利要求1所述的方法,其特征在于,所述步骤B包括:
当获取到所述第一标记时,所述原版本文件被压缩,所述第一标记用于表示所述原版本文件被压缩;
所述步骤E包括:
当获取到所述第二标记时,所述目标版本文件被压缩,所述第二标记用于表示所述目标版本文件需要被压缩。
3.根据权利要求2所述的方法,其特征在于,所述差分包包含所述第一标记和/或所述第二标记。
4.根据权利要求1所述的方法,其特征在于,所述步骤B之后还包括:
若所述原版本文件未被压缩,则跳转至所述步骤D。
5.根据权利要求1所述的方法,其特征在于,所述步骤E之后,还包括:
若所述目标版本文件不需要被压缩,则将所述目标版本文件的源数据更新至所述目标分区。
6.一种差分升级方法,其特征在于,所述方法包括:
步骤A1,识别要进行分区升级的原版本文件是否被压缩;
步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;
步骤C1,识别分区升级后的目标版本文件是否被压缩;
步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;
步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。
7.根据权利要求6所述的方法,其特征在于,所述步骤A1之后还包括:生成第一标记,所述第一标记用于表示所述原版本文件被压缩;或者
所述步骤C1之后还包括:生成第二标记,所述第二标记用于表示所述目标版本文件需要被压缩。
8.根据权利要求7所述的方法,其特征在于,所述步骤E1之后还包括:
将所述第一标记和/或所述第二标记添加到所述差分包中。
9.根据权利要求6所述的方法,其特征在于,所述步骤A1之后还包括:
若所述原版本文件未被压缩,则跳转至步骤C1。
10.根据权利要求6所述的方法,其特征在于,所述步骤C1之后还包括:
若所述目标版本文件未被压缩,则跳转至步骤E1。
11.一种差分升级装置,其特征在于,所述装置包括:
差分包获取模块,用于执行步骤A,获取用于分区升级的差分包,并从本地的目标分区获取原版本文件;
第一原版本压缩识别模块,用于执行步骤B,识别所述原版本文件是否被压缩;
第一原版本解压模块,用于执行步骤C,若所述原版本文件被压缩,则对所述原版本文件进行解压得到所述原版本文件的源数据;
目标版本源数据生成模块,用于执行步骤D,基于所述差分包和所述原版本文件的源数据生成目标版本文件的源数据;
第一目标版本压缩识别模块,用于执行步骤E,识别所述目标版本文件是否需要被压缩;
目标版本压缩模块,用于执行步骤F,若所述目标版本需要被压缩,则对所述目标版本文件的源数据进行压缩,并将压缩后的所述目标版本文件更新至所述目标分区。
12.一种差分升级装置,其特征在于,所述装置包括:
第二原版本压缩识别模块,用于执行步骤A1,识别要进行分区升级的原版本文件是否被压缩;
第二原版本解压模块,用于执行步骤B1,若所述原版本文件被压缩,则对所述原版本文件进行解压得到原版本的源数据;
第二目标版本压缩识别模块,用于执行步骤C1,识别分区升级后的目标版本文件是否被压缩;
目标版本解压模块,用于执行步骤D1,若所述目标版本文件被压缩,则对所述目标版本文件进行解压得到所述目标版本文件的源数据;
差分包生成模块,用于执行步骤E1,基于所述原版本文件的源数据和所述目标版本文件的源数据生成差分包。
13.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至5任一项所述方法,或者权利要求6至10任一项所述方法的步骤。
14.一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至5任一项所述方法,或者权利要求6至10任一项所述方法的步骤。
CN202011111869.5A 2020-10-16 2020-10-16 差分升级方法及装置、存储介质、计算机设备 Pending CN112181471A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011111869.5A CN112181471A (zh) 2020-10-16 2020-10-16 差分升级方法及装置、存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011111869.5A CN112181471A (zh) 2020-10-16 2020-10-16 差分升级方法及装置、存储介质、计算机设备

Publications (1)

Publication Number Publication Date
CN112181471A true CN112181471A (zh) 2021-01-05

Family

ID=73949652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011111869.5A Pending CN112181471A (zh) 2020-10-16 2020-10-16 差分升级方法及装置、存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN112181471A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732319A (zh) * 2021-01-22 2021-04-30 百度在线网络技术(北京)有限公司 文件升级方法、装置、设备和存储介质
CN112817630A (zh) * 2021-01-28 2021-05-18 深圳市华卓智能科技有限公司 一种基于小空间的fota升级方法
CN114675902A (zh) * 2022-03-11 2022-06-28 潍柴动力股份有限公司 基于嵌入式设备的软件版本的管理方法与管理装置
CN114785685A (zh) * 2022-04-12 2022-07-22 北京奕斯伟计算技术有限公司 软件差分升级方法、装置、电子设备及可读存储介质
CN117270902A (zh) * 2023-08-09 2023-12-22 大拓(山东)物联网科技有限公司 Ota升级包生成方法和装置、ota升级方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1629804A (zh) * 2003-12-19 2005-06-22 联想(北京)有限公司 一种进行版本更新的方法
CN101867559A (zh) * 2009-04-20 2010-10-20 王金波 在即时通信和网络存储系统中进行文件压缩的方法
CN107391145A (zh) * 2017-07-27 2017-11-24 中兴通讯股份有限公司 升级包制作方法及装置、升级文件的方法及装置
CN109947450A (zh) * 2019-03-19 2019-06-28 深圳创维-Rgb电子有限公司 系统文件升级方法、装置、移动终端及可读存储介质
CN110633097A (zh) * 2018-06-21 2019-12-31 新智数字科技有限公司 一种单片机的ota升级方法及装置
CN111104148A (zh) * 2019-12-26 2020-05-05 红石阳光(北京)科技股份有限公司 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质
WO2020186551A1 (zh) * 2019-03-19 2020-09-24 芯讯通无线科技(上海)有限公司 通信模块软件升级方法、系统及通信模块

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1629804A (zh) * 2003-12-19 2005-06-22 联想(北京)有限公司 一种进行版本更新的方法
CN101867559A (zh) * 2009-04-20 2010-10-20 王金波 在即时通信和网络存储系统中进行文件压缩的方法
CN107391145A (zh) * 2017-07-27 2017-11-24 中兴通讯股份有限公司 升级包制作方法及装置、升级文件的方法及装置
CN110633097A (zh) * 2018-06-21 2019-12-31 新智数字科技有限公司 一种单片机的ota升级方法及装置
CN109947450A (zh) * 2019-03-19 2019-06-28 深圳创维-Rgb电子有限公司 系统文件升级方法、装置、移动终端及可读存储介质
WO2020186551A1 (zh) * 2019-03-19 2020-09-24 芯讯通无线科技(上海)有限公司 通信模块软件升级方法、系统及通信模块
CN111104148A (zh) * 2019-12-26 2020-05-05 红石阳光(北京)科技股份有限公司 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732319A (zh) * 2021-01-22 2021-04-30 百度在线网络技术(北京)有限公司 文件升级方法、装置、设备和存储介质
CN112732319B (zh) * 2021-01-22 2024-02-23 百度在线网络技术(北京)有限公司 文件升级方法、装置、设备和存储介质
CN112817630A (zh) * 2021-01-28 2021-05-18 深圳市华卓智能科技有限公司 一种基于小空间的fota升级方法
CN114675902A (zh) * 2022-03-11 2022-06-28 潍柴动力股份有限公司 基于嵌入式设备的软件版本的管理方法与管理装置
CN114675902B (zh) * 2022-03-11 2023-08-18 潍柴动力股份有限公司 基于嵌入式设备的软件版本的管理方法与管理装置
CN114785685A (zh) * 2022-04-12 2022-07-22 北京奕斯伟计算技术有限公司 软件差分升级方法、装置、电子设备及可读存储介质
CN117270902A (zh) * 2023-08-09 2023-12-22 大拓(山东)物联网科技有限公司 Ota升级包生成方法和装置、ota升级方法和装置
CN117270902B (zh) * 2023-08-09 2024-05-10 大拓(山东)物联网科技有限公司 Ota升级包生成方法和装置、ota升级方法和装置

Similar Documents

Publication Publication Date Title
CN112181471A (zh) 差分升级方法及装置、存储介质、计算机设备
US8719810B2 (en) Program upgrade system and method for over the air-capable mobile terminal
CN111796856B (zh) 差分升级方法及装置、存储介质、计算机设备
US10203951B2 (en) Method and terminal for OTA updating
CN108650287B (zh) 物联网中的终端设备的升级方法、设备及计算机可读介质
US10599413B2 (en) Method and device for identifying file
CN108228224B (zh) 一种嵌入式系统差分升级的方法及装置
US20170308369A1 (en) Data processing method and device of preset application after upgrading
CN109710185B (zh) 数据处理方法及装置
CN103123588A (zh) 一种获取差分升级补丁的方法及系统
CN105446772B (zh) 一种系统升级的方法和装置
WO2019020111A1 (zh) 升级包制作方法及装置、升级文件的方法及装置
CN111124464B (zh) 一种用于嵌入式系统的差分升级的方法、系统及计算机可读存储介质
CN112162773B (zh) 差分升级方法及装置、存储介质、终端
WO2016202000A1 (zh) 差分回退升级方法及装置
CN112631622A (zh) 应用安装方法、装置、服务器及计算机可读介质
CN110362338B (zh) 一种在移动平台下的游戏资源打包和资源快速访问方法
US20200042313A1 (en) Methods and systems for remote software update
WO2019041891A1 (zh) 升级包的生成方法及装置
CN106445616B (zh) 终端设备从多系统至单系统的升级方法及装置
CN112579140A (zh) 一种软件升级方法及装置
WO2018161791A1 (zh) 可执行文件的压缩方法及装置
CN113741954A (zh) 系统软件生成方法、装置、电子设备及存储介质
CN111552517A (zh) 应用程序启动方法、装置、电子设备及计算机存储介质
CN110647753B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210105

RJ01 Rejection of invention patent application after publication