CN106843956B - 系统固件包的生成方法及装置 - Google Patents

系统固件包的生成方法及装置 Download PDF

Info

Publication number
CN106843956B
CN106843956B CN201710032061.XA CN201710032061A CN106843956B CN 106843956 B CN106843956 B CN 106843956B CN 201710032061 A CN201710032061 A CN 201710032061A CN 106843956 B CN106843956 B CN 106843956B
Authority
CN
China
Prior art keywords
list
difference
updated
file
public
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
Application number
CN201710032061.XA
Other languages
English (en)
Other versions
CN106843956A (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 CN201710032061.XA priority Critical patent/CN106843956B/zh
Publication of CN106843956A publication Critical patent/CN106843956A/zh
Application granted granted Critical
Publication of CN106843956B publication Critical patent/CN106843956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

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

本发明公开了一种系统固件包的生成方法及装置,属于计算机技术领域。所述方法包括:获取待升级产品族中N种不同类型的产品的系统源码,从该N种不同类型的产品的系统源码中提取出公共源码和N组差异源码,其中,该N组差异源码与该N种不同类型的产品一一对应;分别对该公共源码和该N组差异源码进行编译,得到至少一个待更新的公共文件以及N个差异文件组,其中每个差异文件组中包括至少一个待更新的差异文件;根据该至少一个待更新的公共文件以及该N个差异文件组,生成系统固件包。由于该系统固件包可以用于对N种不同类型的产品进行系统固件升级,因此能够提高系统固件包的生成效率,降低服务器一侧的负载。

Description

系统固件包的生成方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种系统固件包的生成方法及装置。
背景技术
系统固件包是一种用于对设备操作系统中的固件进行升级的文件包。其中,固件一般存储于设备中的电可擦除只读存储器或闪存芯片中,通过对设备操作系统中的固件进行升级,能够有效改善设备操作系统的性能。
相关技术中,系统固件包一般采用无线下载(Over the Air,简称为OTA)升级包。在生成某个产品的系统固件包时,开发人员可以先获取该产品的系统源码,然后对该系统源码进行编译得到OTA中间包,再根据该OTA中间包生成OTA升级包。最后将该OTA升级包上传至服务器中,以供用户自行下载升级。
但是,对于不同类型的产品,开发人员需要针对每一种产品分别生成系统固件包,并上传至服务器,该系统固件包的生成效率较低,服务器的负载较大。
发明内容
为了解决相关技术中的问题,本发明提供了一种系统固件包的生成方法及装置,通过该方法可以对产品族中N种不同类型的产品生成一个系统固件包,由此提高了系统固件包的生成效率,降低了服务器的负载。
本发明实施方式的第一方面,提供了一种系统固件包的生成方法,所述方法包括:
获取待升级产品族中N种不同类型的产品的系统源码,所述N为大于1的整数;
从所述N种不同类型的产品的系统源码中提取出公共源码和N组差异源码,其中,所述N组差异源码与所述N种不同类型的产品一一对应;
分别对所述公共源码和所述N组差异源码进行编译,得到至少一个待更新的公共文件以及N个差异文件组,其中每个差异文件组中包括至少一个待更新的差异文件,且每个差异文件组对应一种类型的产品;
根据所述至少一个待更新的公共文件以及所述N个差异文件组,生成系统固件包。
本发明实施方式的第二方面,提供了一种系统固件包的生成装置,所述装置包括:
获取模块,用于获取待升级产品族中N种不同类型的产品的系统源码,所述N为大于1的整数;
提取模块,用于从所述N种不同类型的产品的系统源码中提取出公共源码和N组差异源码,其中,所述N组差异源码与所述N种不同类型的产品一一对应;
编译模块,用于分别对所述公共源码和所述N组差异源码进行编译,得到至少一个待更新的公共文件以及N个差异文件组,其中每个差异文件组中包括至少一个待更新的差异文件,且每个差异文件组对应一种类型的产品;
生成模块,用于根据所述至少一个待更新的公共文件以及所述N个差异文件组,生成系统固件包。
本发明提供的技术方案带来的有益效果包括:
本发明提供了一种系统固件包的生成方法及装置,可以从产品族中N种不同类型的产品的系统源码中提取出出公共源码和N组差异源码,并对该公共源码和N组差异源码进行编译处理后,生成一个系统固件包。由于该系统固件包可以用于对N种不同类型的产品进行系统固件升级,因此能够提高系统固件包的生成效率,降低服务器一侧的负载。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一种实施方式的系统固件包的生成方法的流程图;
图2是根据本发明一种实施方式的生成差异列表的方法流程图;
图3是根据本发明一种实施方式的系统固件包的生成装置的结构示意图;
图4是根据本发明另一种实施方式的系统固件包的生成装置的结构示意图;
图5是根据本发明一种实施方式的生成模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是根据本发明一种实施方式的系统固件包的生成方法的流程图,参考图1,该方法可以包括:
步骤101、获取待升级产品族中N种不同类型的产品的系统源码。
其中,该N为大于1的整数。该待升级的产品族中的N种不同类型的产品可以为:基于同一基型产品进行开发得到的同族产品。也即是,该产品族中的N种不同类型的产品的基础功能相同,产品制造商通过在基型产品的基础上添加不同的个性模块,得到了能够满足不同客户个性化需求的该N种不同类型的产品。例如,型号相同但尺寸不同的多个智能电视可以属于同族产品,该不同尺寸的智能电视的大部分功能是相同的,但由于尺寸的不同,导致一些配置信息和参数信息存在差异。再比如,对于同一型号的智能手机,根据其屏幕生产商、相机模组或者通信模块所支持的运营商的不同,也可以将该同一型号的智能手机进一步划分为多种不同类型的产品。
假设同族产品中包括A1、A2和A3三款产品,相关技术中的系统固件包的生成方法为:开发人员分别下载A1、A2和A3三款产品的项目的工程(即系统源码),并分别对三款产品的系统源码进行编译,获取相应的中间包,再根据各自的中间包制作系统固件包;之后,运营人员需要在服务器中上传每个产品对应的系统固件包,并进行策略配置等一系列的操作。从上述流程可以看出,无论是系统固件包的生成还是后期的运营,都会执行大量重复的操作步骤,而且服务器要配置数量众多的系统固件包,导致服务器的负载较重。
而在本发明实施例中,开发人员在确定待升级产品族中所包括的N种不同类型的产品后,可以获取每种类型的产品的系统源码,并以该整个产品族为单位,制作生成一个系统固件包,由此极大提高了系统固件包的生成效率,降低了服务器的负载。其中,该系统源码可以是由芯片商直接提供的,也可以是由开发人员在芯片商提供的源码的基础上进行二次开发后得到的,本发明实施例对此不做限定。
步骤102、从该N种不同类型的产品的系统源码中提取出公共源码和N组差异源码。
进一步的,由于该N种不同类型的产品属于同族产品,其大部分基础功能是相同的,因此不同类型的产品的系统源码中对应该相同功能部分的代码也是相同的。因此可以根据每种类型的产品的特性,从N种不同类型的产品的系统源码中,提取出公共源码和N组差异源码,该N组差异源码与该N种不同类型的产品一一对应。其中公共源码是产品族中共性的部分,各个类型的产品之间没有差异;差异源码则是由于产品硬件或者产品需求等的不同而导致的特性部分,例如,尺寸差异可以导致配置、属性等参数的代码存在差异,因此每种类型的产品对应一组差异源码。
示例的,假设待升级的产品族中包括两种类型的手机,该两种类型的手机的区别在于相机模组的生产厂商不同,其中一种类型的手机的相机模组是由厂商brand1生产的,另一种类型的手机的相机模组是由厂商brand2生产的。则开发人员在获取到该两种类型的手机的系统源码后,可以将该两个手机的系统源码中,相同的部分作为公共源码,不同的部分分别作为每种类型的手机所对应的差异源码。
步骤103、分别对该公共源码和该N组差异源码进行编译,得到至少一个待更新的公共文件以及N个差异文件组。
在本发明实施例中,可以根据预设的编译流程对该公共源码进行编译,得到至少一个待更新的公共文件,并分别对该N组差异源码中的每组差异源码进行编译,得到N个差异文件组,其中每个差异文件组中包括至少一个待更新的差异文件,且每个差异文件组对应一种类型的产品。
示例的,可以通过Makefile(一种编译规则)编译流程分别对该公共源码和N组差异源码进行编译。为了区分不同类型的产品所对应的差异文件组,可以在每个待更新的差异文件的文件名中携带其对应的产品的类型信息。该类型信息可以为产品的尺寸或者某个模组的制造厂商的名称等。
例如,对于采用不同相机模组的手机,由于相机模组所对应的待更新文件主要包括驱动文件boot.img,以及相关库文件libcamera_client.so,因此为了区分不同类型的手机对应的差异文件组,可以通过相机模组的厂商名对该待更新的驱动文件和相关库文件进行命名,进而得到如表1所示的两个差异文件组。其中,差异文件组1对应brand1类型的手机,其所采用的相机模组是由厂商brand1生产的,因此,该差异文件组1中的每个待更新的差异文件的文件名中都携带有该厂商brand1的名称:brand1。差异文件组2对应brand2类型的手机,其所采用的相机模组是由厂商brand2生产的。
表1
Figure BDA0001212043170000051
步骤104、将该至少一个待更新的公共文件,以及该N个差异文件组中的待更新的差异文件均压缩成中间包。
进一步的,可以根据预设的压缩算法,将该至少一个待更新的公共文件,以及该N个差异文件组中的待更新的差异文件均压缩成中间包,以用于后续生成系统固件。其中,该中间包可以为OTA中间包。
步骤105、将该中间包中的至少一个待更新的公共文件记录在一个公共列表中。
在本发明实施例中,开发人员可以先加载该OTA中间包中的各个待更新的文件(包括公共文件和差异文件),然后以该开发平台的分区(例如系统分区和数据分区)为单位分别加载并解析不同分区中的待更新文件。之后,可以将该多个待更新文件中的至少一个待更新的公共文件记录在一个公共列表中。为了后续在生成系统固件包时区分各个列表,可以通过该公共列表的第一个成员记录该公共列表的列表类型。示例的,可以将该公共列表的第一成员记为“public”。
步骤106、将该中间包中每个差异文件组中的至少一个待更新的差异文件记录在一个差异列表中,得到N个差异列表。
相应的,该N个差异列表中的每个差异列表对应一种类型的产品。图2是根据本发明一种实施方式的生成差异列表的方法流程图,参考图2,该方法具体可以包括:
步骤1061、获取第一差异文件组所对应的产品类型。
该第一差异文件组可以为该N个差异文件组中的任一组。在本发明实施例中,可以根据该差异文件组中至少一个待更新的差异文件的文件名确定其所对应的产品类型。示例的,假设已获取到的两个差异文件组如表1所示,则对于差异文件组1,由于其中每个待更新的差异文件的文件名中都携带有厂商brand1的名称,因此可以确定该差异文件组1所对应的手机类型为brand1。
步骤1062、将该产品类型作为第一差异列表的列表标识记录在该第一差异列表中。
为了对该各个差异列表进行区分,可以将每个差异列表对应的产品类型确定为该差异列表的列表标识,并将该列表标识记录在该差异列表的第一个成员中。示例的,可以将brand1作为差异文件组1对应的差异列表的列表标识,并将该差异列表中的第一个成员记为“brand1”。
步骤1063、将该第一差异文件组中的每个待更新的差异文件记录在该第一差异列表中。
进一步的,可以将每个差异文件组中的至少一个待更新的差异文件依次记录在其所对应的差异列表中。示例的,根据表1所示的两个差异文件组,一共可以得到两个差异列表,该两个差异列表中记录的第一个成员分别为“brand1”和“brand2”。其中,列表标识为“brand1”的差异列表中记录有差异文件组1中的至少一个待更新的差异文件,列表标识为“brand2”的差异列表中记录有差异文件组2中的至少一个待更新的差异文件。
步骤107、依次检测N+1个列表中每个列表的列表类型。
通过上述步骤105和步骤106,一共可以得到N+1个列表,该N+1个列表包括一个公共列表和N个差异列表。进一步的,可以依次对该N+1个列表的列表类型进行检测,该列表类型可以包括公共列表类型和差异列表类型。当某个列表的列表类型为公共列表类型时,可以执行步骤108;当某个列表的列表类型为差异列表类型时,可以执行步骤109。
示例的,在本发明实施例中,可以依次对每个列表中的每个文件进行遍历,并根据每个列表的列表标识(即列表中的第一个成员)确定该列表的列表类型。当某个列表的列表标识属于预设的公共标识(例如public)时,可以确定该列表的列表类型为公共列表类型;当某个列表的列表标识不属于预设的公共标识或者属于预设的差异标识(例如brand1或brand2)时,可以确定该列表的列表类型为差异列表类型。
步骤108、当第一列表的列表类型为公共列表类型时,将该第一列表中的至少一个待更新的公共文件添加到系统固件包中,并生成第一升级指令。
其中,该第一列表可以为该N+1个列表中的任一列表。示例的,假设第一列表中记录的第一个成员为“public”,则可以确定该第一列表的列表类型为公共列表类型,并将该公共列表中的至少一个待更新的公共文件添加到系统固件包中,同时生成用于指示对该至少一个待更新的公共文件进行升级的第一升级指令。
步骤109、当第一列表的列表类型为差异列表类型时,将该第一列表中的至少一个待更新的差异文件添加到系统固件包中,并生成第二升级指令和第三升级指令。
当第一列表的列表类型为差异列表类型时,可以先获取该第一列表的列表标识,并根据该列表标识,生成第二升级指令;之后,可以将该第一列表中的每个待更新的差异文件依次添加到系统固件包中,并生成针对每个待更新的差异文件的子升级指令。
其中,该第二升级指令用于指示获取设备的类型信息,当该设备的类型信息与该第一列表的列表标识相匹配时,执行该第三升级指令,该第三升级指令可以包括至少一个子升级指令,每个子升级指令用于指示对该第一列表中的一个待更新的差异文件进行升级。
示例的,假设当前遍历到的列表为列表标识为“brand1”的差异列表,由于该列表中的第一个成员为“brand1”,而非预设的公共标识“public”,因此可以确定该列表为差异列表。之后,可以根据该列表标识“brand1”,生成第二升级指令。进一步的,可以依次遍历该列表中的待更新的差异文件,每遍历到一个待更新的差异文件,则将其添加到系统固件包中,同时生成一条用于升级该待更新的差异文件的子升级指令;当遍历到该列表中的中的最后一个待更新的差异文件时,可以先生成针对该最后一个差异文件的子升级指令,然后再生成一个结束指令,该结束指令用于指示升级结束。
当完成对所有N+1个列表的遍历,将该N+1个列表中每个列表中的待更新文件以及相关的指令均添加至系统固件包后,即可将该系统固件包上传至服务器以供用户下载升级。由于该一个系统固件包即可支持产品族中N种不同类型的产品的系统固件升级,因此极大提高了系统固件包的生成效率,减小了服务器的负载。
当某个设备下载该系统固件包后,可以根据该系统固件包中的第一升级指令,升级该至少一个待更新的公共文件,并根据每个差异列表对应的第二升级指令,获取设备的类型信息,当该设备的类型信息与任一列表的列表标识相匹配时,则设备可以在相应的第二升级指令和第三升级指令的指示下,对该列表中的至少一个待更新的差异文件进行升级。
需要说明的是,该第一至第三升级指令可以记录在该系统固件包的升级引导脚本(script)中,该系统固件包中还可以包括脚本解析器,设备下载该系统固件包后,可以通过该脚本解析器对升级引导脚本中的指令进行解析,以完成相关的升级操作。
还需要说明的是,本发明实施例提供的系统固件包的生成方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如步骤105和步骤106可以同时执行。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
综上所述,本发明实施例提供了一种系统固件包的生成方法,可以从产品族中N种不同类型的产品的系统源码中提取出出公共源码和N组差异源码,并对该公共源码和N组差异源码进行编译处理后,生成一个系统固件包。由于该系统固件包可以用于对N种不同类型的产品进行系统固件升级,因此能够提高系统固件包的生成效率,降低服务器一侧的负载。
图3是根据本发明一种实施方式的一种系统固件包的生成装置的结构示意图,参考图3,该装置可以包括:
获取模块201,用于获取待升级产品族中N种不同类型的产品的系统源码,该N为大于1的整数。
提取模块202,用于从该N种不同类型的产品的系统源码中提取出公共源码和N组差异源码,其中,该N组差异源码与该N种不同类型的产品一一对应。
编译模块203,用于分别对该公共源码和该N组差异源码进行编译,得到至少一个待更新的公共文件以及N个差异文件组,其中每个差异文件组中包括至少一个待更新的差异文件,且每个差异文件组对应一种类型的产品。
生成模块204,用于根据该至少一个待更新的公共文件以及该N个差异文件组,生成系统固件包。
进一步的,参考图4,该装置还可以包括:
压缩模块205,用于将该至少一个待更新的公共文件,以及该N个差异文件组中的待更新的差异文件均压缩成中间包。
第一记录模块206,用于将该中间包中的至少一个待更新的公共文件记录在一个公共列表中。
第二记录模块207,用于将该中间包中每个差异文件组中的至少一个待更新的差异文件记录在一个差异列表中,得到N个差异列表。
可选的,该第二记录模块207将该中间包中每个差异文件组中的至少一个待更新的差异文件记录在一个差异列表中,具体可以包括:
获取第一差异文件组所对应的产品类型,该第一差异文件组为该N个差异文件组中的任一组;
将该产品类型作为第一差异列表的列表标识记录在该第一差异列表中;
将该第一差异文件组中的每个待更新的差异文件记录在该第一差异列表中。
可选的,参考图5,该生成模块204可以包括:
检测子模块2041,用于依次检测N+1个列表中每个列表的列表类型,该列表类型包括公共列表类型和差异列表类型。
第一处理子模块2042,用于当第一列表的列表类型为公共列表类型时,将该第一列表中的至少一个待更新的公共文件添加到系统固件包中,并生成第一升级指令,该第一升级指令用于指示对该至少一个待更新的公共文件进行升级,该第一列表为该N+1个列表中的任一列表。
第二处理子模块2043,用于当第一列表的列表类型为差异列表类型时,将该第一列表中的至少一个待更新的差异文件添加到系统固件包中,并生成第二升级指令和第三升级指令,该第二升级指令用于指示获取设备的类型信息,当该设备的类型信息与该第一列表的列表标识相匹配时,执行该第三升级指令,该第三升级指令用于指示对该至少一个待更新的差异文件进行升级。
可选的,该第三升级指令包括至少一个子升级指令,每个子升级指令用于指示对一个待更新的差异文件进行升级;该第二处理子模块2043具体用于:
当第一列表的列表类型为差异列表类型时,获取该第一列表的列表标识;
根据该列表标识,生成该第二升级指令;
将该第一列表中的每个待更新的差异文件依次添加到系统固件包中,并生成针对每个待更新的差异文件的子升级指令。
综上所述,本发明实施例提供了一种系统固件包的生成装置,可以从产品族中N种不同类型的产品的系统源码中提取出出公共源码和N组差异源码,并对该公共源码和N组差异源码进行编译处理后,生成一个系统固件包。由于该系统固件包可以用于对N种不同类型的产品进行系统固件升级,因此能够提高系统固件包的生成效率,降低服务器一侧的负载。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种系统固件包的生成方法,其特征在于,所述方法包括:
获取待升级产品族中N种不同类型的产品的系统源码,所述N为大于1的整数;
从所述N种不同类型的产品的系统源码中提取出公共源码和N组差异源码,其中,所述N组差异源码与所述N种不同类型的产品一一对应;
分别对所述公共源码和所述N组差异源码进行编译,得到至少一个待更新的公共文件以及N个差异文件组,其中每个差异文件组中包括至少一个待更新的差异文件,每个差异文件组对应一种类型的产品,每个待更新的差异文件的文件名中携带对应的产品的类型信息;
将所述至少一个待更新的公共文件,以及所述N个差异文件组中的待更新的差异文件均压缩成中间包;
将所述中间包中的至少一个待更新的公共文件记录在一个公共列表中,所述公共列表中的第一个成员记录有所述公共列表的列表标识;
将所述中间包中每个差异文件组中的至少一个待更新的差异文件记录在一个差异列表中,得到N个差异列表,每个所述差异列表中的第一个成员记录有所述差异列表对应的列表标识;
根据所述公共列表和所述N个差异列表,生成系统固件包。
2.根据权利要求1所述的方法,其特征在于,将所述中间包中每个差异文件组中的至少一个待更新的差异文件记录在一个差异列表中,包括:
获取第一差异文件组所对应的产品类型,所述第一差异文件组为所述N个差异文件组中的任一组;
将所述产品类型作为第一差异列表的列表标识记录在所述第一差异列表中;
将所述第一差异文件组中的每个待更新的差异文件记录在所述第一差异列表中。
3.根据权利要求1或2所述的方法,其特征在于,根据所述公共列表和所述N个差异列表,生成系统固件包,包括:
依次检测N+1个列表中每个列表的列表类型,所述列表类型包括公共列表类型和差异列表类型;
当第一列表的列表类型为公共列表类型时,将所述第一列表中的至少一个待更新的公共文件添加到系统固件包中,并生成第一升级指令,所述第一升级指令用于指示对所述至少一个待更新的公共文件进行升级,所述第一列表为所述N+1个列表中的任一列表;
当第一列表的列表类型为差异列表类型时,将所述第一列表中的至少一个待更新的差异文件添加到系统固件包中,并生成第二升级指令和第三升级指令,所述第二升级指令用于指示获取设备的类型信息,当所述设备的类型信息与所述第一列表的列表标识相匹配时,执行所述第三升级指令,所述第三升级指令用于指示对所述至少一个待更新的差异文件进行升级。
4.根据权利要求3所述的方法,其特征在于,所述第三升级指令包括至少一个子升级指令,每个子升级指令用于指示对一个待更新的差异文件进行升级;
当第一列表的列表类型为差异列表类型时,将所述第一列表中的至少一个待更新的差异文件添加到系统固件包中,并生成第二升级指令和第三升级指令,包括:
当第一列表的列表类型为差异列表类型时,获取所述第一列表的列表标识;
根据所述列表标识,生成所述第二升级指令;
将所述第一列表中的每个待更新的差异文件依次添加到系统固件包中,并生成针对每个待更新的差异文件的子升级指令。
5.一种系统固件包的生成装置,其特征在于,所述装置包括:
获取模块,用于获取待升级产品族中N种不同类型的产品的系统源码,所述N为大于1的整数;
提取模块,用于从所述N种不同类型的产品的系统源码中提取出公共源码和N组差异源码,其中,所述N组差异源码与所述N种不同类型的产品一一对应;
编译模块,用于分别对所述公共源码和所述N组差异源码进行编译,得到至少一个待更新的公共文件以及N个差异文件组,其中每个差异文件组中包括至少一个待更新的差异文件,每个差异文件组对应一种类型的产品,每个待更新的差异文件的文件名中携带对应的产品的类型信息;
压缩模块,用于将所述至少一个待更新的公共文件,以及所述N个差异文件组中的待更新的差异文件均压缩成中间包;
第一记录模块,用于将所述中间包中的至少一个待更新的公共文件记录在一个公共列表中,所述公共列表中的第一个成员记录有所述公共列表的列表标识;
第二记录模块,用于将所述中间包中每个差异文件组中的至少一个待更新的差异文件记录在一个差异列表中,得到N个差异列表,每个所述差异列表中的第一个成员记录有所述差异列表对应的列表标识;
生成模块,用于根据所述公共列表和所述N个差异列表,生成系统固件包。
6.根据权利要求5所述的装置,其特征在于,所述第二记录模块将所述中间包中每个差异文件组中的至少一个待更新的差异文件记录在一个差异列表中,包括:
获取第一差异文件组所对应的产品类型,所述第一差异文件组为所述N个差异文件组中的任一组;
将所述产品类型作为第一差异列表的列表标识记录在所述第一差异列表中;
将所述第一差异文件组中的每个待更新的差异文件记录在所述第一差异列表中。
7.根据权利要求5或6所述的装置,其特征在于,所述生成模块包括:
检测子模块,用于依次检测N+1个列表中每个列表的列表类型,所述列表类型包括公共列表类型和差异列表类型;
第一处理子模块,用于当第一列表的列表类型为公共列表类型时,将所述第一列表中的至少一个待更新的公共文件添加到系统固件包中,并生成第一升级指令,所述第一升级指令用于指示对所述至少一个待更新的公共文件进行升级,所述第一列表为所述N+1个列表中的任一列表;
第二处理子模块,用于当第一列表的列表类型为差异列表类型时,将所述第一列表中的至少一个待更新的差异文件添加到系统固件包中,并生成第二升级指令和第三升级指令,所述第二升级指令用于指示获取设备的类型信息,当所述设备的类型信息与所述第一列表的列表标识相匹配时,执行所述第三升级指令,所述第三升级指令用于指示对所述至少一个待更新的差异文件进行升级。
8.根据权利要求7所述的装置,其特征在于,所述第三升级指令包括至少一个子升级指令,每个子升级指令用于指示对一个待更新的差异文件进行升级;所述第二处理子模块,用于:
当第一列表的列表类型为差异列表类型时,获取所述第一列表的列表标识;
根据所述列表标识,生成所述第二升级指令;
将所述第一列表中的每个待更新的差异文件依次添加到系统固件包中,并生成针对每个待更新的差异文件的子升级指令。
CN201710032061.XA 2017-01-17 2017-01-17 系统固件包的生成方法及装置 Active CN106843956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710032061.XA CN106843956B (zh) 2017-01-17 2017-01-17 系统固件包的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710032061.XA CN106843956B (zh) 2017-01-17 2017-01-17 系统固件包的生成方法及装置

Publications (2)

Publication Number Publication Date
CN106843956A CN106843956A (zh) 2017-06-13
CN106843956B true CN106843956B (zh) 2020-07-14

Family

ID=59124235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710032061.XA Active CN106843956B (zh) 2017-01-17 2017-01-17 系统固件包的生成方法及装置

Country Status (1)

Country Link
CN (1) CN106843956B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109819286A (zh) * 2018-12-28 2019-05-28 深圳市金锐显数码科技有限公司 多机型软件同步升级方法、装置及终端设备
CN111694580B (zh) * 2019-03-13 2023-03-10 杭州宏杉科技股份有限公司 存储设备升级及初始化的方法、装置、电子设备
CN114237724B (zh) * 2021-11-24 2024-03-12 珠海全视通信息技术有限公司 驱动动态加载方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722386A (zh) * 2012-05-28 2012-10-10 华为终端有限公司 生成无线固件升级包的方法和装置
CN103729210A (zh) * 2013-12-06 2014-04-16 广东欧珀移动通信有限公司 一种实现一个刷机包支持多种制式智能终端的方法及装置
CN104281471A (zh) * 2014-09-17 2015-01-14 天津云辰科技有限公司 多版本软件ota升级方法
CN105487907A (zh) * 2015-12-07 2016-04-13 青岛海信电器股份有限公司 一种差分包的制作方法和装置
CN105511911A (zh) * 2015-11-27 2016-04-20 青岛海信移动通信技术股份有限公司 系统固件升级包的生成方法及装置
CN105933150A (zh) * 2016-04-20 2016-09-07 努比亚技术有限公司 Ota升级方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938730B2 (en) * 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722386A (zh) * 2012-05-28 2012-10-10 华为终端有限公司 生成无线固件升级包的方法和装置
CN103729210A (zh) * 2013-12-06 2014-04-16 广东欧珀移动通信有限公司 一种实现一个刷机包支持多种制式智能终端的方法及装置
CN104281471A (zh) * 2014-09-17 2015-01-14 天津云辰科技有限公司 多版本软件ota升级方法
CN105511911A (zh) * 2015-11-27 2016-04-20 青岛海信移动通信技术股份有限公司 系统固件升级包的生成方法及装置
CN105487907A (zh) * 2015-12-07 2016-04-13 青岛海信电器股份有限公司 一种差分包的制作方法和装置
CN105933150A (zh) * 2016-04-20 2016-09-07 努比亚技术有限公司 Ota升级方法、装置及系统

Also Published As

Publication number Publication date
CN106843956A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN104991793B (zh) 一种用于应用程序分包的方法、装置以及系统
CN102073512B (zh) 一种java集群应用系统代码装载及升级装置和方法
CN105511911B (zh) 系统固件升级包的生成方法及装置
US20070294685A1 (en) Program upgrade system and method for ota-capable portable device
KR20180077265A (ko) 플러그인화 패키징 방법, 장치, 터미널 및 저장 매체
CN110377321A (zh) 应用程序升级的方法、装置、终端及存储介质
CN109814524B (zh) 一种车辆诊断方法、装置及系统
CN107632827B (zh) 应用的安装包的生成方法及装置
CN106843956B (zh) 系统固件包的生成方法及装置
CN105446769A (zh) 镜像文件升级处理方法、装置和终端设备
CN107632901A (zh) 一种应用程序运行异常的自修复方法及装置
CN104484201A (zh) 用于ios设备的软件工具开发包更新方法和装置
US20220244931A1 (en) Image file obtaining method and apparatus
CN112149035A (zh) 网站静态资源处理方法及装置
CN110750286A (zh) OTA升级Mbn的管理方法、装置、系统、设备和介质
CN111949303A (zh) 升级包处理方法、装置、电子设备及存储介质
CN112052037A (zh) 一种应用软件开发方法、装置、设备及介质
CN111767417A (zh) 应用图片的管理方法、装置、设备及存储介质
CN107291637A (zh) 在安卓系统中兼容多型号移动通信模块的方法和装置
CN114879985B (zh) 一种证书文件的安装方法、装置、设备及存储介质
CN111556127A (zh) 一种可穿戴设备升级方法及相关设备
CN110727456A (zh) 应用程序补丁包的下载方法、装置、设备及系统
CN112953721B (zh) 一种ipa文件的解析方法、装置、设备及存储介质
CN117492803B (zh) 一种智能门锁pcba软件升级方法及系统
CN107256163B (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
CP01 Change in the name or title of a patent holder
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.