CN111611002A - 数据升级方法、装置、计算机设备和存储介质 - Google Patents
数据升级方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111611002A CN111611002A CN202010344290.7A CN202010344290A CN111611002A CN 111611002 A CN111611002 A CN 111611002A CN 202010344290 A CN202010344290 A CN 202010344290A CN 111611002 A CN111611002 A CN 111611002A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- differential
- current
- version
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims abstract description 74
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 6
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
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
本申请涉及一种数据升级方法、装置、计算机设备和存储介质。所述方法包括:获取目标差分数据,所述目标差分数据包括差分升级数据以及目标校验信息,所述差分升级数据根据历史版本数据与更新版本数据的差异得到,所述目标校验信息根据目标算法以及所述历史版本数据进行计算得到;获取待升级的当前版本数据,根据所述目标算法以及所述当前版本数据进行计算,得到所述当前版本数据对应的当前数据信息;根据所述目标校验信息以及所述当前数据信息进行对比,得到目标对比结果;当所述目标对比结果为对比一致时,利用所述差分升级数据对所述当前版本数据进行升级。采用本方法能够提高升级成功率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据升级方法、装置、计算机设备和存储介质。
背景技术
随着通信技术的发展,通信模块的应用越来越广泛,通信模块的种类也越来越丰富。当通信模块中的软件不能满足功能需要时,可以对通信模块中的软件进行升级,以使得通信模块支持所需要的功能。
然而,在对通信模块中的软件进行更新时,通信模块获取到的升级软件可能是不匹配的,经常发生通信模块使用不匹配的升级软件进行升级而使得升级失败的情况,导致升级成功率低。
发明内容
基于此,有必要针对上述升级成功率低的技术问题,提供一种能够提高升级成功率的数据升级方法、装置、计算机设备和存储介质。
一种数据升级方法,所述方法包括:获取目标差分数据,所述目标差分数据包括差分升级数据以及目标校验信息,所述差分升级数据根据历史版本数据与更新版本数据的差异得到,所述目标校验信息根据目标算法以及所述历史版本数据进行计算得到;获取待升级的当前版本数据,根据所述目标算法以及所述当前版本数据进行计算,得到所述当前版本数据对应的当前数据信息;根据所述目标校验信息以及所述当前数据信息进行对比,得到目标对比结果;当所述目标对比结果为对比一致时,利用所述差分升级数据对所述当前版本数据进行升级。
在一些实施例中,所述目标差分数据还包括所述历史版本数据对应的目标长度,所述获取待升级的当前版本数据包括:从所述目标差分数据中提取得到所述目标长度;获取版本数据在待升级的数据模块中的目标起始位置;从所述数据模块中所述目标起始位置开始,提取所述目标长度对应的数据,作为所述待升级的当前版本数据。
在一些实施例中,所述目标差分数据还包括目标版本号,所述从所述目标差分数据中提取得到所述目标长度包括:从所述目标差分数据中提取得到所述目标版本号;获取所述待升级的当前版本数据对应的版本号,作为当前版本号;将所述目标版本号与所述当前版本号进行对比,当确定所述目标版本号与所述当前版本号一致时,从所述目标差分数据中提取得到所述目标长度。
在一些实施例中,所述根据所述目标算法以及所述当前版本数据进行计算,得到所述当前版本数据对应的当前数据信息包括:获取目标算法对应的第一预设数据的第一预设长度;根据所述第一预设长度以及预设数据值,得到第二预设数据;将所述当前版本数据与所述第二预设数据进行组合,得到组合数据;计算所述组合数据与所述第一预设数据相除后的余数,得到所述当前版本数据对应的当前数据信息。
在一些实施例中,所述根据所述目标校验信息以及所述当前数据信息进行对比,得到目标对比结果的步骤之前,还包括:获取校验信息在差分数据中的预设起始位置以及第二预设长度;根据所述预设起始位置,从所述目标差分数据中提取第二预设长度的数据,得到所述目标校验信息。
在一些实施例中,所述方法还包括:当所述目标对比结果为对比不一致时,输出差分数据错误的提示信息。
一种数据升级装置,所述装置包括:目标差分数据获取模块,用于获取目标差分数据,所述目标差分数据包括差分升级数据以及目标校验信息,所述差分升级数据根据历史版本数据与更新版本数据的差异得到,所述目标校验信息根据目标算法以及所述历史版本数据进行计算得到;当前数据信息得到模块,用于获取待升级的当前版本数据,根据所述目标算法以及所述当前版本数据进行计算,得到所述当前版本数据对应的当前数据信息;目标对比结果得到模块,用于根据所述目标校验信息以及所述当前数据信息进行对比,得到目标对比结果;升级模块,用于当所述目标对比结果为对比一致时,利用所述差分升级数据对所述当前版本数据进行升级。
在一些实施例中,所述目标差分数据还包括所述历史版本数据对应的目标长度,所述当前数据信息得到模块包括:目标长度提取单元,用于从所述目标差分数据中提取得到所述目标长度;目标起始位置获取单元,用于获取版本数据在待升级的数据模块中的目标起始位置;当前版本数据得到单元,用于从所述数据模块中所述目标起始位置开始,提取所述目标长度对应的数据,作为所述待升级的当前版本数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据升级方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据升级方法的步骤。
上述数据升级方法、装置、计算机设备和存储介质,获取包括差分升级数据以及目标校验信息的目标差分数据,差分升级数据根据历史版本数据与更新版本数据的差异得到,获取待升级的当前版本数据,根据目标算法以及当前版本数据进行计算,得到当前版本数据对应的当前数据信息,根据目标校验信息以及当前数据信息进行对比,得到目标对比结果。由于目标校验信息根据目标算法以及历史版本数据进行计算得到,因此,当目标对比结果为对比一致时,确定历史版本数据与当前版本数据一致,进而确定了差分升级数据为当前版本数据对应的升级数据,因此,当目标对比结果为对比一致时,利用差分升级数据对当前版本数据进行升级,提高了升级成功率。
附图说明
图1为一些实施例中数据升级方法的应用环境图;
图2为一些实施例中数据升级方法的流程示意图;
图3A为一些实施例中生成差分升级数据的原理图;
图3B为一些实施例中生成目标差分数据的原理图;
图3C为一些实施例中对当前版本数据进行升级的原理图;
图3D为一些实施例中对当前版本数据进行升级的原理图;
图3E为一些实施例中当前版本数据得到步骤的流程示意图;
图4为一些实施例中目标长度得到步骤的流程示意图;
图5为一些实施例中当前数据信息得到步骤的流程示意图;
图6为一些实施例中数据升级方法的流程示意图;
图7为一些实施例中数据升级装置的结构框图;
图8为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据升级方法,可以应用于如图1所示的应用环境中。该应用环境包括数据模块102以及服务器104。数据模块102中可以安装有差分升级工具。差分升级工具用于对数据模块中的软件数据进行升级,数据模块中的软件数据例如可以是模块中的操作系统。其中,数据模块102可以通过有线或者无线的通信方式与服务器104进行通信。数据模块102可以有多个。
具体地,服务器104中可以预先存储有多种差分数据。数据模块102可以从服务器104获取目标差分数据,可以利用安装的差分升级工具对数据模块中的数据进行更新。其中,目标差分数据可以包括差分升级数据以及目标校验信息,差分升级数据根据历史版本数据与更新版本数据的差异得到,目标校验信息根据目标算法以及历史版本数据进行计算得到。数据模块102可以获取待升级的当前版本数据,根据目标算法以及当前版本数据进行计算,得到当前版本数据对应的当前数据信息,根据目标校验信息以及当前数据信息进行对比,得到目标对比结果,当目标对比结果为对比一致时,利用差分升级数据对当前版本数据进行升级。
其中,数据模块102可以是通信模块,通信模块可以但不限于是无线通信模块和有线通信模块,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。数据模块102可以是安装在终端中的。其中,终端可以但不限于是各种物联网设备。
在一些实施例中,如图2所示,提供了一种数据升级方法,以该方法应用于图1中的数据模块102为例进行说明,包括以下步骤:
S202,获取目标差分数据,目标差分数据包括差分升级数据以及目标校验信息,差分升级数据根据历史版本数据与更新版本数据的差异得到,目标校验信息根据目标算法以及历史版本数据进行计算得到。
具体地,差分升级数据用于对历史版本数据进行升级,以得到更新版本数据。历史版本数据可以是各个数据模块中分别安装的版本数据。更新版本数据是历史版本数据更新后的版本数据。历史版本数据与更新版本数据之间可以有对应关系,不同的历史版本数据可以对应相同的更新版本数据。目标校验信息用于验证差分升级数据,与数据模块中当前安装的版本数据是否对应,即用于验证得到差分升级数据的历史版本数据,是否与数据模块中当前安装的版本数据是一致的。目标校验信息对应的字节大小可以是预先设置好的,例如可以预先设置目标校验信息对应的字节大小为4个字节。本申请中提到的数据可以是二进制数据。
在一些实施例中,服务器中可以存储有多种历史版本数据以及更新版本数据。服务器可以将历史版本数据与更新版本数据进行对比,得到历史版本数据与更新版本数据对比不一致的数据,得到各个历史版本数据分别对应的差分升级数据。当然,服务器还可以根据历史版本数据与更新版本数据进行其他方式的计算,得到差分升级数据,例如可以采用制作差分升级包的算法来生成差分升级数据,其中,制作差分升级包的算法包括BSDIFF(Binary Diff,二进制差异)差分算法。如图3A所示,展示了生成差分升级数据的原理图。
在一些实施例中,服务器可以根据目标算法对历史版本数据进行计算,得到历史版本数据对应的目标校验信息。服务器可以将历史版本数据对应的差分升级数据,与对应的目标校验信息进行拼接,得到历史版本数据对应目标差分数据。其中,目标校验信息在目标差分数据中的位置可以是预先设定好的。如图3B所示,展示了生成目标差分数据的原理图。
在一些实施例中,各个数据模块可以从服务器获取与自身当前安装的版本数据对应的目标差分数据,提取目标差分数据中的目标校验信息,利用目标校验信息进行校验,当校验通过时,提取目标差分数据中的差分升级数据,利用差分升级数据对当前安装的版本数据进行更新。
在一些实施例中,目标算法为哈希算法,服务器可以通过哈希算法,对历史版本数据进行哈希计算,得到历史哈希值,将历史哈希值作为目标校验信息。
在一些实施例中,目标算法为校验码生成算法,服务器可以通过校验码生成算法,对历史版本数据进行计算,得到历史校验码,将历史校验码作为目标校验信息。其中,校验码生成算法可以是已有的生成校验码的算法,例如CRC(Cyclic Redundancy Check,循环冗余校验)算法。也可以是自定义的算法,这里不做过多的限制。
在一些实施例中,服务器可以向数据模块发送升级请求,升级请求中可以携带目标差分数据。数据模块可以从升级请求中获取目标差分数据。
在一些实施例中,目标差分数据还包括与历史版本数据相关的其他数据,例如可以包括历史版本数据的字节大小等信息。
S204,获取待升级的当前版本数据,根据目标算法以及当前版本数据进行计算,得到当前版本数据对应的当前数据信息。
具体地,待升级的当前版本数据,指的是数据模块中当前时间安装的版本数据。当前数据信息对应的字节大小可以与目标校验信息对应的字节大小相同。
在一些实施例中,当数据模块接收到服务器发送的升级请求时,数据模块可以获取待升级的当前版本数据,根据目标算法以及当前版本数据进行计算,得到当前版本数据对应的当前数据信息。
在一些实施例中,当前版本数据可以存储在数据模块中的存储介质上,其中,存储介质例如为FLASH芯片。当前版本数据在存储介质中的起始位置可以是预先设定好的。数据模块可以从存储介质中当前版本数据对应的起始位置开始,读取特定长度的数据,作为当前版本数据。其中,特定长度可以是目标差分数据对应的历史版本数据的长度,也可以是当前版本数据的长度。长度的单位可以是比特(BIT,Binary digit),也可以是字节(Byte)。
在一些实施例中,数据模块中可以存储有当前版本数据的长度,数据模块可以从服务器获取历史版本数据的长度。根据历史版本数据的长度从数据模块中获取待升级的当前版本数据。
在一些实施例中,数据模块对目标差分数据进行版本号验证或者完整性验证中的至少一种验证,当验证通过后,从目标差分数据中提取得到目标长度。其中,版本号验证可以是验证目标差分数据的版本号与当前版本数据的版本号是否一致,目标差分数据的版本号可以是对应的历史版本数据的版本号。完整性验证用于验证目标差分数据的完整性。
在一些实施例中,目标差分数据中可以包括完整性校验码,完整性校验码可以是服务器将目标差分数据中所有数据相加后得到的,数据模块可以提取目标差分数据中的完整性校验码,并将目标差分数据中所有数据相加,将相加后的结果与完整性校验码进行对比,当对比一致时,确定目标差分数据是完整的,反之,确定目标差分数据是不完整的。
在一些实施例中,数据模块可以获取待升级的当前版本数据,通过哈希算法,对当前版本数据进行哈希计算,得到当前哈希值,将当前哈希值作为当前数据信息。
在一些实施例中,数据模块可以通过校验码生成算法,对当前版本数据进行计算,得到当前校验码,将当前校验码作为当前数据信息。
需要说明的是,计算目标校验信息所采用的目标算法,与计算当前数据信息所采用的目标算法相同。
S206,根据目标校验信息以及当前数据信息进行对比,得到目标对比结果。
具体地,数据模块可以将目标校验信息与当前数据信息进行对比,得到目标对比结果。当数据模块确定目标校验信息与当前数据信息一致时,可以确定目标对比结果为对比一致,当数据模块确定目标校验信息与当前数据信息不一致时,可以确定目标对比结果为对比不一致。目标对比结果为对比一致,可以确定目标差分数据对应的历史版本数据与当前版本数据一致,即数据模块得到的目标差分数据是匹配的。反之,数据模块得到的目标差分数据是不匹配的。
S208,当目标对比结果为对比一致时,利用差分升级数据对当前版本数据进行升级。
具体地,当目标对比结果为对比一致时,数据模块可以确定目标校验信息与当前数据信息一致,从而可以确定获取到的差分升级数据对应的历史版本数据与当前版本数据是一致的,从而可以确定差分升级数据是用于对当前版本数据升级的。因此,当目标对比结果为对比一致时,数据模块可以利用差分升级数据对当前版本数据进行升级。如图3C所示,展示了对当前版本数据进行升级的原理图。
在一些实施例中,数据模块可以根据差分升级数据对当前版本数据进行修改,修改后的当前版本数据与差分升级数据对应的更新版本数据一致。
在一些实施例中,当目标对比结果为对比一致时,数据模块可以将差分升级数据进行重启,以实现对当前版本数据的升级。
在一些实施例中,当目标对比结果为对比不一致时,数据模块可以向服务器发送差分数据不匹配的信息,并且不对当前版本数据进行升级。如图3D所示,展示了对当前版本数据进行升级的原理图。
上述数据升级方法中,获取包括差分升级数据以及目标校验信息的目标差分数据,差分升级数据根据历史版本数据与更新版本数据的差异得到,获取待升级的当前版本数据,根据目标算法以及当前版本数据进行计算,得到当前版本数据对应的当前数据信息,根据目标校验信息以及当前数据信息进行对比,得到目标对比结果。由于目标校验信息根据目标算法以及历史版本数据进行计算得到,因此,当目标对比结果为对比一致时,确定历史版本数据与当前版本数据一致,进而确定了差分升级数据为当前版本数据对应的升级数据,因此,当目标对比结果为对比一致时,利用差分升级数据对当前版本数据进行升级,提高了升级成功率。
在一些实施例中,如图3E所示,目标差分数据还包括历史版本数据对应的目标长度,步骤S204中的获取待升级的当前版本数据包括:
S302,从目标差分数据中提取得到目标长度。
具体地,目标长度可以是历史版本数据的总长度。服务器可以计算历史版本数据的总长度,得到目标长度,并将差分升级数据、目标校验信息以及目标长度进行拼接,得到历史版本数据对应目标差分数据。目标长度在目标差分数据中的位置可以是预先规定好的,例如,可以预先规定目标长度在目标差分数据中的首部。
S304,获取版本数据在待升级的数据模块中的目标起始位置。
具体地,目标起始位置指的是数据模块中当前时间安装的版本数据,在数据模块中的起始存储位置。当前版本数据可以是存储在数据模块中的存储介质中的,目标起始位置可以是数据模块中,当前安装的版本数据在存储介质中的起始地址信息。
在一些实施例中,版本数据在数据模块中的目标起始位置可以是预先规定好的,数据模块中存储了版本数据对应的目标起始位置。
S306,从数据模块中目标起始位置开始,提取目标长度对应的数据,作为待升级的当前版本数据。
具体地,数据模块可以从数据模块中目标起始位置开始,提取目标长度对应的数据,作为待升级的当前版本数据。
在一些实施例中,服务器可以计算历史版本数据对应的目标长度,将目标长度、目标校验信息以及差分升级数据进行拼接,得到目标差分数据。其中,目标长度在目标差分数据中的位置可以是预先规定好的。
上述实施例中,将历史版本数据对应的目标长度设置在目标差分数据中,这样数据模块就可以根据目标长度以及目标起始位置,获取到与历史版本数据长度相同的数据,从而确保了获取到的数据的长度与历史版本数据的长度是相同的,当数据模块中当前安装的版本数据与差分升级数据对应的历史版本数据相同时,从目标起始位置开始获取目标长度的数据,可以得到真正的当前版本数据。
不难理解,当数据模块中当前安装的版本数据与差分升级数据对应的历史版本数据不同且长度不一致时,从目标起始位置开始获取到的目标长度的数据,可能只是真正的当前版本数据的一部分,或者除了当前版本数据还包括其他数据。
在一些实施例中,如图4所示,目标差分数据还包括目标版本号,步骤S302即从目标差分数据中提取得到目标长度包括:
S402,从目标差分数据中提取得到目标版本号。
具体地,目标版本号指的是目标差分数据的版本号。服务器可以获取历史版本数据对应的历史版本号,将历史版本号作为对应的目标差分数据的目标版本号。
S404,获取待升级的当前版本数据对应的版本号,作为当前版本号。
具体地,数据模块中可以存储当前版本数据对应的版本号,数据模块可以将当前版本数据对应的版本号作为当前版本号。
S406,将目标版本号与当前版本号进行对比,当确定目标版本号与当前版本号一致时,从目标差分数据中提取得到目标长度。
具体地,数据模块可以将目标版本号与当前版本号进行对比,当目标版本号与当前版本号一致时,说明得到的目标差分数据的版本是正确的,这时数据模块可以从目标差分数据中提取目标长度。
上述实施例中,将目标版本号与当前版本号进行对比,在确定目标版本号与当前版本号一致的情况下,再进行从目标差分数据中提取得到目标长度的步骤,从而能够避免在获取到的目标差分数据的版本错误的情况下,采用错误版本的目标差分数据中的差分升级数据进行升级,提高了升级的成功率。
在一些实施例中,如图5所示,步骤S204中的根据目标算法以及当前版本数据进行计算,得到当前版本数据对应的当前数据信息包括:
S502,获取目标算法对应的第一预设数据的第一预设长度。
具体地,目标算法可以对应有生成多项式,第一预设数据可以为生成多项式对应的二进制,第一预设长度可以为生成多项式对应的二进制的长度。例如,生成多项式例如为G(x)=x4+x+1,生成多项式对应的二进制表示形式为10011,共5比特,则第一预设数据可以为10011,第一预设长度可以是5。
在一些实施例中,数据模块中可以预先存储了第一预设数据。数据模块可以计算第一预设数据的长度,得到第一预设长度。当然,数据模块中也可以预先存储了第一预设长度。
S504,根据第一预设长度以及预设数据值,得到第二预设数据。
具体地,预设数据值可以是目标算法规定的数据值,例如为0。目标算法可以规定第二预设数据的长度由第一预设长度确定,例如,目标算法可以规定第二预设数据的长度等于第一预设长度-1。目标算法可以规定将预设数据值作为第二预设数据中的数据值。则根据第一预设数据10011,可以确定第二预设数据的长度为4,根据预设数据值0,可以确定第二预设数据为0000。数据模块可有根据第一预设长度确定第二预设数据的长度,根据预设数据值确定第二预设数据中各个数据的值,从而得到第二预设数据。
S506,将当前版本数据与第二预设数据进行组合,得到组合数据。
具体地,数据模块可以将第二预设数据拼接在当前版本数据的尾部,得到组合数据。例如,若当前版本数据为101011,第二预设数据为0000,则可以将0000拼接在101011的尾部,得到1010110000,1010110000即为组合数据。
S508,计算组合数据与第一预设数据相除后的余数,得到当前版本数据对应的当前数据信息。
具体地,数据模块可以将组合数据作为被除数,将第一预设数据作为除数,计算组合数据与第一预设数据相除后的余数,将计算得到的余数作为当前版本数据对应的当前数据信息。其中,组合数据与第一预设数据相除采用的可以是模2除。
在一些实施例中,服务器中可以预先存储了第一预设数据。服务器可以计算第一预设数据的长度,得到第一预设长度。当然,服务器中也可以预先存储了第一预设长度。服务器可以将第二预设数据拼接在历史版本数据的尾部,得到拼接数据,计算拼接数据与第一预设数据相除后的余数,得到目标校验信息。
上述实施例中,数据模块利用第一预设数据以及第一预设长度,计算得到当前数据信息,计算方法简单,得到当前数据信息的效率高,另外,由于服务器利用第一预设数据以及第一预设长度,计算得到目标校验信息,因此利用第一预设数据以及第一预设长度,计算得到当前数据信息,保证了当前数据信息与目标校验信息的计算方法一致。
在一些实施例中,如图6所示,根据目标校验信息以及当前数据信息进行对比,得到目标对比结果的步骤之前,还包括:
S602,获取校验信息在差分数据中的预设起始位置以及第二预设长度。
具体地,校验信息在差分数据中的起始位置以及长度可以是预先规定好的。预设起始位置指的是校验信息在差分数据中的起始位置。第二预设长度指的是校验信息在差分数据中的长度。数据模块可以预先存储了预设起始位置以及第二预设长度,从而可以确定目标校验信息在目标差分数据中的起始位置为预设起始位置,以及确定目标校验信息在目标差分数据中的长度为第二预设长度。
S604,根据预设起始位置,从目标差分数据中提取第二预设长度的数据,得到目标校验信息。
具体地,数据模块可以从预设起始位置开始,从目标差分数据中进行数据读取,读取第二预设长度的数据,得到目标校验信息。
上述实施例中,数据模块根据校验信息在差分数据中的预设起始位置以及第二预设长度,确定了目标校验信息在差分数据中的起始位置以及长度,从而可以准确的读取到目标校验信息,提高了读取到的目标校验信息的准确度。
在一些实施例中,方法还包括:当目标对比结果为对比不一致时,输出差分数据错误的提示信息。
具体地,提示信息用于通知服务器数据模块获取到的差分数据是不匹配的。当目标对比结果为对比不一致时,数据模块可以确定获取到的目标差分数据对应的历史版本数据,与数据模块中当前时间安装的版本数据不一致,从而可以确地获取到的目标差分数据是不匹配的,从而数据模块可以进行数据升级的步骤,并向服务器发送差分数据错误或者差分数据不匹配的提示信息。
上述实施例中,当目标对比结果为对比不一致时,输出差分数据错误的提示信息,并且不进行数据的升级,从而及时的提示服务器差分数据不匹配,并且可以避免了由于使用不匹配的差分升级文件进行数据升级,而导致数据模块的功能无法使用的情况发生。提高了升级成功率。
需要说明的是,本申请的数据升级方法,可以是由数据模块中安装的差分升级工具执行的。
应该理解的是,虽然上述各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,如图7所示,提供了一种数据升级装置,包括:目标差分数据获取模块702、当前数据信息得到模块704、目标对比结果得到模块706和升级模块708,其中:
目标差分数据获取模块702,用于获取目标差分数据,目标差分数据包括差分升级数据以及目标校验信息,差分升级数据根据历史版本数据与更新版本数据的差异得到,目标校验信息根据目标算法以及历史版本数据进行计算得到。
当前数据信息得到模块704,用于获取待升级的当前版本数据,根据目标算法以及当前版本数据进行计算,得到当前版本数据对应的当前数据信息。
目标对比结果得到模块706,用于根据目标校验信息以及当前数据信息进行对比,得到目标对比结果。
升级模块708,用于当目标对比结果为对比一致时,利用差分升级数据对当前版本数据进行升级。
在一些实施例中,目标差分数据还包括历史版本数据对应的目标长度,当前数据信息得到模块704包括:
目标长度提取单元,用于从目标差分数据中提取得到目标长度。
目标起始位置获取单元,用于获取版本数据在待升级的数据模块中的目标起始位置。
当前版本数据得到单元,用于从数据模块中目标起始位置开始,提取目标长度对应的数据,作为待升级的当前版本数据。
在一些实施例中,目标差分数据还包括目标版本号,目标长度提取单元,还用于从目标差分数据中提取得到目标版本号。获取待升级的当前版本数据对应的版本号,作为当前版本号。将目标版本号与当前版本号进行对比,当确定目标版本号与当前版本号一致时,从目标差分数据中提取得到目标长度。
在一些实施例中,当前数据信息得到模块704包括:
第一预设长度获取单元,用于获取目标算法对应的第一预设数据的第一预设长度。
第二预设数据得到单元,用于根据第一预设长度以及预设数据值,得到第二预设数据。
组合数据得到单元,用于将当前版本数据与第二预设数据进行组合,得到组合数据。
当前数据信息得到单元,用于计算组合数据与第一预设数据相除后的余数,得到当前版本数据对应的当前数据信息。
在一些实施例中,装置还包括:
第二预设长度获取模块,用于获取校验信息在差分数据中的预设起始位置以及第二预设长度。
目标校验信息得到模块,用于根据预设起始位置,从目标差分数据中提取第二预设长度的数据,得到目标校验信息。
在一些实施例中,装置还包括:
提示信息输出模块,用于当目标对比结果为对比不一致时,输出差分数据错误的提示信息。
关于数据升级装置的具体限定可以参见上文中对于数据升级方法的限定,在此不再赘述。上述数据升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据升级方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述数据升级方法的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据升级方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据升级方法,其特征在于,所述方法包括:
获取目标差分数据,所述目标差分数据包括差分升级数据以及目标校验信息,所述差分升级数据根据历史版本数据与更新版本数据的差异得到,所述目标校验信息根据目标算法以及所述历史版本数据进行计算得到;
获取待升级的当前版本数据,根据所述目标算法以及所述当前版本数据进行计算,得到所述当前版本数据对应的当前数据信息;
根据所述目标校验信息以及所述当前数据信息进行对比,得到目标对比结果;
当所述目标对比结果为对比一致时,利用所述差分升级数据对所述当前版本数据进行升级。
2.根据权利要求1所述的方法,其特征在于,所述目标差分数据还包括所述历史版本数据对应的目标长度,所述获取待升级的当前版本数据包括:
从所述目标差分数据中提取得到所述目标长度;
获取版本数据在待升级的数据模块中的目标起始位置;
从所述数据模块中所述目标起始位置开始,提取所述目标长度对应的数据,作为所述待升级的当前版本数据。
3.根据权利要求2所述的方法,其特征在于,所述目标差分数据还包括目标版本号,所述从所述目标差分数据中提取得到所述目标长度包括:
从所述目标差分数据中提取得到所述目标版本号;
获取所述待升级的当前版本数据对应的版本号,作为当前版本号;
将所述目标版本号与所述当前版本号进行对比,当确定所述目标版本号与所述当前版本号一致时,从所述目标差分数据中提取得到所述目标长度。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标算法以及所述当前版本数据进行计算,得到所述当前版本数据对应的当前数据信息包括:
获取目标算法对应的第一预设数据的第一预设长度;
根据所述第一预设长度以及预设数据值,得到第二预设数据;
将所述当前版本数据与所述第二预设数据进行组合,得到组合数据;
计算所述组合数据与所述第一预设数据相除后的余数,得到所述当前版本数据对应的当前数据信息。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标校验信息以及所述当前数据信息进行对比,得到目标对比结果的步骤之前,还包括:
获取校验信息在差分数据中的预设起始位置以及第二预设长度;
根据所述预设起始位置,从所述目标差分数据中提取第二预设长度的数据,得到所述目标校验信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标对比结果为对比不一致时,输出差分数据错误的提示信息。
7.一种数据升级装置,其特征在于,所述装置包括:
目标差分数据获取模块,用于获取目标差分数据,所述目标差分数据包括差分升级数据以及目标校验信息,所述差分升级数据根据历史版本数据与更新版本数据的差异得到,所述目标校验信息根据目标算法以及所述历史版本数据进行计算得到;
当前数据信息得到模块,用于获取待升级的当前版本数据,根据所述目标算法以及所述当前版本数据进行计算,得到所述当前版本数据对应的当前数据信息;
目标对比结果得到模块,用于根据所述目标校验信息以及所述当前数据信息进行对比,得到目标对比结果;
升级模块,用于当所述目标对比结果为对比一致时,利用所述差分升级数据对所述当前版本数据进行升级。
8.根据权利要求7所述的装置,其特征在于,所述目标差分数据还包括所述历史版本数据对应的目标长度,所述当前数据信息得到模块包括:
目标长度提取单元,用于从所述目标差分数据中提取得到所述目标长度;
目标起始位置获取单元,用于获取版本数据在待升级的数据模块中的目标起始位置;
当前版本数据得到单元,用于从所述数据模块中所述目标起始位置开始,提取所述目标长度对应的数据,作为所述待升级的当前版本数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344290.7A CN111611002B (zh) | 2020-04-27 | 2020-04-27 | 数据升级方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010344290.7A CN111611002B (zh) | 2020-04-27 | 2020-04-27 | 数据升级方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611002A true CN111611002A (zh) | 2020-09-01 |
CN111611002B CN111611002B (zh) | 2024-02-09 |
Family
ID=72194503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010344290.7A Active CN111611002B (zh) | 2020-04-27 | 2020-04-27 | 数据升级方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611002B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527370A (zh) * | 2020-12-04 | 2021-03-19 | 成都中科慧源科技有限公司 | 一种对物联网设备进行远程差分升级的方法 |
CN113504936A (zh) * | 2021-06-02 | 2021-10-15 | 深圳市广和通无线股份有限公司 | 软件版本发布方法、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138347A (zh) * | 2015-07-17 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种差分升级包生成方法、软件升级方法及相应装置 |
CN105302587A (zh) * | 2014-06-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 数据更新方法及装置 |
CN106603311A (zh) * | 2017-01-18 | 2017-04-26 | 北京洋浦伟业科技发展有限公司 | Ota升级方法、客户端、服务器和系统 |
CN106790247A (zh) * | 2017-01-23 | 2017-05-31 | 青岛海信移动通信技术股份有限公司 | 一种Android系统升级的方法和装置 |
CN109672655A (zh) * | 2017-10-16 | 2019-04-23 | 华为终端(东莞)有限公司 | 一种差分升级的方法、装置及系统 |
CN110865828A (zh) * | 2018-08-28 | 2020-03-06 | 成都鼎桥通信技术有限公司 | 数据升级方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-04-27 CN CN202010344290.7A patent/CN111611002B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302587A (zh) * | 2014-06-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 数据更新方法及装置 |
CN105138347A (zh) * | 2015-07-17 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种差分升级包生成方法、软件升级方法及相应装置 |
CN106603311A (zh) * | 2017-01-18 | 2017-04-26 | 北京洋浦伟业科技发展有限公司 | Ota升级方法、客户端、服务器和系统 |
CN106790247A (zh) * | 2017-01-23 | 2017-05-31 | 青岛海信移动通信技术股份有限公司 | 一种Android系统升级的方法和装置 |
CN109672655A (zh) * | 2017-10-16 | 2019-04-23 | 华为终端(东莞)有限公司 | 一种差分升级的方法、装置及系统 |
WO2019076293A1 (zh) * | 2017-10-16 | 2019-04-25 | 华为技术有限公司 | 一种差分升级的方法、装置及系统 |
CN110865828A (zh) * | 2018-08-28 | 2020-03-06 | 成都鼎桥通信技术有限公司 | 数据升级方法、装置、设备及计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527370A (zh) * | 2020-12-04 | 2021-03-19 | 成都中科慧源科技有限公司 | 一种对物联网设备进行远程差分升级的方法 |
CN113504936A (zh) * | 2021-06-02 | 2021-10-15 | 深圳市广和通无线股份有限公司 | 软件版本发布方法、计算机设备及存储介质 |
CN113504936B (zh) * | 2021-06-02 | 2024-01-05 | 深圳市广和通无线股份有限公司 | 软件版本发布方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111611002B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573371B (zh) | 数据审批方法、装置、计算机设备和存储介质 | |
CN110377454B (zh) | 数据校验方法、装置、计算机设备和存储介质 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN108563532B (zh) | 数据处理方法及相关装置 | |
CN111078662B (zh) | 一种区块链数据存储方法与装置 | |
WO2017036228A1 (zh) | 一种实现系统升级的方法及装置 | |
CN111611002B (zh) | 数据升级方法、装置、计算机设备和存储介质 | |
US11977637B2 (en) | Technique for authentication and prerequisite checks for software updates | |
CN105740088B (zh) | 闪存数据纠错方法及装置 | |
CN111258900A (zh) | 接口测试脚本的生成方法、系统、设备及存储介质 | |
WO2022116088A1 (zh) | 固件数据处理方法及装置 | |
CN111478751B (zh) | 一种数据断点续传方法、装置及终端设备 | |
CN111290998A (zh) | 迁移数据的校对方法、装置、设备及存储介质 | |
CN109101232B (zh) | 一种产品开发的方法、装置、计算机设备及存储介质 | |
CN116107612A (zh) | 固件空中升级装置、充电桩、设备、方法及程序产品 | |
CN114741231A (zh) | 基于存储器的数据读写方法、装置、设备及存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN108196975B (zh) | 基于多校验和的数据验证方法、装置及存储介质 | |
CN109800579B (zh) | 一种软件的完整性校验方法、装置及电子设备 | |
CN112860702A (zh) | 试验执行工单验证方法、装置、计算机设备和存储介质 | |
CN110896309A (zh) | Turbo乘积码的译码方法、装置、译码器及计算机存储介质 | |
CN112463042B (zh) | 一种数据卷导入数据校验方法、装置、终端及存储介质 | |
CN109358981B (zh) | 存储器读取错误纠正方法、系统、计算机设备和存储介质 | |
CN114710297A (zh) | 基于聚合签名的区块链存证方法、装置、设备及存储介质 | |
CN110377675B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |