书签 分享 收藏 举报 版权申诉 / 16

文件系统升级包制作方法、升级方法及装置、终端.pdf

  • 上传人:62****3
  • 文档编号:1738263
  • 上传时间:2018-07-08
  • 格式:PDF
  • 页数:16
  • 大小:1.06MB
  • 摘要
    申请专利号:

    CN201310690650.9

    申请日:

    2013.12.16

    公开号:

    CN104714819A

    公开日:

    2015.06.17

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 9/445申请日:20131216|||公开

    IPC分类号:

    G06F9/445

    主分类号:

    G06F9/445

    申请人:

    中兴通讯股份有限公司

    发明人:

    陈禧; 双建平; 张翀

    地址:

    518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

    优先权:

    专利代理机构:

    工业和信息化部电子专利中心11010

    代理人:

    梁军

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种文件系统升级包制作方法、升级方法及装置、终端,涉及通信技术领域,用以解决现有技术中FOTA不能对动态文件进行升级的弊端。所述制作方法包括:获取待升级文件系统中各个源文件的文件信息;根据各个所述源文件的文件信息确定与所述源文件对应的目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一;当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包;将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包。

    权利要求书

    权利要求书
    1.  一种文件系统升级包制作方法,其特征在于,包括:
    获取待升级文件系统中各个源文件的文件信息;
    根据各个所述源文件的文件信息确定与所述源文件对应的目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一;
    当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包;
    将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包。

    2.  根据权利要求1所述的方法,其特征在于,所述获取待升级文件系统中各个源文件的文件信息具体包括:
    通过读取配置文件获取所述待升级文件系统中各个源文件的文件信息。

    3.  根据权利要求1所述的方法,其特征在于,所述文件系统升级包包括包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,其中,每个所述目标文件的操作类型参数包含于各所述索引信息中。

    4.  根据权利要求3所述的方法,其特征在于,所述将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包具体包括:
    将每个所述目标文件的操作类型写入对应的文件压缩包索引信息或文件差分包索引信息;
    将各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息打包形成文件系统升级包,其中,所述索引信息位于所述包体的前半部分,所述数据信息位于所述包体的后半部分。

    5.  根据权利要求3所述的方法,其特征在于,所述包体还包括删除指示信息,用于指示将对应的源文件删除。

    6.  一种文件系统升级方法,其特征在于,包括:
    解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一,所述文件系统升级包包括文件压缩包和文件差分包,每个所述目标文件与一个文件压缩包或者一个文件差分包相对应;
    当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级;
    当所述目标文件的操作类型为静态类型时,将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级。

    7.  根据权利要求6所述的方法,其特征在于,所述解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型具体包括:
    对所述文件系统升级包拆包,分离出包头和包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中;
    通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型。

    8.  根据权利要求7所述的方法,其特征在于,所述对所述文件系统升级包拆包,分离出包头和包体之后,所述通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型之前,所述方法还包括:
    利用所述包头中的升级包校验码对所述文件系统升级包进行校验,以确定所述文件系统升级包是否被正确下载。

    9.  根据权利要求6所述的方法,其特征在于,所述当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级具体包括:
    对所述目标文件对应的文件压缩包解压缩形成目标文件;
    利用所述索引信息中的目标文件校验码对形成的所述目标文件进行校验;
    如果校验通过,用所述目标文件代替源文件完成升级,如果校验不通过,丢弃所述目标文件放弃升级。

    10.  一种文件系统升级包制作装置,其特征在于,包括:
    获取单元,用于获取待升级文件系统中各个源文件的文件信息;
    确定单元,用于根据所述获取单元获取的各个所述源文件的文件信息,确定与所述源文件对应的目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一;
    文件打包单元,用于当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包;
    文件系统打包单元,用于将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包。

    11.  根据权利要求10所述的装置,其特征在于,所述获取单元,具体用于通过读取配置文件获取所述待升级文件系统中各个源文件的文件信息。

    12.  根据权利要求10所述的装置,其特征在于,所述文件系统升级包包括包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中。

    13.  根据权利要求12所述的装置,其特征在于,所述文件系统打包单元具体包括:
    写入模块,用于将每个所述目标文件的操作类型写入对应的文件压缩包索引信息或文件差分包索引信息;
    打包模块,用于将各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息打包形成文件系统升级包,其中,所述索引信息位于所述包体的前半部分,所述数据信息位于所述包体的后半部分。

    14.  根据权利要求12所述的装置,其特征在于,所述包体还包括删除指示信息,用于指示将对应的源文件删除。

    15.  一种文件系统升级装置,其特征在于,包括:
    解析单元,用于解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一,所述文件系统升级包包括文件压缩包和文件差分包,每个所述目标文件与一个文件压缩包或者一个文件差分包相对应;
    解压缩单元,用于当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级;
    还原单元,用于当所述目标文件的操作类型为静态类型时,将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级。

    16.  根据权利要求15所述的装置,其特征在于,所述解析单元包括:
    拆包模块,用于对所述文件系统升级包拆包,分离出包头和包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中;
    确定模块,用于通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型。

    17.  根据权利要求16所述的装置,其特征在于,还包括:
    升级包校验模块,用于利用所述包头中的升级包校验码对所述文件系统升级包进行校验,以确定所述文件系统升级包是否被正确下载。

    18.  根据权利要求15所述的装置,其特征在于,所述解压缩单元具体包括:
    解压缩模块,用于对所述目标文件对应的文件压缩包解压缩形成目标文件;
    目标文件校验模块,用于利用所述索引信息中的目标文件校验码对所述解 压缩模块解压缩后形成的所述目标文件进行校验;
    升级模块,用于如果所述目标文件校验模块校验通过,用所述目标文件代替源文件完成升级,如果校验不通过,丢弃所述目标文件放弃升级。

    19.  一种终端,其特征在于,所述终端包括权利要求15-18中任一项所述的文件系统升级装置。

    说明书

    说明书文件系统升级包制作方法、升级方法及装置、终端
    技术领域
    本发明涉及通信技术领域,特别是涉及一种文件系统升级包制作方法、升级方法及装置、终端。
    背景技术
    随着终端制造商发布新终端上市的节奏越来越快,上市终端的软件版本难免存在一些Bug或者亟待提高用户体验的部分,甚至会有一些致命故障亟待修复。一般可以采用FOTA(无线固件升级,Firmware Update Over the Air)方法对终端设备的软件进行升级,升级方案日渐丰富,升级需求也日趋复杂。其中,也包含了对文件系统(File System)的升级需求。
    目前业界基于FOTA技术进行文件系统升级的方法,都是采用差分升级的方式。即,在提供升级包时,需要在待升级的原文件系统和升级后形成的目标文件系统之间,通过某种差分算法生成差分升级包,在终端设备的实际升级过程中,利用该差分升级包将终端设备的原文件系统升级到目标文件系统。这样,由于升级包只涉及到两个版本文件系统之间有差异的部分,相同部分不纳入升级范围,使得制作出的升级包较小,能实现快速的下载和升级。
    然而,这种升级方法也存在着一个限制:由于是采用差分算法,只能在固定的原文件系统与目标文件系统之间进行升级。也就是说,当需要升级终端设备中某些动态文件(如最终用户可以通过菜单更改的默认网络制式、默认锁屏时长、默认浏览器接入点等配置项)时,由于源文件系统已经被用户更改,制作升级包的软件提供商或者服务器都不能确定源文件的具体状况,因此,也就不能针对源文件与目标文件的差别来使用差分算法制作出差分升级包,在很大程度上制约了可以通过FOTA方式进行的文件系统升级的范围。
    发明内容
    本发明要解决的技术问题是提供一种文件系统升级包制作方法、升级方法及装置、终端,用以解决现有技术中FOTA不能对动态文件进行升级的弊端。
    为达上述目的,一方面,本发明提供一种文件系统升级包制作方法,包括:
    获取待升级文件系统中各个源文件的文件信息;根据各个所述源文件的文件信息确定与所述源文件对应的目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一;当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包;将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包。
    可选的,所述获取待升级文件系统中各个源文件的文件信息具体包括:通过读取配置文件获取所述待升级文件系统中各个源文件的文件信息。
    可选的,所述文件系统升级包包括包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,其中,每个所述目标文件的操作类型参数包含于各所述索引信息中。
    可选的,所述将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包具体包括:将每个所述目标文件的操作类型写入对应的文件压缩包索引信息或文件差分包索引信息;将各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息打包形成文件系统升级包,其中,所述索引信息位于所述包体的前半部分,所述数据信息位于所述包体的后半部分。
    可选的,所述包体还包括删除指示信息,用于指示将对应的源文件删除。
    另一方面,本发明还提供一种文件系统升级方法,包括:解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一,所述文件系统升级包包括文件压缩包和文件差分包,每个所述目标文件与一个文件压缩包或者一个文件差分包相对应;当所述目标文件的操作类型为动态类型或新增类型时,对所 述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级;当所述目标文件的操作类型为静态类型时,将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级。
    可选的,所述解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型具体包括:对所述文件系统升级包拆包,分离出包头和包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中;通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型。
    进一步的,所述对所述文件系统升级包拆包,分离出包头和包体之后,所述通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型之前,所述方法还包括:利用所述包头中的升级包校验码对所述文件系统升级包进行校验,以确定所述文件系统升级包是否被正确下载。
    可选的,所述当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级具体包括:对所述目标文件对应的文件压缩包解压缩形成目标文件;利用所述索引信息中的目标文件校验码对形成的所述目标文件进行校验;如果校验通过,用所述目标文件代替源文件完成升级,如果校验不通过,丢弃所述目标文件放弃升级。
    另一方面,本发明还提供一种文件系统升级包制作装置,包括:获取单元,用于获取待升级文件系统中各个源文件的文件信息;确定单元,用于根据所述获取单元获取的各个所述源文件的文件信息,确定与所述源文件对应的目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一;文件打包单元,用于当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文 件差分包;文件系统打包单元,用于将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包。
    可选的,所述获取单元,具体用于通过读取配置文件获取所述待升级文件系统中各个源文件的文件信息。
    可选的,所述文件系统升级包包括包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中。
    具体的,所述文件系统打包单元具体包括:写入模块,用于将每个所述目标文件的操作类型写入对应的文件压缩包索引信息或文件差分包索引信息;打包模块,用于将各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息打包形成文件系统升级包,其中,所述索引信息位于所述包体的前半部分,所述数据信息位于所述包体的后半部分。
    可选的,所述包体还包括删除指示信息,用于指示将对应的源文件删除。
    另一方面,本发明还提供一种文件系统升级装置,包括:解析单元,用于解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一,所述文件系统升级包包括文件压缩包和文件差分包,每个所述目标文件与一个文件压缩包或者一个文件差分包相对应;解压缩单元,用于当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级;还原单元,用于当所述目标文件的操作类型为静态类型时,将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级。
    可选的,所述解析单元包括:拆包模块,用于对所述文件系统升级包拆包,分离出包头和包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中;确定模块,用于通过读取所述包体中的索引信息确 定所述文件系统升级包中每个目标文件的操作类型。
    进一步地,所述装置还包括:升级包校验模块,用于利用所述包头中的升级包校验码对所述文件系统升级包进行校验,以确定所述文件系统升级包是否被正确下载。
    可选的,所述解压缩单元具体包括:解压缩模块,用于对所述目标文件对应的文件压缩包解压缩形成目标文件;目标文件校验模块,用于利用所述索引信息中的目标文件校验码对所述解压缩模块解压缩后形成的所述目标文件进行校验;升级模块,用于如果所述目标文件校验模块校验通过,用所述目标文件代替源文件完成升级,如果校验不通过,丢弃所述目标文件放弃升级。
    另一方面,本发明还提供一种终端,所述终端本发明实施例提供的任一种文件系统升级装置。
    本发明的实施例提供的文件系统升级包制作方法、升级方法及装置、终端,能够获取待升级文件系统中各个源文件的文件信息,根据该文件信息确定与所述源文件对应的目标文件的操作类型,当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包,这样将动态类型和新增类型的目标文件与静态类型的目标文件相区分处理,使得不同操作类型的目标文件都能够被制作到升级包中,大大扩展了通过FOTA方式进行文件系统升级的范围。
    附图说明
    图1是本发明的实施例提供的文件系统升级包制作方法的一种流程图;
    图2是使用本发明的实施例提供的文件系统升级包制作方法制作的文件系统升级包的一种示意图;
    图3是图2中的包头的结构示意图;
    图4是图2中的包体的结构示意图;
    图5是本发明的实施例提供的文件系统升级方法的一种流程图;
    图6是本发明的实施例提供的文件系统升级包制作装置的一种结构示意图;
    图7是本发明的实施例提供的文件系统升级装置的一种结构示意图。
    具体实施方式
    以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
    如图1所示,本发明的实施例提供一种文件系统升级包制作方法,包括:
    S11,获取待升级文件系统中各个源文件的文件信息;
    S12,根据各个所述源文件的文件信息确定与所述源文件对应的目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一;
    S13,当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包;
    S14,将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包。
    本发明的实施例提供的文件系统升级包制作方法,首先获取待升级文件系统中各个源文件的文件信息,根据该文件信息确定与所述源文件对应的目标文件的操作类型,当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包,再将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包,这样将动态类型和新增类型的目标文件与静态类型的目标文件相区分处理,使得不同操作类型的目标文件都能够被制作到升级包中,大大扩展了通过FOTA方式进行文件系统升级的范围。
    需要说明的是,文件系统的升级包一般是由软件提供商制作,通过服务器 上供终端下载、运行以完成对终端的文件系统的升级的。终端在出厂时已经自带了一定的文件系统,软件提供商对于该文件系统的源文件以及各源文件在终端中的具体安装位置都保留了相关记录,因此,在进行文件系统升级时,软件提供商可以全面掌握待升级的源文件以及升级后形成的目标文件的各种文件信息,从而利用这些文件信息制作文件系统压缩包。
    在待升级的文件系统中,可以通过配置文件记录各个源文件的文件信息,则在步骤S11中,当需要获取待升级文件系统中各个源文件的文件信息时,可以通过读取该配置文件获取所述待升级文件系统中各个源文件的文件信息。可选的,这些文件信息可以包括文件的大小、存储位置、操作类型、访问权限、校验码等。其中,操作类型是根据该文件是否可以被用户更改而设置的参数。对于用户无法更改的文件,其操作类型为静态类型,对于可以通过用户的设置而更改的文件,其操作类型为动态类型。可以根据待升级的源文件的操作类型来确定升级以后形成的目标文件的操作类型,例如,如果源文件是动态类型的,则升级后的目标文件也是动态类型的,可以按照动态类型的操作方法制作升级包。值得注意的是,由于目标文件是对源文件的升级或改进,因此,可能有些目标文件是属于新增的文件,并没有与其相对应的源文件,这种新增的文件既不属于动态类型也不属于静态类型,而是被定义为另一种类型,即新增类型。
    本发明的实施例中,将目标文件的操作类型分为动态类型、静态类型和新增类型三种,对于不同的操作类型采用不同的升级包制作方法,以便使文件系统中的所有文件都能够使用该方法制作出的升级包进行升级。
    具体的,在步骤S13中,不同操作类型的目标文件对应形成不同的文件升级包,当所述目标文件的操作类型为动态类型时,说明源文件是能够被用户改动的,不同的终端的相应源文件不尽相同,对这样的源文件进行升级时并不适用于差分运算法,因此,可以忽略源文件,而直接压缩所述目标文件以形成文件压缩包。当所述目标文件的操作类型为新增类型时,说明待升级的文件系统中,根本不存在该源文件,因此也可以直接压缩所述目标文件以形成文件压缩 包。当所述目标文件的操作类型为静态类型时,说明源文件是不能被用户修改的,源文件仍然保持着出厂时的设置,因此可以根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包。
    在针对每个目标文件制作出相应的文件差分包或文件压缩包后,在步骤S14中,即可将这些文件压缩包和文件差分包打包形成文件系统升级包。文件系统升级包的具体结构本发明的实施例并不对其进行限制。例如,在本发明的一个实施例中,通过本实施例的升级包制作方法制作的升级包的结构可如图2-图4所示。其中,图2文件系统升级包整体结构,图3为图2中的包头的具体结构,图4为图2中的包体的具体结构。
    结合图2至图4可知,本实施例中的文件系统升级包主要由包头和包体两部分组成。包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,其中,每个所述文件压缩包的索引信息和每个所述文件升级包的索引信息中都包括对应的目标文件的操作类型参数。包头主要描述整个文件系统升级包的包头长度、包体长度、文件压缩包个数,文件差分包个数,升级包校验码和索引信息的总长度等。这些包头信息主要用于对整个文件系统进行解析。
    文件系统升级包包体包括各所述文件压缩包(对于动态类型文件或新增类型文件)的数据信息及索引信息、各所述文件差分包(对于静态类型文件)的数据信息及索引信息,其中,每个所述文件压缩包的索引信息和每个所述文件升级包的索引信息中都包括对应的目标文件的操作类型参数。
    其中,索引信息例如可包括各文件差分包和文件压缩包所对应的源文件路径、源和目标文件的校验码、源和目标文件的权限、操作类型等信息;数据信息主要包括文件压缩包或文件差分包对源文件进行升级的有效数据。
    索引信息和数据信息可以根据需要以适合的方式存储于包体中,但优选的,如图4所示,各个文件差分包和文件压缩包的数据信息位于包体的后半部分,而各个文件差分包和文件压缩包的索引信息位于包体的前半部分,这样, 读取文件系统升级包包体时,首先能读取到这些索引信息,使得能较快速获知相应文件的校验码等信息,有利于提高校验速度、减小资源消耗。
    可选的,所述包体还可包括删除指示信息,用于指示将对应的源文件删除。
    具体而言,在步骤S14中,将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包具体可包括:
    将每个所述目标文件的操作类型写入对应的文件压缩包索引信息或文件差分包索引信息;
    将各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息打包形成文件系统升级包,其中,所述索引信息位于所述包体的前半部分,所述数据信息位于所述包体的后半部分。
    相应的,本发明的实施例还提供一种文件系统升级方法,如图5所示,该方法可包括:
    S21,解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一,所述文件系统升级包包括文件压缩包和文件差分包,每个所述目标文件与一个文件压缩包或者一个文件差分包相对应;
    S22,当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级;
    S23,当所述目标文件的操作类型为静态类型时,将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级。
    本发明的实施例提供的文件系统升级方法,能够通过解析下载的文件系统升级包来确定所述文件系统升级包中每个目标文件的操作类型,当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级,当所述目标文件的操作类型为静态类型时,将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计 算,以在所述终端中形成目标文件完成升级,这样将动态类型和新增类型的目标文件与静态类型的目标文件相区分处理,大大扩展了通过FOTA方式进行文件系统升级的范围。
    具体而言,在步骤S21中,解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型可包括:
    对所述文件系统升级包拆包,分离出包头和包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中;
    通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型。
    考虑到文件系统升级包是由终端从服务器下载来的,数据传输过程中可能会产生错误而导致下载到的文件系统升级包出错,如果贸然用这样的升级包对文件系统进行升级可能产生严重的影响。为了避免这种情况发生,优选的,在所述对所述文件系统升级包拆包,分离出包头和包体之后,在通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型之前,该升级方法还可包括:利用所述包头中的升级包校验码对所述文件系统升级包进行校验,以确定所述文件系统升级包是否被正确下载。如果正确,再进行后面的操作,如果不正确就要停止后面的一系列操作,而对文件系统升级包重新下载。
    可选的,对于不同操作类型的目标文件,所采用的升级方法也不相同。例如,当所述目标文件的操作类型为静态类型时,可以将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级,而当所述目标文件的操作类型为动态类型或新增类型时,就需要对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级。
    具体而言,对操作类型为动态类型或新增类型的目标文件而言,升级相应的源文件的方法可包括:
    对所述目标文件对应的文件压缩包解压缩形成目标文件;
    利用所述索引信息中的目标文件校验码对形成的所述目标文件进行校验;
    如果校验通过,用所述目标文件代替源文件完成升级,如果校验不通过,丢弃所述目标文件放弃升级。
    相应的,如图6所示,本发明还提供一种文件系统升级包制作装置,包括:
    获取单元11,用于获取待升级文件系统中各个源文件的文件信息;
    确定单元12,用于根据所述获取单元获取的各个所述源文件的文件信息,确定与所述源文件对应的目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一;
    文件打包单元13,用于当所述目标文件的操作类型为动态类型或新增类型时,压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包;
    文件系统打包单元14,用于将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包。
    本发明的实施例提供的文件系统升级包制作装置,获取单元11能够获取待升级文件系统中各个源文件的文件信息,确定单元12能够根据该文件信息确定与所述源文件对应的目标文件的操作类型,当所述目标文件的操作类型为动态类型或新增类型时,文件打包单元13能够压缩所述目标文件以形成文件压缩包,当所述目标文件的操作类型为静态类型时,文件打包单元13能够根据所述目标文件及其对应的源文件之间的差异,进行差分运算以形成文件差分包,文件系统打包单元14能够将各所述文件压缩包和各所述文件差分包打包形成文件系统升级包,这样将动态类型和新增类型的目标文件与静态类型的目标文件相区分处理,使得不同操作类型的目标文件都能够被制作到升级包中,大大扩展了通过FOTA方式进行文件系统升级的范围。
    具体的,获取单元11,具体可用于通过读取配置文件获取所述待升级文件 系统中各个源文件的文件信息。
    所述文件系统升级包包括包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中。进一步的,所述包体还包括删除指示信息,用于指示将对应的源文件删除。
    可选的,文件系统打包单元14具体包括:
    写入模块,用于将每个所述目标文件的操作类型写入对应的文件压缩包索引信息或文件差分包索引信息;
    打包模块,用于将各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息打包形成文件系统升级包,其中,所述索引信息位于所述包体的前半部分,所述数据信息位于所述包体的后半部分。
    相应的,如图7所示,本发明还提供一种文件系统升级装置,包括:
    解析单元21,用于解析下载的文件系统升级包,以确定所述文件系统升级包中每个目标文件的操作类型,所述操作类型包括动态类型、静态类型、新增类型三者之一,所述文件系统升级包包括文件压缩包和文件差分包,每个所述目标文件与一个文件压缩包或者一个文件差分包相对应;
    解压缩单元22,用于当所述目标文件的操作类型为动态类型或新增类型时,对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级;
    还原单元23,用于当所述目标文件的操作类型为静态类型时,将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级。
    本发明的实施例提供的文件系统升级装置,能够通过解析单元21解析下载的文件系统升级包来确定所述文件系统升级包中每个目标文件的操作类型,当所述目标文件的操作类型为动态类型或新增类型时,解压缩单元22能够对所述目标文件对应的文件压缩包解压缩,以在终端形成目标文件完成升级,当 所述目标文件的操作类型为静态类型时,还原单元23能够将终端的待升级文件系统中的源文件与对应的文件差分包进行还原计算,以在所述终端中形成目标文件完成升级,这样将动态类型和新增类型的目标文件与静态类型的目标文件相区分处理,大大扩展了通过FOTA方式进行文件系统升级的范围。
    具体而言,解析单元21可包括:
    拆包模块,用于对所述文件系统升级包拆包,分离出包头和包体,所述包体包括各所述文件压缩包的数据信息及索引信息、各所述文件差分包的数据信息及索引信息,每个所述目标文件的操作类型参数包含于各所述索引信息中;
    确定模块,用于通过读取所述包体中的索引信息确定所述文件系统升级包中每个目标文件的操作类型。
    进一步的,本发明实施例提供的文件系统升级装置还可包括:升级包校验模块,用于利用所述包头中的升级包校验码对所述文件系统升级包进行校验,以确定所述文件系统升级包是否被正确下载。
    可选的,解压缩单元22具体可包括:
    解压缩模块,用于对所述目标文件对应的文件压缩包解压缩形成目标文件;
    目标文件校验模块,用于利用所述索引信息中的目标文件校验码对所述解压缩模块解压缩后形成的所述目标文件进行校验;
    升级模块,用于如果所述目标文件校验模块校验通过,用所述目标文件代替源文件完成升级,如果校验不通过,丢弃所述目标文件放弃升级。
    相应的,本发明的实施例还提供一种终端,所述终端包括上述实施例提供的任一种文件系统升级装置,因此也能达到相应的有益效果,前文已经进行了详细的说明,此处不再赘述。
    尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

    关 键  词:
    文件 系统升级 制作方法 升级 方法 装置 终端
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:文件系统升级包制作方法、升级方法及装置、终端.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1738263.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1