CN105468396A - 差分包生成方法、升级方法、生成装置及Linux终端 - Google Patents
差分包生成方法、升级方法、生成装置及Linux终端 Download PDFInfo
- Publication number
- CN105468396A CN105468396A CN201410461107.6A CN201410461107A CN105468396A CN 105468396 A CN105468396 A CN 105468396A CN 201410461107 A CN201410461107 A CN 201410461107A CN 105468396 A CN105468396 A CN 105468396A
- Authority
- CN
- China
- Prior art keywords
- file
- bag
- upgrading
- priginal soft
- memory block
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 230000006837 decompression Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 abstract 1
- 239000002131 composite material Substances 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种差分包生成方法,包括:获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件;根据所述差异信息制作差异文件的补丁文件;获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级标志信息打包成差分包。本发明还公开了一种升级方法、生成装置及Linux终端。本发明能够减少升级所需的下载时间,且差分包相对占用较小的存储空间,有效提高软件升级效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种差分包生成方法、升级方法、生成装置及Linux终端。
背景技术
在嵌入式系统使用的过程中,软件的维护和升级工作是必不可少的,例如智能电视在用户使用过程中,部分在软件研发阶段未发现的缺陷会逐渐暴露;或者用户往往会基于原有软件对产品提出新的功能或更高的性能要求,而要解决这些问题,则需要对嵌入式系统中的软件进行升级。
在嵌入式系统中,现有技术一般采用全覆盖的升级方案,即将下载的新版本的软件覆盖老版本的软件,这种方案需要将新版本的软件完全下载到本地,下载的时间较长,在升级的时候将占用较大的存储空间,给升级带来一定的困难。
发明内容
本发明的主要目的在于解决现有技术的嵌入式系统的软件升级下载慢及占用存储空间大的技术问题。
为实现上述目的,本发明提供一种差分包生成方法,包括:
获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件;
根据所述差异信息制作差异文件的补丁文件;
获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级标志信息打包成差分包。
优选地,所述获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件的步骤包括:
获取新版软件包相对于原始软件包所添加的文件、所述新版软件包相对于原始软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有差异的差异文件;
对所添加的文件、所删除的文件及差异文件进行归类,将归类后的所有文件生成升级脚本文件。
此外,为实现上述目的,本发明还提供一种升级方法,应用于Linux终端中,其特征在于,所述升级方法包括以下步骤:
划分Linux终端中的存储区,并对所述存储区进行备份;
下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包;
获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级。
优选地,所述下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包的步骤包括:
解压所述差分包,得到升级脚本文件;
获取原始软件包,根据所述升级脚本文件及原始软件包合成一合成软件包;
根据所述升级脚本文件获取第一差异文件,并获取所述合成软件包与所述原始软件包之间的第二差异文件;
判断所述第一差异文件与所述第二差异文件是否相等;
若是,整合所述合成软件包,得到所述升级包。
优选地,所述获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级的步骤之后包括:
当重启所述Linux终端后,根据所述升级标志信息加载所述存储区或已备份的存储区。
此外,为实现上述目的,本发明还提供一种生成装置,其特征在于,所述生成装置包括:
生成模块,用于获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件;
制作模块,用于根据所述差异信息制作差异文件的补丁文件;
打包模块,用于获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级标志信息打包成差分包。
优选地,所述生成模块包括:
获取单元,用于获取新版软件包相对于原始软件包所添加的文件、所述新版软件包相对于原始软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有差异的差异文件;
生成单元,用于对所添加的文件、所删除的文件及差异文件进行归类,将归类后的所有文件生成升级脚本文件。
此外,为实现上述目的,本发明还提供一种Linux终端,其特征在于,所述Linux终端包括:
划分模块,用于划分Linux终端中的存储区,并对所述存储区进行备份;
整合模块,用于下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包;
更新模块,用于获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级。
优选地,所述整合模块包括:
解压单元,用于解压所述差分包,得到升级脚本文件;
合成单元,用于获取原始软件包,根据所述升级脚本文件及原始软件包合成一合成软件包;
获取单元,用于根据所述升级脚本文件获取第一差异文件,并获取所述合成软件包与所述原始软件包之间的第二差异文件;
判断单元,用于判断所述第一差异文件与所述第二差异文件是否相等;
整合单元,用于若是,整合所述合成软件包,得到所述升级包。
优选地,所述Linux终端还包括加载模块,用于当重启所述Linux终端后,根据所述升级标志信息加载所述存储区或已备份的存储区。,
本发明一种差分包生成方法、升级方法、生成装置及Linux终端,Linux终端从服务器下载差分包,在进行软件升级时,利用差分包进行升级能够减少下载时间,且差分包相对占用较小的存储空间,能有效提高软件升级效率,另外,通过对Linux终端的Flash存储区进行划分并进行备份,能够确保Linux终端设备在发生异常时,例如断电时仍然可以正常启动,提高系统的性能。
附图说明
图1为本发明差分包生成方法一实施例的流程示意图;
图2为图1中步骤S101的细化流程示意图;
图3为本发明升级方法一实施例的流程示意图;
图4为图3中步骤S202的细化流程示意图;
图5为本发明生成装置一实施例的功能模块示意图;
图6为本发明Linux终端一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种差分包生成方法,参照图1,在一实施例中,该差分包生成方法包括:
步骤S101,获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件;
本实施例所合成的差分包可用于嵌入式系统的软件升级。嵌入式系统的终端有很多,例如智能电视等。
本实施例中,按照以下小步骤执行:
1、创建target(目标),input(输入),output(输出)文件夹,将新版软件包Vb.tgz拷贝到target文件夹下,原始软件包Va.tgz拷贝到input文件夹下,分别解压原始软件包及新版软件包。
2、使用diff命令查找出target及input两文件夹下原始软件包及新版软件包的差异信息。其中,diff命令是嵌入式系统中应用的重要的工具,用于比较单个文件或目录内容差异,其命令参数:-r比较子目录中文件,其命令格式:diff[参数][目录1][目录2]。
使用diff命令查找出target文件夹与input文件夹有哪些差异,并将差异信息保存在文件diff.log,然后编写脚本(gen_inc.sh),在脚本添加:diff–rtarget/input/>diff.log。
其中,diff.log文件中的信息内容为本实施例的差异信息,其包括:标识新版软件包中相对于原始软件包添加的文件,新版软件包中相对于原始软件包需删除的文件,以及新版软件包与原始软件包之间文件内容具有差异的文件名。例如如下:
Addfileintarget:./system/soc_lib/libwfd.so;(添加的文件);
Deletefileininput:./system/soc_lib/service_soc(删除的文件);
Binaryfiletarget/system/libfpp.soandinput/system/libfpp.sodiffer(在/system路径下libfpp.so文件存在差异)。
3、解析diff.log,将需添加的文件,删除的文件,具有差异的文件生成升级脚本文件upgrade_script.scr。其升级脚本文件内容格式为:路径+文件名,例如:
Add/system/soc_lib:libwfd.so://增加的文件,“:”前是路径,后面是文件名;
Delete/system/soc_lib:service_soc://删除的文件,“:”前是路径,后面是文件名;
PatchFile_MD5://差异文件;
/system/libfpp.so//具有差异的文件的路径及文件名;
最后,在输入文件夹中生成差分包的档案名:Vb-Va_diff.tgz。
步骤S102,根据所述差异信息制作差异文件的补丁文件;
本实施例中,根据上述差异信息中的具有差异的文件的路径及文件名,分别计算原始软件包及新版软件包之间的差异文件MD5,并调用bsdiff应用制作出差异文件的补丁文件。bsdiff使用格式如下:
bsdiff<原始软件包><新版软件包><差分文件>(第1,2参数为输入,第3参数为输出);
制作原始软件包及新版软件包的差异文件的补丁文件,并输出在输出文件夹下。
步骤S103,获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级标志信息打包成差分包。
本实施例中,获取镜像文件及升级标志信息,将上述补丁文件、升级脚本文件以及镜像文件(boot.img)和升级标志信息打包成差分包Vb-Va_diff.tgz,如下所示:
<update_ptbl>(是否升级分区标志);
[binary](分区名);
dev_path=/dev/mmcblk0(分区挂载名);
dev_ofs=512(分区大小,单位:byte);
file_name=boot.img(分区中升级文件名);
compress=none(压缩方式,none无压缩表示为镜像文件);
[system];
dev_path=/dev/mmcblk2;
dev_ofs=4607664;
file_name=app.bin;
compress=bzip2。
本实施例中,将差分包上传至服务器上,并由服务器指定可以获取该差分包的Linux终端。
与现有技术相比,本实施例生成应用于嵌入式系统中的差分包,在嵌入式终端进行软件升级时,利用差分包进行升级能够减少下载时间,且差分包相对占用较小的存储空间,能有效提高软件升级效率。
在一优选的实施例中,如图2所示,在上述图1的实施例的基础上,上述步骤S101包括:
步骤S1011,获取新版软件包相对于原始软件包所添加的文件、所述新版软件包相对于原始软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有差异的差异文件;
步骤S1012,对所添加的文件、所删除的文件及差异文件进行归类,将归类后的所有文件生成升级脚本文件。
本实施例对所添加的文件、所删除的文件及差异文件进行归类操作,能够减小差分包的大小,进一步减小所需的升级存储空间。
本发明进一步提供一种应用于Linux终端中的升级方法,如图3所示,该升级方法包括以下步骤:
步骤S201,划分Linux终端中的存储区,并对所述存储区进行备份;
本实施例中,划分Linux终端中Flash存储区,将kernel分区及binary分区进行备份,以供下述升级使用。划分存储区可参考如下表1:
分区名称 | 分区大小 | 分区内容 |
Misc | 4M | 升级标志 |
Binary分区 | 8M | Uboot、Uboot数据、Uboot logo |
Binary备份分区 | 8M | Boot启动出错时,启用此分区使系统正常运行 |
Kernel分区 | 16M | Normal moke的Kernel image |
Kernel备份分区 | 16M | 恢复moke的Kernel image |
System分区 | 460M | 系统APP |
表1
步骤S202,下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包;
本实施例中,Linux终端从服务器上下载差分包,并按照以下小步骤执行:
1、创建文件夹output,merge,input文件夹,将原始软件包拷贝到input文件夹下;
2、下载差分包(Vb-Va_diff.tgz),解压差分包解到output文件夹下;
3、获取差分包中的升级脚本文件upgrade-srcipt.src,解析升级脚本文件,读取需添加的文件,并将需添加的文件拷贝到merge文件夹下;
4、读取差异文件(PatchFile_MD5),将差异文件赋值给(AFP_MD5);
5、调bspatch合出合成文件到merge/system下。其中,bspatch使用格式如下:
bspatch<原始软件包><合成文件><差异文件>(第1,3参数为输入,第2参数为输出);
6、获取合成文件与原始软件包的差异文件(merge/system/libfpp.so)MD5,将该MD5赋值给(CFP_MD5);
7、比较上述的(CFP_MD5)与升级脚本文件中读取的(AFP_MD5),判断两者是否相等,如果不等,则整合失败;如果相等则整合成功,则打包为最终升级包(Vb.tgz)。
步骤S203,获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级。
本实施例中,按照以下小步骤执行:
1、在Linux终端中解压升级包(Vb.tgz);
2、获取升级包中的升级标志信息,打开升级标志update_flag(update_flag=1),将update_flag写入到上述表1中的misc分区;
3、读取升级包中的更新分区标志(update_ptbl),判断update_ptbl>0,若是,打开升级标志,读取binary_index值,当binary_index为0时,需将引导加载程序uboot更新到binary备份分区。若binary_index不为0时,将引导加载程序uboot更新到binary分区;
4、若update_ptbl不满足update_ptbl>0,则重启Linux终端;
5、当检测到升级标志打开时,更新其他分区(如system分区);
6、更新binary_index值,当读到的值为0(1)时,更新为1(0),并存储到misc分区。
7、关闭升级标志update_flag(此时update_flag=0),并存储到misc分区。
通过上述将Linux终端的Flash存储区进行划分并进行备份,能够确保Linux终端设备在发生异常时,例如断电时仍然可以正常启动。
与现有技术相比,本实施例的Linux终端从服务器下载差分包,在进行软件升级时,利用差分包进行升级能够减少下载时间,且差分包相对占用较小的存储空间,能有效提高软件升级效率,另外,通过对Linux终端的Flash存储区进行划分并进行备份,能够确保Linux终端设备在发生异常时,例如断电时仍然可以正常启动,提高系统的性能。
在一优选的实施例中,如图4所示,在上述图3的实施例的基础上,上述步骤S202包括:
步骤S2021,解压所述差分包,得到升级脚本文件;
步骤S2022,获取原始软件包,根据所述升级脚本文件及原始软件包合成一合成软件包;
步骤S2023,根据所述升级脚本文件获取第一差异文件,并获取所述合成软件包与所述原始软件包之间的第二差异文件;
步骤S2024,判断所述第一差异文件与所述第二差异文件是否相等;
步骤S2025,若是,整合所述合成软件包,得到所述升级包。
本实施例中,将升级脚本文件中读取的第一差异文件赋值给(AFP_MD5),将第二差异文件赋值给(CFP_MD5),然后对(AFP_MD5)与(CFP_MD5)进行判断。
在一优选的实施例中,在上述图3的实施例的基础上,在其他实施例中本方法还包括:当重启所述Linux终端后,根据所述升级标志信息加载所述存储区或已备份的存储区。
本实施例中,Linux终端开机后,检测升级标志update_flag,若update_flag>1,则为打开,启动升级流程;若update_flag不满足update_flag>1,则检测binary_index标志,判断binary_index>1;若大于1,从加载binary备份分区启动,否则从binary分区启动。然后,判断kernel_flag>0,若大于0,则加载kernel备份分区,否则加载kernel分区,当加载完所有存储区域时,完成Linux终端的正常启动。
本发明还提供一种生成装置,如图5所示,在一实施例中,生成装置包括:
生成模块101,用于获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件;
本实施例中,生成模块101创建target(目标),input(输入),output(输出)文件夹,将新版软件包Vb.tgz拷贝到target文件夹下,原始软件包Va.tgz拷贝到input文件夹下,分别解压原始软件包及新版软件包。
使用diff命令查找出target及input两文件夹下原始软件包及新版软件包的差异信息。其中,diff命令是嵌入式系统中应用的重要的工具,用于比较单个文件或目录内容差异,其命令参数:-r比较子目录中文件,其命令格式:diff[参数][目录1][目录2]。
使用diff命令查找出target文件夹与input文件夹有哪些差异,并将差异信息保存在文件diff.log,然后编写脚本(gen_inc.sh),在脚本添加:diff–rtarget/input/>diff.log。
其中,diff.log文件中的信息内容为本实施例的差异信息,其包括:标识新版软件包中相对于原始软件包添加的文件,新版软件包中相对于原始软件包需删除的文件,以及新版软件包与原始软件包之间文件内容具有差异的文件名。
解析diff.log,将需添加的文件,删除的文件,具有差异的文件生成升级脚本文件upgrade_script.scr。最后,在输入文件夹中生成差分包的档案名:Vb-Va_diff.tgz。
制作模块102,用于根据所述差异信息制作差异文件的补丁文件;
本实施例中,制作模块102根据上述差异信息中的具有差异的文件的路径及文件名,分别计算原始软件包及新版软件包之间的差异文件MD5,并调用bsdiff应用制作出差异文件的补丁文件。
打包模块103,用于获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级标志信息打包成差分包。
本实施例中,获取镜像文件及升级标志信息,将上述补丁文件、升级脚本文件以及镜像文件(boot.img)和升级标志信息打包成差分包Vb-Va_diff.tgz。
本实施例中,将差分包上传至服务器上,并由服务器指定可以获取该差分包的Linux终端。
在一优选的实施例中,在上述图5的实施例的基础上,所述生成模块包括:获取单元,用于获取新版软件包相对于原始软件包所添加的文件、所述新版软件包相对于原始软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有差异的差异文件;生成单元,用于对所添加的文件、所删除的文件及差异文件进行归类,将归类后的所有文件生成升级脚本文件。
本实施例对所添加的文件、所删除的文件及差异文件进行归类操作,能够减小差分包的大小,进一步减小所需的升级存储空间。
本发明还提供一种Linux终端,如图6所示,在一实施例中,Linux终端包括:
划分模块201,用于划分Linux终端中的存储区,并对所述存储区进行备份;
本实施例中,本实施例中,划分Linux终端中Flash存储区,将kernel分区及binary分区进行备份,以供下述升级使用。划分存储区可参考上述表1,此处不再赘述。
整合模块202,用于下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包;
本实施例中,整合模块202创建文件夹output,merge,input文件夹,将原始软件包拷贝到input文件夹下。下载差分包(Vb-Va_diff.tgz),解压差分包解到output文件夹下;获取差分包中的升级脚本文件upgrade-srcipt.src,解析升级脚本文件,读取需添加的文件,并将需添加的文件拷贝到merge文件夹下;读取差异文件(PatchFile_MD5),将差异文件赋值给(AFP_MD5);调bspatch合出合成文件到merge/system下;获取合成文件与原始软件包的差异文件(merge/system/libfpp.so)MD5,将该MD5赋值给(CFP_MD5);比较上述的(CFP_MD5)与升级脚本文件中读取的(AFP_MD5),判断两者是否相等,如果不等,则整合失败;如果相等则整合成功,则打包为最终升级包(Vb.tgz)。
更新模块203,用于获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级;
本实施例中,更新模块203解压升级包(Vb.tgz);获取升级包中的升级标志信息,打开升级标志update_flag(update_flag=1),将update_flag写入到上述表1中的misc分区;读取升级包中的更新分区标志(update_ptbl),判断update_ptbl>0,若是,打开升级标志,读取binary_index值,当binary_index为0时,需将引导加载程序uboot更新到binary备份分区。若binary_index不为0时,将引导加载程序uboot更新到binary分区。若update_ptbl不满足update_ptbl>0,则重启Linux终端;当检测到升级标志打开时,更新其他分区(如system分区);更新binary_index值,当读到的值为0(1)时,更新为1(0),并存储到misc分区。关闭升级标志update_flag(此时update_flag=0),并存储到misc分区。
通过上述将Linux终端的Flash存储区进行划分并进行备份,能够确保Linux终端设备在发生异常时,例如断电时仍然可以正常启动。
在一优选的实施例中,在上述图6的实施例的基础上,所述整合模块202包括:解压单元,用于解压所述差分包,得到升级脚本文件;合成单元,用于获取原始软件包,根据所述升级脚本文件及原始软件包合成一合成软件包;获取单元,用于根据所述升级脚本文件获取第一差异文件,并获取所述合成软件包与所述原始软件包之间的第二差异文件;判断单元,用于判断所述第一差异文件与所述第二差异文件是否相等;整合单元,用于若是,整合所述合成软件包,得到所述升级包。
本实施例中,将升级脚本文件中读取的第一差异文件赋值给(AFP_MD5),将第二差异文件赋值给(CFP_MD5),然后对(AFP_MD5)与(CFP_MD5)进行判断。
在一优选的实施例中,在上述图6的实施例的基础上,,所述Linux终端还包括加载模块,用于当重启所述Linux终端后,根据所述升级标志信息加载所述存储区或已备份的存储区。
本实施例中,Linux终端开机后,检测升级标志update_flag,若update_flag>1,则为打开,启动升级流程;若update_flag不满足update_flag>1,则检测binary_index标志,判断binary_index>1;若大于1,从加载binary备份分区启动,否则从binary分区启动。然后,判断kernel_flag>0,若大于0,则加载kernel备份分区,否则加载kernel分区,当加载完所有存储区域时,完成Linux终端的正常启动。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种差分包生成方法,其特征在于,包括:
获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件;
根据所述差异信息制作差异文件的补丁文件;
获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级标志信息打包成差分包。
2.如权利要求1所述的差分包生成方法,其特征在于,所述获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件的步骤包括:
获取新版软件包相对于原始软件包所添加的文件、所述新版软件包相对于原始软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有差异的差异文件;
对所添加的文件、所删除的文件及差异文件进行归类,将归类后的所有文件生成升级脚本文件。
3.一种升级方法,应用于Linux终端中,其特征在于,所述升级方法包括以下步骤:
划分Linux终端中的存储区,并对所述存储区进行备份;
下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包;
获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级。
4.如权利要求3所述的升级方法,其特征在于,所述下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包的步骤包括:
解压所述差分包,得到升级脚本文件;
获取原始软件包,根据所述升级脚本文件及原始软件包合成一合成软件包;
根据所述升级脚本文件获取第一差异文件,并获取所述合成软件包与所述原始软件包之间的第二差异文件;
判断所述第一差异文件与所述第二差异文件是否相等;
若是,整合所述合成软件包,得到所述升级包。
5.如权利要求3所述的升级方法,其特征在于,所述获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级的步骤之后包括:
当重启所述Linux终端后,根据所述升级标志信息加载所述存储区或已备份的存储区。
6.一种生成装置,其特征在于,所述生成装置包括:
生成模块,用于获取原始软件包及新版软件包之间具有差异的差异信息,根据所述差异信息生成升级脚本文件;
制作模块,用于根据所述差异信息制作差异文件的补丁文件;
打包模块,用于获取镜像文件及升级标志信息,将所述升级脚本文件、补丁文件、镜像文件及升级标志信息打包成差分包。
7.如权利要求6所述的生成装置,其特征在于,所述生成模块包括:
获取单元,用于获取新版软件包相对于原始软件包所添加的文件、所述新版软件包相对于原始软件包所删除的文件以及所述新版软件包与原始软件包之间文件内容具有差异的差异文件;
生成单元,用于对所添加的文件、所删除的文件及差异文件进行归类,将归类后的所有文件生成升级脚本文件。
8.一种Linux终端,其特征在于,所述Linux终端包括:
划分模块,用于划分Linux终端中的存储区,并对所述存储区进行备份;
整合模块,用于下载差分包并获取原始软件包,将所述差分包及原始软件包整合为升级包;
更新模块,用于获取所述升级包中的升级标志信息,根据所述升级标志信息及升级包将引导加载程序更新到所述存储区或已备份的存储区,以进行软件升级。
9.如权利要求8所述的Linux终端,其特征在于,所述整合模块包括:
解压单元,用于解压所述差分包,得到升级脚本文件;
合成单元,用于获取原始软件包,根据所述升级脚本文件及原始软件包合成一合成软件包;
获取单元,用于根据所述升级脚本文件获取第一差异文件,并获取所述合成软件包与所述原始软件包之间的第二差异文件;
判断单元,用于判断所述第一差异文件与所述第二差异文件是否相等;
整合单元,用于若是,整合所述合成软件包,得到所述升级包。
10.如权利要求8所述的Linux终端,其特征在于,所述Linux终端还包括加载模块,用于当重启所述Linux终端后,根据所述升级标志信息加载所述存储区或已备份的存储区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410461107.6A CN105468396A (zh) | 2014-09-11 | 2014-09-11 | 差分包生成方法、升级方法、生成装置及Linux终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410461107.6A CN105468396A (zh) | 2014-09-11 | 2014-09-11 | 差分包生成方法、升级方法、生成装置及Linux终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468396A true CN105468396A (zh) | 2016-04-06 |
Family
ID=55606137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410461107.6A Pending CN105468396A (zh) | 2014-09-11 | 2014-09-11 | 差分包生成方法、升级方法、生成装置及Linux终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468396A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955937A (zh) * | 2016-05-16 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种比较linux系统光盘iso异同的方法 |
CN106201591A (zh) * | 2016-06-29 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种云管理平台的配置文件升级方法及装置 |
CN106293835A (zh) * | 2016-08-09 | 2017-01-04 | 捷开通讯(深圳)有限公司 | 一种智能设备固件升级的方法及系统 |
CN106648766A (zh) * | 2016-12-07 | 2017-05-10 | 京信通信系统(中国)有限公司 | 基于文件夹的补丁升级包生成及差分升级方法和装置 |
CN106686578A (zh) * | 2016-12-28 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种差分包生成方法和装置 |
CN107273159A (zh) * | 2017-06-08 | 2017-10-20 | 深圳市华信天线技术有限公司 | 适于嵌入式系统的差量式补丁升级方法及装置 |
CN108322825A (zh) * | 2018-02-28 | 2018-07-24 | 北京四达时代软件技术股份有限公司 | 一种差分升级方法及系统 |
CN108446127A (zh) * | 2017-02-14 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 更新包的处理方法及装置 |
CN108664255A (zh) * | 2017-03-27 | 2018-10-16 | 中兴通讯股份有限公司 | 一种软件升级方法及装置 |
CN108874439A (zh) * | 2018-07-02 | 2018-11-23 | 京东方科技集团股份有限公司 | 获取定制差分包的方法及装置、升级方法及装置 |
CN108874406A (zh) * | 2018-06-28 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种升级包制作方法及装置 |
CN109496301A (zh) * | 2017-05-19 | 2019-03-19 | 深圳配天智能技术研究院有限公司 | 嵌入式系统中管理文件的方法、嵌入式设备及其存储介质 |
CN109614128A (zh) * | 2018-11-15 | 2019-04-12 | 深圳市广和通无线股份有限公司 | 程序升级方法、装置、计算机设备和存储介质 |
CN109656588A (zh) * | 2018-11-14 | 2019-04-19 | 中国电力科学研究院有限公司 | 一种远程快速实现用电信息采集终端软件更新的方法及系统 |
CN109766119A (zh) * | 2019-01-24 | 2019-05-17 | 努比亚技术有限公司 | 恢复分区升级方法、终端和计算机可读存储介质 |
CN109982146A (zh) * | 2017-12-28 | 2019-07-05 | 深圳Tcl数字技术有限公司 | 一种智能电视的软件升级方法、存储介质以及应用服务器 |
CN110377322A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 数据处理方法、系统及设备 |
CN111104148A (zh) * | 2019-12-26 | 2020-05-05 | 红石阳光(北京)科技股份有限公司 | 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质 |
CN112416386A (zh) * | 2020-10-26 | 2021-02-26 | 北京一亩田新农网络科技有限公司 | 软件升级的方法、装置、系统以及介质 |
CN112433747A (zh) * | 2020-12-16 | 2021-03-02 | 深圳乐播科技有限公司 | 一种适用于软件开发工具包sdk的差分升级方法及系统 |
CN112988210A (zh) * | 2021-02-08 | 2021-06-18 | 常州新途软件有限公司 | 全液晶仪表软件升级方法 |
CN116501363A (zh) * | 2023-06-29 | 2023-07-28 | 杭州美创科技股份有限公司 | 软件离线快速升级方法、装置、计算机设备及存储介质 |
CN117407031A (zh) * | 2023-11-27 | 2024-01-16 | 深圳麦风科技有限公司 | 补丁包升级文件生成方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831001A (zh) * | 2012-09-11 | 2012-12-19 | 北京百纳威尔科技有限公司 | 软件升级包的制作方法及装置、程序的升级方法及设备 |
CN103095838A (zh) * | 2013-01-16 | 2013-05-08 | 福州博远无线网络科技有限公司 | 一种通过下载增量升级包来升级安卓智能手机软件的方法 |
CN103699408A (zh) * | 2013-12-12 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种软件升级的方法和设备 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN103853574A (zh) * | 2012-12-06 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种软件升级的方法及系统 |
-
2014
- 2014-09-11 CN CN201410461107.6A patent/CN105468396A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831001A (zh) * | 2012-09-11 | 2012-12-19 | 北京百纳威尔科技有限公司 | 软件升级包的制作方法及装置、程序的升级方法及设备 |
CN103853574A (zh) * | 2012-12-06 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种软件升级的方法及系统 |
CN103095838A (zh) * | 2013-01-16 | 2013-05-08 | 福州博远无线网络科技有限公司 | 一种通过下载增量升级包来升级安卓智能手机软件的方法 |
CN103699408A (zh) * | 2013-12-12 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种软件升级的方法和设备 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955937B (zh) * | 2016-05-16 | 2019-03-26 | 浪潮电子信息产业股份有限公司 | 一种比较linux系统光盘iso异同的方法 |
CN105955937A (zh) * | 2016-05-16 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种比较linux系统光盘iso异同的方法 |
CN106201591A (zh) * | 2016-06-29 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种云管理平台的配置文件升级方法及装置 |
CN106293835A (zh) * | 2016-08-09 | 2017-01-04 | 捷开通讯(深圳)有限公司 | 一种智能设备固件升级的方法及系统 |
CN106648766A (zh) * | 2016-12-07 | 2017-05-10 | 京信通信系统(中国)有限公司 | 基于文件夹的补丁升级包生成及差分升级方法和装置 |
CN106648766B (zh) * | 2016-12-07 | 2020-07-28 | 京信通信系统(中国)有限公司 | 基于文件夹的补丁升级包生成及差分升级方法和装置 |
CN106686578A (zh) * | 2016-12-28 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种差分包生成方法和装置 |
CN108446127B (zh) * | 2017-02-14 | 2021-12-24 | 百度在线网络技术(北京)有限公司 | 更新包的处理方法及装置 |
CN108446127A (zh) * | 2017-02-14 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 更新包的处理方法及装置 |
CN108664255A (zh) * | 2017-03-27 | 2018-10-16 | 中兴通讯股份有限公司 | 一种软件升级方法及装置 |
CN108664255B (zh) * | 2017-03-27 | 2023-04-11 | 深圳市中兴通讯技术服务有限责任公司 | 一种软件升级方法及装置 |
CN109496301A (zh) * | 2017-05-19 | 2019-03-19 | 深圳配天智能技术研究院有限公司 | 嵌入式系统中管理文件的方法、嵌入式设备及其存储介质 |
CN107273159A (zh) * | 2017-06-08 | 2017-10-20 | 深圳市华信天线技术有限公司 | 适于嵌入式系统的差量式补丁升级方法及装置 |
CN109982146B (zh) * | 2017-12-28 | 2021-07-06 | 深圳Tcl数字技术有限公司 | 一种智能电视的软件升级方法、存储介质以及应用服务器 |
CN109982146A (zh) * | 2017-12-28 | 2019-07-05 | 深圳Tcl数字技术有限公司 | 一种智能电视的软件升级方法、存储介质以及应用服务器 |
CN108322825A (zh) * | 2018-02-28 | 2018-07-24 | 北京四达时代软件技术股份有限公司 | 一种差分升级方法及系统 |
CN108874406A (zh) * | 2018-06-28 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种升级包制作方法及装置 |
CN108874439A (zh) * | 2018-07-02 | 2018-11-23 | 京东方科技集团股份有限公司 | 获取定制差分包的方法及装置、升级方法及装置 |
CN109656588A (zh) * | 2018-11-14 | 2019-04-19 | 中国电力科学研究院有限公司 | 一种远程快速实现用电信息采集终端软件更新的方法及系统 |
CN109614128A (zh) * | 2018-11-15 | 2019-04-12 | 深圳市广和通无线股份有限公司 | 程序升级方法、装置、计算机设备和存储介质 |
CN109614128B (zh) * | 2018-11-15 | 2022-03-15 | 深圳市广和通无线股份有限公司 | 程序升级方法、装置、计算机设备和存储介质 |
CN109766119A (zh) * | 2019-01-24 | 2019-05-17 | 努比亚技术有限公司 | 恢复分区升级方法、终端和计算机可读存储介质 |
CN109766119B (zh) * | 2019-01-24 | 2023-10-17 | 努比亚技术有限公司 | 恢复分区升级方法、终端和计算机可读存储介质 |
CN110377322A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 数据处理方法、系统及设备 |
CN111104148A (zh) * | 2019-12-26 | 2020-05-05 | 红石阳光(北京)科技股份有限公司 | 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质 |
CN111104148B (zh) * | 2019-12-26 | 2023-06-16 | 红石阳光(北京)科技股份有限公司 | 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质 |
CN112416386A (zh) * | 2020-10-26 | 2021-02-26 | 北京一亩田新农网络科技有限公司 | 软件升级的方法、装置、系统以及介质 |
CN112433747A (zh) * | 2020-12-16 | 2021-03-02 | 深圳乐播科技有限公司 | 一种适用于软件开发工具包sdk的差分升级方法及系统 |
CN112988210A (zh) * | 2021-02-08 | 2021-06-18 | 常州新途软件有限公司 | 全液晶仪表软件升级方法 |
CN116501363A (zh) * | 2023-06-29 | 2023-07-28 | 杭州美创科技股份有限公司 | 软件离线快速升级方法、装置、计算机设备及存储介质 |
CN117407031A (zh) * | 2023-11-27 | 2024-01-16 | 深圳麦风科技有限公司 | 补丁包升级文件生成方法、装置、设备及存储介质 |
CN117407031B (zh) * | 2023-11-27 | 2024-04-26 | 深圳麦风科技有限公司 | 补丁包升级文件生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468396A (zh) | 差分包生成方法、升级方法、生成装置及Linux终端 | |
CN102693145B (zh) | 用于嵌入式系统的差分升级方法 | |
US8296535B2 (en) | Generating incremental program updates | |
KR101003888B1 (ko) | 전자 장치에서의 3-단계 부팅 프로세스 | |
US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
US8233893B2 (en) | Mobile handset update package generator that employs nodes technique | |
US7313792B2 (en) | Method and system for servicing software | |
CN109144519B (zh) | 升级包的生成方法、装置、计算机设备和存储介质 | |
US20060190939A1 (en) | Updatable mobile handset based on linux with compression and decompression techniques | |
US20070294686A1 (en) | Program upgrade system and method for ota-capable device | |
CN109491695A (zh) | 一种集成安卓应用的增量更新方法 | |
CN103309706B (zh) | 基于Linux操作系统的内存文件系统制备方法及单元 | |
CN102402438B (zh) | 一种补丁文件的自动合并方法、装置及通信终端 | |
CN104991793A (zh) | 一种用于应用程序分包的方法、装置以及系统 | |
CN103577212A (zh) | 系统启动预加载方法及装置 | |
CN111008034A (zh) | 一种补丁生成方法及装置 | |
CN103514022A (zh) | 一种linux下的raid卡驱动集成方法 | |
WO2020029967A1 (zh) | 一种操作系统故障的修复方法和装置 | |
CN103761107A (zh) | 软件包定制的装置及方法 | |
CN102043652A (zh) | 嵌入式设备根文件系统的处理系统和处理方法 | |
CN108536444B (zh) | 插件编译方法、装置、计算机设备和存储介质 | |
CN102243587A (zh) | 嵌入式系统中对rom程序的升级方法 | |
CN111949303A (zh) | 升级包处理方法、装置、电子设备及存储介质 | |
US8190587B1 (en) | In-place image promotion | |
US20060230190A1 (en) | Method and apparatus for executing application in system having NAND flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |
|
RJ01 | Rejection of invention patent application after publication |