linux终端升级,差分包生成方法、升级方法、生成装置及Linux终端的制作方法

差分包生成方法、升级方法、生成装置及Linux终端的制作方法

【技术领域】

[0001] 本发明涉及通信技术领域,尤其涉及一种差分包生成方法、升级方法、生成装置及 Linux终端。

【背景技术】

[0002] 在嵌入式系统使用的过程中,软件的维护和升级工作是必不可少的,例如智能电 视在用户使用过程中,部分在软件研发阶段未发现的缺陷会逐渐暴露;或者用户往往会基 于原有软件对产品提出新的功能或更高的性能要求,而要解决这些问题,则需要对嵌入式 系统中的软件进行升级。

[0003] 在嵌入式系统中,现有技术一般采用全覆盖的升级方案,即将下载的新版本的软 件覆盖老版本的软件,这种方案需要将新版本的软件完全下载到本地,下载的时间较长,在 升级的时候将占用较大的存储空间,给升级带来一定的困难。

【发明内容】

[0004] 本发明的主要目的在于解决现有技术的嵌入式系统的软件升级下载慢及占用存 储空间大的技术问题。

[0005] 为实现上述目的,本发明提供一种差分包生成方法,包括:

[0006] 获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成 升级脚本文件;

[0007] 根据所述差异信息制作差异文件的补丁文件;

[0008] 获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级 标志信息打包成差分包。

[0009] 优选地,所述获取原始软件包及新版软件包之间具有差异的差异信息,根据所述 差异信息生成升级脚本文件的步骤包括:

[0010] 获取新版软件包相对于原始软件包所添加的文件、所述新版软件包相对于原始 软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有差异的差异文 件;

[0011] 对所添加的文件、所删除的文件及差异文件进行归类,将归类后的所有文件生成 升级脚本文件。

[0012] 此外,为实现上述目的,本发明还提供一种升级方法,应用于Linux终端中,其特 征在于,所述升级方法包括以下步骤:

[0013] 划分Linux终端中的存储区,并对所述存储区进行备份;

[0014] 下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包;

[0015] 获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载 程序更新到所述存储区或已备份的存储区,以进行软件升级。

[0016] 优选地,所述下载差分包并获取原始软件包,将所述差分包及原始软件包整合为 升级包的步骤包括:

[0017] 解压所述差分包,得到升级脚本文件;

[0018] 获取原始软件包,根据所述升级脚本文件及原始软件包合成一合成软件包;

[0019] 根据所述升级脚本文件获取第一差异文件,并获取所述合成软件包与所述原始软 件包之间的第二差异文件;

[0020] 判断所述第一差异文件与所述第二差异文件是否相等;

[0021] 若是,整合所述合成软件包,得到所述升级包。

[0022] 优选地,所述获取所述升级包中的升级标志信息,根据所述升级标志信息及升级 包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级的步骤之后包 括:

[0023] 当重启所述Linux终端后,根据所述升级标志信息加载所述存储区或已备份的存 储区。

[0024] 此外,为实现上述目的,本发明还提供一种生成装置,其特征在于,所述生成装置 包括:

[0025] 生成模块,用于获取原始软件包及新版软件包之间具有差异的差异信息,根据所 述差异信息生成升级脚本文件;

[0026] 制作模块,用于根据所述差异信息制作差异文件的补丁文件;

[0027] 打包模块,用于获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、 镜像文件及升级标志信息打包成差分包。

[0028] 优选地,所述生成模块包括:

[0029] 获取单元,用于获取新版软件包相对于原始软件包所添加的文件、所述新版软件 包相对于原始软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有 差异的差异文件;

[0030] 生成单元,用于对所添加的文件、所删除的文件及差异文件进行归类,将归类后的 所有文件生成升级脚本文件。

[0031] 此外,为实现上述目的,本发明还提供一种Linux终端,其特征在于,所述Linux终 端包括:

[0032] 划分模块,用于划分Linux终端中的存储区,并对所述存储区进行备份;

[0033] 整合模块,用于下载差分包并获取原始软件包,将所述差分包及原始软件包整合 为升级包;

[0034] 更新模块,用于获取所述升级包中的升级标志信息,根据所述升级标志信息及升 级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级。

[0035] 优选地,所述整合模块包括:

[0036] 解压单元,用于解压所述差分包,得到升级脚本文件;

[0037] 合成单元,用于获取原始软件包,根据所述升级脚本文件及原始软件包合成一合 成软件包;

[0038] 获取单元,用于根据所述升级脚本文件获取第一差异文件,并获取所述合成软件 包与所述原始软件包之间的第二差异文件;

[0039] 判断单元,用于判断所述第一差异文件与所述第二差异文件是否相等;

[0040] 整合单元,用于若是,整合所述合成软件包,得到所述升级包。

[0041] 优选地,所述Linux终端还包括加载模块,用于当重启所述Linux终端后,根据所 述升级标志信息加载所述存储区或已备份的存储区。,

[0042] 本发明一种差分包生成方法、升级方法、生成装置及Linux终端,Linux终端从服 务器下载差分包,在进行软件升级时,利用差分包进行升级能够减少下载时间,且差分包相 对占用较小的存储空间,能有效提高软件升级效率,另外,通过对Linux终端的Flash存储 区进行划分并进行备份,能够确保Linux终端设备在发生异常时,例如断电时仍然可以正 常启动,提1?系统的性能。

【附图说明】

[0043] 图1为本发明差分包生成方法一实施例的流程示意图;

[0044] 图2为图1中步骤S101的细化流程示意图;

[0045] 图3为本发明升级方法一实施例的流程示意图;

[0046] 图4为图3中步骤S202的细化流程示意图;

[0047] 图5为本发明生成装置一实施例的功能模块示意图;

[0048] 图6为本发明Linux终端一实施例的功能模块示意图。

[0049] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

【具体实施方式】

[0050] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

[0051] 本发明提供一种差分包生成方法,参照图1,在一实施例中,该差分包生成方法包 括:

[0052] 步骤S101,获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差 异信息生成升级脚本文件;

[0053] 本实施例所合成的差分包可用于嵌入式系统的软件升级。嵌入式系统的终端有很 多,例如智能电视等。

[0054] 本实施例中,按照以下小步骤执行:

[0055] 1、创建target(目标),input(输入),output(输出)文件夹,将新版软件包 Vb. tgz拷贝到target文件夹下,原始软件包Va. tgz拷贝到input文件夹下,分别解压原始 软件包及新版软件包。

[0056] 2、使用diff命令查找出target及input两文件夹下原始软件包及新版软件包的 差异信息。其中,diff命令是嵌入式系统中应用的重要的工具,用于比较单个文件或目录内 容差

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值