CN112925553A - 一种嵌入式设备的***升级方法及装置 - Google Patents

一种嵌入式设备的***升级方法及装置 Download PDF

Info

Publication number
CN112925553A
CN112925553A CN202110291404.0A CN202110291404A CN112925553A CN 112925553 A CN112925553 A CN 112925553A CN 202110291404 A CN202110291404 A CN 202110291404A CN 112925553 A CN112925553 A CN 112925553A
Authority
CN
China
Prior art keywords
file
differential
difference
system version
upgrading
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
CN202110291404.0A
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.)
Shanghai Chuanggong Telecom Technology Co Ltd
Original Assignee
Shanghai Chuanggong Telecom 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 Shanghai Chuanggong Telecom Technology Co Ltd filed Critical Shanghai Chuanggong Telecom Technology Co Ltd
Priority to CN202110291404.0A priority Critical patent/CN112925553A/zh
Publication of CN112925553A publication Critical patent/CN112925553A/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

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

一种嵌入式设备的***升级方法及装置
技术领域
本发明涉及嵌入式设备***领域,尤其涉及一种嵌入式设备的***升级方法及装置。
背景技术
近年来由于嵌入式穿戴产品逐渐兴起,嵌入式设备产品层出不穷。由于嵌入式设备的***数据包过大,在对***版本进行升级时,一般都是采用二进制差分还原方法,通过进行OTA(Over-the-Air Technology,空中下载技术)升级。
其中,差分还原方法是所有嵌入式设备都绕不开一项基本功能,目前业界内OTA的差分还原方法基本都是将资源文件和模块芯片的固件文件采用统一的基于内容的二进制差分方法来制作差分包,以便将***的当前版本还原至目标版本。
但是,由于MCU(Microcontroller Unit,微控制单元)算力有限,通过二进制差分方法制作的差分包,在还原升级时所耗费的时间较长,影响***版本升级速度,影响用户体验。因此,现需要一种***的升级方法,以提升嵌入式设备的***版本升级效率,降低嵌入式设备的***版本升级时间。
发明内容
本发明实施例提供一种嵌入式设备的***升级方法及装置,用于提升嵌入式设备的***版本升级效率,降低嵌入式设备的***版本升级时间。
第一方面,本发明实施例提供一种嵌入式设备的***升级方法,包括:
嵌入式设备获取升级差分包;所述升级差分包是基于第一***版本和第二***版本之间的差异确定的;
所述嵌入式设备从所述升级差分包中确定出第一差分部分和第二差分部分;所述第一差分部分是通过内容差分得到的;所述第二差分部分是根据文件差分得到的;
所述嵌入式设备基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分;
所述嵌入式设备根据所述第一升级部分和所述第二升级部分,将所述嵌入式设备的***文件从所述第一***版本升级为所述第二***版本。
上述技术方案中,将升级差分包确定为不同的差分部分,针对不同的升级部分,使***的当前版本还原至目标版本,其中,基于内容差分得到的第一升级部分可以避免因差分文件过大导致的还原时间过长,基于文件差分得到的第二升级部分可以避免因差分文件所需还原位置过多导致的还原效率过低,从而提升了***版本还原的效率,降低了***版本还原的时间。
可选的,所述嵌入式设备基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分,包括:
所述嵌入式设备基于所述第一差分部分,根据第一还原算法得到所述第一升级部分;所述第一还原算法为基于内容差分的还原算法;
所述嵌入式设备基于所述第二差分部分,根据第二还原算法得到所述第二升级部分;所述第二还原算法为基于文件差分的还原算法。
上述技术方案中,针对不同的差分部分通过对应的还原算法得到升级部分,具体的,通过基于内容差分的第一还原算法避免因差分文件过大导致的还原时间过长,通过基于文件差分的第二还原算法避免因差分文件所需还原位置过多导致的还原效率过低,因此,提升了***版本还原的效率,降低了***版本还原的时间。
可选的,所述嵌入式设备获取升级差分包之后,所述嵌入式设备从所述升级差分包中确定出第一差分部分和第二差分部分之前,还包括:
所述嵌入式设备校验通过所述升级差分包。
上述技术方案中,在得到升级差分包之后,将其进行校验,只有在校验通过后,才可以从升级差分包中获取第一差分部分和第二差分部分,以保证升级差分包的准确性,提升了嵌入式设备的***升级的安全性。
第二方面,本发明实施例提供一种升级差分包的生成方法,包括:
服务器从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件;
所述服务器从所述嵌入式设备的第二***版本的各文件中确定出第二芯片文件和第二资源文件;
所述服务器对所述第一芯片文件和所述第二芯片文件执行内容差分,得到第一差分部分;
所述服务器对所述第一资源文件和所述第二资源文件执行文件差分,得到第二差分部分;
所述服务器根据所述第一差分部分和所述第二差分部分确定出升级差分包。
上述技术方案中,将***中的各文件分为芯片文件和资源文件,一般的,芯片文件的资源较大,因此通过内容差分得到的第一差分部分可以使嵌入式设备在还原时避免因差分文件过大导致的还原时间过长,而资源文件的资源一般较小,因此通过文件差分得到的第二差分部分可以使嵌入式设备在还原时避免因差分文件所需还原位置过多导致的还原效率过低,以此提升***版本还原的效率,降低***版本还原的时间。
且,通过将第一差分部分和第二差分部分确定出升级差分包,使嵌入式设备在校验差分部分时,仅校验一个差分包即可,不需要校验两个差分部分,以此减少了校验成本,提升了校验效率,也节省了文件传输资源。
可选的,服务器从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件,包括:
所述服务器根据所述嵌入式设备的第一***版本中各文件的格式,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件;或根据所述嵌入式设备的第一***版本中各文件的资源大小,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件。
上述技术方案中,根据文件的格式或根据各文件的资源大小,将***中各文件分为芯片文件或资源文件,以此得到对应文件差分和内容差分对应的差分部分,进而可以使嵌入式设备在还原差分部分时,避免因差分文件过大导致的还原时间过长,避免因差分文件所需还原位置过多导致的还原效率过低。
可选的,所述服务器根据所述第一差分部分和所述第二差分部分确定出升级差分包,包括:
所述服务器根据预设编程语言,将所述第一差分部分和所述第二差分部分合并,确定出所述升级差分包。
上述技术方案中,通过将第一差分部分和第二差分部分合并得到升级差分包,使嵌入式设备在校验升级差分包的安全性和准确性时,仅校验一个升级差分包即可,不需要校验两个差分部分,以此减少了校验成本和时间,提升了校验效率,也节省了文件传输资源。
第三方面,本发明实施例提供一种嵌入式设备的***升级装置,包括:
获取模块,用于获取升级差分包;所述升级差分包是基于第一***版本和第二***版本之间的差异确定的;
处理模块,用于从所述升级差分包中确定出第一差分部分和第二差分部分;所述第一差分部分是通过内容差分得到的;所述第二差分部分是根据文件差分得到的;
基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分;
根据所述第一升级部分和所述第二升级部分,将所述嵌入式设备的***文件从所述第一***版本升级为所述第二***版本。
可选的,所述处理模块具体用于:
基于所述第一差分部分,根据第一还原算法得到所述第一升级部分;所述第一还原算法为基于内容差分的还原算法;
基于所述第二差分部分,根据第二还原算法得到所述第二升级部分;所述第二还原算法为基于文件差分的还原算法。
可选的,所述处理模块具体用于:
获取升级差分包之后,从所述升级差分包中确定出第一差分部分和第二差分部分之前,校验通过所述升级差分包。
第四方面,本发明实施例提供一种升级差分包的生成装置,包括:
拆分单元,用于从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件;
从所述嵌入式设备的第二***版本的各文件中确定出第二芯片文件和第二资源文件;
处理单元,用于对所述第一芯片文件和所述第二芯片文件执行内容差分,得到第一差分部分;
对所述第一资源文件和所述第二资源文件执行文件差分,得到第二差分部分;
根据所述第一差分部分和所述第二差分部分确定出升级差分包。
可选的,所述处理单元具体用于:
根据所述嵌入式设备的第一***版本中各文件的格式,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件;或根据所述嵌入式设备的第一***版本中各文件的资源大小,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件。
可选的,所述处理单元具体用于:
根据预设编程语言,将所述第一差分部分和所述第二差分部分合并,确定出所述升级差分包。
第五方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述嵌入式设备的***升级方法或上述升级差分包的生成方法。
第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述嵌入式设备的***升级方法或上述升级差分包的生成方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***架构示意图;
图2为本发明实施例提供的一种嵌入式设备的***升级方法的流程示意图;
图3为本发明实施例提供的一种升级差分包的生成方法的流程示意图;
图4为本发明实施例提供的一种文件的分类及格式的示意图;
图5为本发明实施例提供的一种升级差分包的生成的示意图;
图6为本发明实施例提供的一种嵌入式设备的***升级的示意图;
图7为本发明实施例提供的一种嵌入式设备的***升级装置的结构示意图;
图8为本发明实施例提供的一种升级差分包的生成装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有技术中,在嵌入式***多类型固件的OTA升级包的差分还原时,区别在于,OTA升级包可以包括以文件为单位的文件差分和文件内容的计量单位(如KB、MB等)为单位的内容差分。
其中,文件差分相当于直接将两个***版本直接存在差异的文件确定为差分部分,在***升级时,直接该文件作为升级部分进行升级,在进行差分还原计算时,以文件为单位进行计算,以减少差分还原的计算。例如,第一***版本中的a文件和第二***版本中的A文件存在一些程序差异,因此,将A文件确定为差分部分,在将第一***版本升级为第二***版本时,直接将A文件作为升级部分,替换a文件以实现***版本升级,其中,升级时只针对A文件进行一次差分还原计算即可,可以减少差分还原的计算,其中,A文件和a文件是针对同一固件的文件或同一功能的文件,一般来说,两个文件的名字是相同,当然也可以不同,具体不做限定,这里的“A”与“a”并非指文件名。
内容差分相当于,针对任一文件,根据预设数据计量单位查找内容差异,在预设数据计量单位内,将存在差异内容的确定为差分部分,在***升级时,在存在内容差异的位置替换数据,并非替换文件。例如,针对第一***版本中的a文件(大小为200KB)和第二***版本中的A文件(大小为210KB),预设数据计量单位设置为100KB,由此,可以将a文件的数据分为两段,0-100KB和101KB-200KB,并记录每一段数据的数据头和数据分段数据标志。在a文件和A文件对比时,A文件根据数据头和数据分段数据标志也确定出两段数据,并与a文件的数据进行一一对比,假设发现在a文件中的第一段数据(0-100KB)与A文件中的第一段数据(0-110KB)存在差异,则将A文件的第一段数据确定为差分部分,在***版本升级时,对A文件的第一段数据进行差分还原,得到对应的升级文件,然后实现***版本升级。
上述两种***版本升级的方法,针对文件差分的***版本升级中,若文件的资源过大(如10MB),而差异内容却比较小(如20KB),使用文件差分进行***版本升级时,所需要进行差分还原的差分部分资源过大,导致差分还原时间过长,影响***版本升级的效率。
针对内容差分的***版本升级中,文件的资源偏小(如200KB),而差异内容较多,且预设数据计量单位偏小(如10KB),则会导致该文件的差异部分过多,在进行***版本升级时,需要进行多次差分还原算法,以得到对应的升级部分,从而导致***版本升级效率低。
因此,现需要一种***版本升级的方法,用于提升***版本升级的效率。
图1示例性的示出了本发明实施例所适用的一种***架构,该***架构包括服务器100,该服务器100可以包括处理器110、通信接口120和存储器130。
其中,通信接口120用于传输不同***版本之间的差分部分。
处理器110是服务器100的控制中心,利用各种接口和路线连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。
存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种嵌入式设备的***升级方法的流程示意图,该流程可由嵌入式设备的***升级装置执行。
如图2所示,该流程具体包括:
步骤210,嵌入式设备获取升级差分包。
本发明实施例中,升级差分包是基于第一***版本和第二***版本之间的差异确定的。其中差异包括逻辑代码的差异,逻辑代码中所设置的参数差异等,在此不做具体差异限定。
步骤220,所述嵌入式设备从所述升级差分包中确定出第一差分部分和第二差分部分。
在一中可实施的方式中,第一差分部分和第二差分部分可以均是根据内容差分得到的。
在另一种可实施的方式中,第一差分部分和第二差分部分也可以均是根据文件差分得到的。
在本发明实施例中,第一差分部分是通过内容差分得到的,第二差分部分是根据文件差分得到的。
步骤230,所述嵌入式设备基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分。
本发明实施例中,针对差分部分得到的方式,采用对应的差分还原算法,进而得到对应的升级部分。
步骤240,所述嵌入式设备根据所述第一升级部分和所述第二升级部分,将所述嵌入式设备的***文件从所述第一***版本升级为所述第二***版本。
在步骤210中,升级差分包一般是服务器配置的,服务器根据嵌入式设备的第一***版本和第二***版本之间的差异确定出升级差分包,其中第一***版本可以理解为嵌入式设备的当前***版本,第二***版本可以理解为带升级至的***版本。
进一步地,图3示例性的示出了一种升级差分包的生成方法的流程示意图,如图3所示,流程包括如下步骤。
步骤310,服务器从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件。
本发明实施例中,服务器根据嵌入式设备的第一***版本,确定出第一***版本对应的文件,而针对***版本的文件,一般包括芯片文件和资源文件,图4示例性的示出了一种文件的分类及格式的示意图,如图4所示,***版本文件包括芯片文件和资源文件。
具体的,芯片文件一般为二进制文件,包括STM.bin格式的文件、NFC.bin格式的文件、TP.bin格式的文件、BT.bin格式的文件等。资源文件一般为界面文件,包括png格式(一种图片格式)的文件、jpg格式(一种图片格式)的文件、xml格式的文件(一种表格的格式)和js格式(一种语言格式)的文件等。
在一种可实施的方式中,可以根据文件名称将嵌入式设备中的各文件进行区分。
在本发明实施例中,文件的区分可以根据文件的格式或根据文件的资源大小进行区分。
进一步地,服务器根据嵌入式设备的第一***版本中各文件的格式,从第一***版本的各文件确定出第一芯片文件和第一资源文件,或根据嵌入式设备的第一***版本中各文件的资源大小,从第一***版本的各文件确定出第一芯片文件和第一资源文件。
例如,将文件格式为二进制格式的文件确定为第一芯片文件,如STM.bin格式的文件、NFC.bin格式的文件和TP.bin格式的文件。将文件格式为png格式的文件、jpg格式的文件和xml格式的文件确定为第一资源文件。
又如,将文件的资源大小大于1MB的文件确定为第一芯片文件,将文件的资源大小不大于1MB的文件确定为第一资源文件。
步骤320,所述服务器从所述嵌入式设备的第二***版本的各文件中确定出第二芯片文件和第二资源文件。
在本发明实施例中,服务器根据上述步骤310的方式确定出对应的第二芯片文件和第二资源文件。例如,若服务器在步骤310是根据文件格将第一***版本的各文件中确定出第一芯片文件和第一资源文件,则根据文件格式将第二***版本的各文件中确定出第二芯片文件和第二资源文件。若服务器在步骤310是根据文件格将第一***版本的各文件中确定出第一芯片文件和第一资源文件,则服务器根据文件格式将第二***版本的各文件中确定出第二芯片文件和第二资源文件。
步骤330,所述服务器对所述第一芯片文件和所述第二芯片文件执行内容差分,得到第一差分部分。
本发明实施例中,第一差分部分是根据第一芯片文件和第二芯片文件进行内容差分确定的,例如,第一芯片文件为二进制的b文件,其大小为1.2M,根据上述内容差分的方法,将b文件分为12份第一文件内容,并记录每份第一文件内容的数据头部和数据尾部,然后根据每份第一文件内容的数据头部和数据尾部,将第二芯片文件的B文件同理分为12份第二文件内容,并确定出其中N份存在差异的文件内容,并记录对应的数据头部和数据尾部,其中N不大于12,从而根据N份存在差异的文件以及对应的数据头部和数据尾部得到第一差分部分。
步骤340,所述服务器对所述第一资源文件和所述第二资源文件执行文件差分,得到第二差分部分。
本发明实施例中,第二差分部分是根据第一资源文件和第二资源文件进行文件差分确定的,例如,基于文件名称一致的基础上,确定第一资源文件和第二资源文件是否存在差异,若存在差异,则将第二资源文件确定为第二差分部分。
步骤350,所述服务器根据所述第一差分部分和所述第二差分部分确定出升级差分包。
本发明实施例在一种可实施的方式中,可以将第一差分部分和第二差分部分存放在一个文件夹中,然后压缩该文件夹,进而确定出升级差分包。
在另一种可实施的方式中,将第一差分部分和第二差分部分进行分别压缩,得到第一压缩文件和第二压缩文件,然后将第一压缩文件和第二压缩文件存放在一个文件夹中,得到升级差分包。
在本发明实施例中,服务器根据预设编程语言,将第一差分部分和所述第二差分部分合并,确定出升级差分包。其中,预设编程语言可以是SQL语句中的merge指令,也可以是其他编程语言的指令,在此不做具体限定。
在上述步骤220中,嵌入式设备基于第一差分部分,根据第一还原算法得到第一升级部分,其中第一还原算法为基于内容差分的还原算法。
嵌入式设备基于第二差分部分,根据第二还原算法得到第二升级部分,其中第二还原算法为基于文件差分的还原算法。
本发明实施例中,针对不同的差分部分,根据对应的还原算法可以还原出对应的升级部分,即升级文件。
举例来说,针对第一差分部分,因为第一差分部分是通过内容差分得到的,因此对其使用基于内容差分的还原算法,进而可以得到升级文件,该升级文件中包括了各芯片文件存在差异的位置及内容,相当于需要升级的位置及内容。
针对第二差分部分,因为第二差分部分是通过文件差分得到的,因此对其使用基于文件差分的还原算法,进而可以得到升级文件,该升级文件中包括了与第一版本***的各文件对应存在差异的文件,相当于需要升级的文件。
需要说明的是,在嵌入式设备获取升级差分包之后,嵌入式设备从升级差分包中确定出第一差分部分和第二差分部分之前,嵌入式设备校验通过升级差分包。
在一种可实施的方式中,根据奇偶校验法对升级差分包进行校验。
在另一种可实施的方式中,根据CRC(Cyclic Redundancy Check,循环冗余校验)对升级差分包进行校验。其中CRC校验方法是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的信道编码技术,利用除法及余数的原理用来检测或校验数据传输或者保存后可能出现的错误。
例如,发送方和接收方在通信前,约定好预设整数P。然后发送方在发送前根据数据D确定满足T mod P==0公式的F,生成CRC码T,则T即为数据位D与校验位F的拼接,并将T发送至接收方。接收方在收到CRC码T后,进行result=T mod P运算,当且仅当result=0时,接收方确定发送方发送的数据正确。
在本发明实施例中,根据RSA加密算法对升级差分包进行校验。其中,RSA算法是一种非对称加密算法,也是一种公开密钥的算法,密钥包括公钥和私钥,公钥为公开的密钥。
例如,接收方随机选择两个不相等的质数,根据欧拉函数和预设的随机整数,确定公钥和私钥,并将公钥公开。发送方在发送密文时,通过公钥对密文进行加密,并将加密后的数据发送至接收方。接收方根据自身未公开的私钥对加密后的数据进行解密,得到密文。
在本发明实施例中,接收方相当于嵌入式设备,发送方相当于服务器,密文相当于升级差分包,嵌入式设备根据私钥对公钥加密后的升级差分包进行校验。
在步骤240中,嵌入式设备根据第一升级部分和第二升级部分,基于第一***版本,还原出第二***版本,然后根据还原出的第二***版本,将嵌入式设备的***文件从第一***版本升级为所述第二***版本。
为了更好的解释上述技术方案,下面在具体实例中阐述升级差分包的生成和嵌入式设备的***升级。
实例1
图5示例性的示出了一种升级差分包的生成的示意图,如图5所示,服务器针对嵌入式设备***的当前的基础版本(相当于上述第一***版本)和待升级至的目标版本(相当于上述第二***版本),确定出两版本之间的各文件,并根据文件格式或资源大小等方式,将各文件区分为芯片文件和资源文件,根据基础版本的芯片文件和目标版本的芯片文件确定出芯片文件差分部分,根据基础版本的资源文件和目标版本的资源文件确定出资源文件差分部分,然后根据SQL语句中的merge指令,将芯片文件差分部分和资源文件差分部分合并,得到升级差分包。
本发明实施例中,通过将芯片文件差分部分和资源文件差分部分合并,得到升级差分包,可以在校验升级差分包的安全性和准确性时,仅校验一个升级差分包,不需要校验两个差分部分,以此减少了校验成本和时间,提升了校验效率,也节省了文件传输资源。
实例2
图6示例性的示出了一种嵌入式设备的***升级的示意图,如图6所示,嵌入式设备在获取服务器发送的升级差分包之后,对其进行校验,验证升级差分包是否符合校验条件,以保证升级差分包未被不法分子篡改,避免不法分子的攻击行为,保证了升级差分包的安全性和准确性。
在确定升级差分包符合校验条件之后,根据差分还原工具,确定出芯片文件差分部分和资源文件差分部分,基于嵌入式设备***当前的基础版本,根据芯片文件差分部分和对应的还原算法确定出芯片文件升级部分,根据资源文件差分部分和对应的还原算法确定出资源文件升级部分,然后再根据芯片文件升级部分和资源文件升级部分确定出目标版本,最后根据还原出的目标版本,将自身的***文件从基础版本升级为目标版本。
本发明实施例中,针对不同的差分部分通过对应的还原算法得到升级部分,以此实现基于内容差分得到的升级部分可以避免因差分文件过大导致的还原时间过长,基于文件差分得到的升级部分可以避免因差分文件所需还原位置过多导致的还原效率过低,从而提升了***版本还原的效率,降低了***版本还原的时间。
基于相同的技术构思,图7示例性的示出了本发明实施例提供的一种嵌入式设备的***升级装置的结构示意图,该装置可以执行上述嵌入式设备的***升级方法的流程。
如图7所示,该装置具体包括:
获取模块710,用于获取升级差分包;所述升级差分包是基于第一***版本和第二***版本之间的差异确定的;
处理模块720,用于从所述升级差分包中确定出第一差分部分和第二差分部分;所述第一差分部分是通过内容差分得到的;所述第二差分部分是根据文件差分得到的;
基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分;
根据所述第一升级部分和所述第二升级部分,将所述嵌入式设备的***文件从所述第一***版本升级为所述第二***版本。
可选的,所述处理模块720具体用于:
基于所述第一差分部分,根据第一还原算法得到所述第一升级部分;所述第一还原算法为基于内容差分的还原算法;
基于所述第二差分部分,根据第二还原算法得到所述第二升级部分;所述第二还原算法为基于文件差分的还原算法。
可选的,所述处理模块720具体用于:
获取升级差分包之后,从所述升级差分包中确定出第一差分部分和第二差分部分之前,校验通过所述升级差分包。
基于相同的技术构思,图8示例性的示出了本发明实施例提供的一种升级差分包的生成装置的结构示意图,该装置可以执行上述升级差分包的生成方法的流程。
如图8所示,该装置具体包括:
拆分单元810,用于从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件;
从所述嵌入式设备的第二***版本的各文件中确定出第二芯片文件和第二资源文件;
处理单元820,用于对所述第一芯片文件和所述第二芯片文件执行内容差分,得到第一差分部分;
对所述第一资源文件和所述第二资源文件执行文件差分,得到第二差分部分;
根据所述第一差分部分和所述第二差分部分确定出升级差分包。
可选的,所述处理单元820具体用于:
根据所述嵌入式设备的第一***版本中各文件的格式,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件;或根据所述嵌入式设备的第一***版本中各文件的资源大小,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件。
可选的,所述处理单元820具体用于:
根据预设编程语言,将所述第一差分部分和所述第二差分部分合并,确定出所述升级差分包。
基于相同的技术构思,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述嵌入式设备的***升级方法或上述升级差分包的生成方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述嵌入式设备的***升级方法或上述升级差分包的生成方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种嵌入式设备的***升级方法,其特征在于,包括:
嵌入式设备获取升级差分包;所述升级差分包是基于第一***版本和第二***版本之间的差异确定的;
所述嵌入式设备从所述升级差分包中确定出第一差分部分和第二差分部分;所述第一差分部分是通过内容差分得到的;所述第二差分部分是根据文件差分得到的;
所述嵌入式设备基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分;
所述嵌入式设备根据所述第一升级部分和所述第二升级部分,将所述嵌入式设备的***文件从所述第一***版本升级为所述第二***版本。
2.如权利要求1所述的方法,其特征在于,所述嵌入式设备基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分,包括:
所述嵌入式设备基于所述第一差分部分,根据第一还原算法得到所述第一升级部分;所述第一还原算法为基于内容差分的还原算法;
所述嵌入式设备基于所述第二差分部分,根据第二还原算法得到所述第二升级部分;所述第二还原算法为基于文件差分的还原算法。
3.如权利要求1所述的方法,其特征在于,所述嵌入式设备获取升级差分包之后,所述嵌入式设备从所述升级差分包中确定出第一差分部分和第二差分部分之前,还包括:
所述嵌入式设备校验通过所述升级差分包。
4.一种升级差分包的生成方法,其特征在于,包括:
服务器从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件;
所述服务器从所述嵌入式设备的第二***版本的各文件中确定出第二芯片文件和第二资源文件;
所述服务器对所述第一芯片文件和所述第二芯片文件执行内容差分,得到第一差分部分;
所述服务器对所述第一资源文件和所述第二资源文件执行文件差分,得到第二差分部分;
所述服务器根据所述第一差分部分和所述第二差分部分确定出升级差分包。
5.如权利要求4所述的方法,其特征在于,服务器从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件,包括:
所述服务器根据所述嵌入式设备的第一***版本中各文件的格式,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件;或
根据所述嵌入式设备的第一***版本中各文件的资源大小,从所述第一***版本的各文件确定出第一芯片文件和第一资源文件。
6.如权利要求4所述的方法,其特征在于,所述服务器根据所述第一差分部分和所述第二差分部分确定出升级差分包,包括:
所述服务器根据预设编程语言,将所述第一差分部分和所述第二差分部分合并,确定出所述升级差分包。
7.一种嵌入式设备的***升级装置,其特征在于,包括:
获取模块,用于获取升级差分包;所述升级差分包是基于第一***版本和第二***版本之间的差异确定的;
处理模块,用于从所述升级差分包中确定出第一差分部分和第二差分部分;所述第一差分部分是通过内容差分得到的;所述第二差分部分是根据文件差分得到的;
基于所述第一差分部分得到第一升级部分,并基于所述第二差分部分得到第二升级部分;
根据所述第一升级部分和所述第二升级部分,将所述嵌入式设备的***文件从所述第一***版本升级为所述第二***版本。
8.一种升级差分包的生成装置,其特征在于,包括:
拆分单元,用于从嵌入式设备的第一***版本的各文件中确定出第一芯片文件和第一资源文件;
从所述嵌入式设备的第二***版本的各文件中确定出第二芯片文件和第二资源文件;
处理单元,用于对所述第一芯片文件和所述第二芯片文件执行内容差分,得到第一差分部分;
对所述第一资源文件和所述第二资源文件执行文件差分,得到第二差分部分;
根据所述第一差分部分和所述第二差分部分确定出升级差分包。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至3或4至6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至3或4至6中任一项所述的方法。
CN202110291404.0A 2021-03-18 2021-03-18 一种嵌入式设备的***升级方法及装置 Pending CN112925553A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110291404.0A CN112925553A (zh) 2021-03-18 2021-03-18 一种嵌入式设备的***升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110291404.0A CN112925553A (zh) 2021-03-18 2021-03-18 一种嵌入式设备的***升级方法及装置

Publications (1)

Publication Number Publication Date
CN112925553A true CN112925553A (zh) 2021-06-08

Family

ID=76175834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110291404.0A Pending CN112925553A (zh) 2021-03-18 2021-03-18 一种嵌入式设备的***升级方法及装置

Country Status (1)

Country Link
CN (1) CN112925553A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018093A (ko) * 2004-06-10 2007-02-13 삼성전자주식회사 무선 네트워크에서의 오버-더-에어 업그레이드용 델타파일의 효율적 생성 장치 및 방법
CN101002406A (zh) * 2004-06-10 2007-07-18 三星电子株式会社 高效生成用于无线网络中的空中下载升级的增量文件的装置和方法
CN106293793A (zh) * 2015-06-02 2017-01-04 西安中兴新软件有限责任公司 一种终端的软件升级方法、装置和***
CN106919382A (zh) * 2017-01-22 2017-07-04 百度在线网络技术(北京)有限公司 用于生成应用更新包的方法和装置
CN110837393A (zh) * 2019-11-14 2020-02-25 北京知道创宇信息技术股份有限公司 一种固件差分升级包的制作方法及装置、可读存储介质
US20200133656A1 (en) * 2018-10-30 2020-04-30 Walmart Apollo, Llc Systems and methods for differential bundle updates
CN111580851A (zh) * 2020-06-24 2020-08-25 腾讯科技(深圳)有限公司 一种数据管理的方法以及相关装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018093A (ko) * 2004-06-10 2007-02-13 삼성전자주식회사 무선 네트워크에서의 오버-더-에어 업그레이드용 델타파일의 효율적 생성 장치 및 방법
CN101002406A (zh) * 2004-06-10 2007-07-18 三星电子株式会社 高效生成用于无线网络中的空中下载升级的增量文件的装置和方法
CN106293793A (zh) * 2015-06-02 2017-01-04 西安中兴新软件有限责任公司 一种终端的软件升级方法、装置和***
CN106919382A (zh) * 2017-01-22 2017-07-04 百度在线网络技术(北京)有限公司 用于生成应用更新包的方法和装置
US20200133656A1 (en) * 2018-10-30 2020-04-30 Walmart Apollo, Llc Systems and methods for differential bundle updates
CN110837393A (zh) * 2019-11-14 2020-02-25 北京知道创宇信息技术股份有限公司 一种固件差分升级包的制作方法及装置、可读存储介质
CN111580851A (zh) * 2020-06-24 2020-08-25 腾讯科技(深圳)有限公司 一种数据管理的方法以及相关装置

Similar Documents

Publication Publication Date Title
CN111382463B (zh) 基于流数据的区块链***及方法
CN106484453B (zh) 一种实现***升级的方法及装置
CN112000355B (zh) 用于固件升级的方法及装置、家电设备
CN105389177A (zh) 一种软件版本确认方法、装置及***
CN104052818A (zh) 一种移动终端的版本升级方法及装置
CN105573785A (zh) 一种差分包的制作方法及装置
CN112286565B (zh) 一种基于存储容器的嵌入式***差分升级方法
CN110417828A (zh) 一种物联网终端的升级方法和装置
CN110659905A (zh) 交易验证方法、装置、终端设备以及存储介质
CN110989934B (zh) 区块链节点数据存储方法、区块链***及区块链节点
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
CN112132574A (zh) 区块链数据校验方法、数据处理方法、装置及设备
CN108133026B (zh) 一种多数据的处理方法、***及存储介质
CN111045856A (zh) 用于管理应用***的方法、设备和计算机程序产品
CN112579141A (zh) 一种嵌入式***的固件更新方法、装置、设备及存储介质
CN106293814B (zh) 升级方法及装置
CN113849859A (zh) Linux内核的修改方法、终端设备和存储介质
CN112925553A (zh) 一种嵌入式设备的***升级方法及装置
CN110674511A (zh) 基于椭圆曲线加密算法的离线数据保护方法及***
CN109871227B (zh) 一种基于二阶差分增量的软件升级方法及装置
CN107395772B (zh) 一种重复数据的管理方法及管理***
CN113609215A (zh) 数据处理方法、装置、设备与计算机可读存储介质
CN110825406A (zh) 一种软件升级的方法及相关设备
CN113824757B (zh) 数据获取方法、***和计算机可读存储介质
CN111740817A (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