一种elf文件的压缩方法及系统的制作方法

文档序号:6503519阅读:408来源:国知局
一种elf文件的压缩方法及系统的制作方法【专利摘要】本发明公开一种ELF文件的压缩方法及系统。所述方法包括:获取ELF文件,所述ELF文件为只包含一个可执行文件的嵌入式软件;识别所述ELF文件中的各个段的段头信息;根据段头信息,删除包含冗余信息的段,保留与运行所述ELF文件相关的段;对保留的与运行所述ELF文件相关的段进行压缩,生成压缩后的ELF文件。采用本发明的方法或系统,可以减少ELF文件占用的硬件资源,可以提高数字电视机顶盒的启动速度,进而使数字电视机顶盒在硬件配置不变的条件下,可以实现更多功能。【专利说明】一种ELF文件的压缩方法及系统【
技术领域
】[0001]本发明涉及数据处理领域,特别是涉及一种ELF文件的压缩方法及系统。【
背景技术
】[0002]数字电视机顶盒作为一种嵌入式计算机系统,已经进入了千家万户。用户通过机顶盒可以收看到画面更为清晰,播放更加流畅的电视节目,也可以通过机顶盒浏览网页,接收邮件,点播节目,视频通话等。[0003]越来越多的功能的增加,使得机顶盒内运行的程序所占用的硬件资源越来越多。由于机顶盒本身的硬件配置较低(与家用电脑等设备相比),所以当机顶盒内运行的程序占用硬件资源过多时,会导致机顶盒运行缓慢甚至死机。【
发明内容】[0004]本发明的目的是提供一种ELF文件的压缩方法及系统,能够对数字电视机顶盒内的ELF格式的文件进行压缩,减少运行ELF文件时占用的硬件资源,提高数字电视机顶盒的启动速度,使数字电视机顶盒在硬件配置不变的条件下,可以实现更多功能。[0005]为实现上述目的,本发明提供了如下方案:[0006]一种ELF文件的压缩方法,包括:[0007]获取ELF文件,所述ELF文件为只包含一个可执行文件的嵌入式软件;[0008]识别所述ELF文件中的各个段的段头信息;[0009]根据段头信息,删除包含冗余信息的段,保留与运行所述ELF文件相关的段;[0010]对保留的与运行所述ELF文件相关的段进行压缩,生成压缩后的ELF文件。[0011]可选的,所述删除包含冗余信息的段,包括:[0012]对于任意一个段,判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第一判断结果;[0013]当所述第一判断结果为否时,将该段从所述ELF文件中删除。[0014]可选的,所述保留与运行所述ELF文件相关的段,包括:[0015]对于任意一个段判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第二判断结果;[0016]当所述第二判断结果为是时,在所述ELF文件中保留该段。[0017]可选的,所述对保留的与运行所述ELF文件相关的段进行压缩,包括:[0018]采用LZSS压缩算法,对保留的与运行所述ELF文件相关的段进行压缩。[0019]可选的,所述对保留的与运行所述ELF文件相关的段进行压缩,包括:[0020]对于任意一个保留的与运行所述ELF文件相关的段,判断该段的长度是否大于预设长度,得到第三判断结果;[0021]当所述第三判断结果为是时,对该段进行压缩。[0022]-种ELF文件的压缩系统,包括:[0023]文件获取模块,用于获取ELF文件,所述ELF文件为只包含一个可执行文件的嵌入式软件;[0024]段头信息识别模块,用于识别所述ELF文件中的各个段的段头信息;[0025]过滤模块,用于根据段头信息,删除包含冗余信息的段,保留与运行所述ELF文件相关的段;[0026]压缩模块,用于对保留的与运行所述ELF文件相关的段进行压缩,生成压缩后的ELF文件。[0027]可选的,所述过滤模块包括:[0028]第一判断单元,用于对于任意一个段判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第一判断结果;[0029]删除单元,用于当所述第一判断结果为否时,将该段从所述ELF文件中删除。[0030]可选的,所述过滤模块包括:[0031]第二判断单元,用于对于任意一个段判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第二判断结果;[0032]保留单元,用于当所述第二判断结果为是时,在所述ELF文件中保留该段。[0033]可选的,所述压缩模块包括:[0034]第一压缩单元,用于采用LZSS压缩算法,对保留的与运行所述ELF文件相关的段进行压缩。[0035]可选的,所述压缩模块包括:[0036]第三判断单元,用于对于任意一个保留的与运行所述ELF文件相关的段,判断该段的长度是否大于预设长度,得到第三判断结果;[0037]第二压缩单元,用于当所述第三判断结果为是时,对该段进行压缩。[0038]根据本发明提供的具体实施例,本发明公开了以下技术效果:[0039]本发明的ELF文件的压缩方法及系统,通过根据段头信息,删除包含冗余信息的段,保留与运行所述ELF文件相关的段;对保留的与运行所述ELF文件相关的段进行压缩,可以减少ELF文件占用的硬件资源,可以提高数字电视机顶盒的启动速度,进而使数字电视机顶盒在硬件配置不变的条件下,可以实现更多功能。【专利附图】【附图说明】[0040]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0041]图1为本发明的ELF文件的压缩方法实施例1的流程图;[0042]图2为本发明的ELF文件的压缩方法实施例2的流程图;[0043]图3为本发明的ELF文件的压缩方法实施例3的流程图;[0044]图4为本发明的ELF文件的压缩系统实施例1的结构图;[0045]图5为本发明的ELF文件的压缩系统实施例2的结构图;[0046]图6为本发明的ELF文件的压缩系统实施例3的结构图。【具体实施方式】[0047]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0048]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。[0049]ELF是ExecutableandLinkableFormat的缩写,中文意为可执行连接格式。ELF是UNIX系统实验室(USL)作为应用程序二进制接口(ApplicationBinaryInterface,ABI)而开发和发布的。ELF文件的扩展名为elf。因为数字电视机顶盒中运行的文件主要为ELF文件,所以对ELF文件进行压缩,可以提高数字电视机顶盒运行文件的效率,节省运行文件时占用的硬件资源。[0050]图1为本发明的ELF文件的压缩方法实施例1的流程图。如图1所示,所述方法可以包括:[0051]步骤101:获取ELF文件,所述ELF文件为只包含一个可执行文件的嵌入式软件;[0052]通常一个程序可以包含一个ELF文件,也可以包含多个ELF文件。但是,在数字电视机顶盒的应用环境中,由于程序比较简单,所以只包含一个ELF文件,即,所述ELF文件为只包含一个可执行文件的嵌入式软件。[0053]步骤102:识别所述ELF文件中的各个段的段头信息;[0054]段(section)是ELF文件的主要构件。每个段都具有段头(Sectionheader)。对于任意一个段,段头信息用于描述该段的功能。[0055]表1为ELF文件中sectionheader的域描述:[0056]【权利要求】1.一种ELF文件的压缩方法,其特征在于,包括:获取ELF文件,所述ELF文件为只包含一个可执行文件的嵌入式软件;识别所述ELF文件中的各个段的段头信息;根据段头信息,删除包含冗余信息的段,保留与运行所述ELF文件相关的段;对保留的与运行所述ELF文件相关的段进行压缩,生成压缩后的ELF文件。2.根据权利要求1所述的方法,其特征在于,所述删除包含冗余信息的段,包括:对于任意一个段,判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第一判断结果;当所述第一判断结果为否时,将该段从所述ELF文件中删除。3.根据权利要求1所述的方法,其特征在于,所述保留与运行所述ELF文件相关的段,包括:对于任意一个段判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第二判断结果;当所述第二判断结果为是时,在所述ELF文件中保留该段。4.根据权利要求1所述的方法,其特征在于,所述对保留的与运行所述ELF文件相关的段进行压缩,包括:采用LZSS压缩算法,对保留的与运行所述ELF文件相关的段进行压缩。5.根据权利要求1所述的方法,其特征在于,所述对保留的与运行所述ELF文件相关的段进行压缩,包括:对于任意一个保留的与运行所述ELF文件相关的段,判断该段的长度是否大于预设长度,得到第三判断结果;当所述第三判断结果为是时,对该段进行压缩。6.-种ELF文件的压缩系统,其特征在于,包括:文件获取模块,用于获取ELF文件,所述ELF文件为只包含一个可执行文件的嵌入式软件;段头信息识别模块,用于识别所述ELF文件中的各个段的段头信息;过滤模块,用于根据段头信息,删除包含冗余信息的段,保留与运行所述ELF文件相关的段;压缩模块,用于对保留的与运行所述ELF文件相关的段进行压缩,生成压缩后的ELF文件。7.根据权利要求6所述的系统,其特征在于,所述过滤模块包括:第一判断单元,用于对于任意一个段判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第一判断结果;删除单元,用于当所述第一判断结果为否时,将该段从所述ELF文件中删除。8.根据权利要求6所述的系统,其特征在于,所述过滤模块包括:第二判断单元,用于对于任意一个段判断该段的段头信息是否表示该段包含程序指令并且该段在所述ELF文件运行时占用实际的存储空间,得到第二判断结果;保留单元,用于当所述第二判断结果为是时,在所述ELF文件中保留该段。9.根据权利要求6所述的系统,其特征在于,所述压缩模块包括:第一压缩单元,用于采用LZSS压缩算法,对保留的与运行所述ELF文件相关的段进行压缩。10.根据权利要求6所述的系统,其特征在于,所述压缩模块包括:第三判断单元,用于对于任意一个保留的与运行所述ELF文件相关的段,判断该段的长度是否大于预设长度,得到第三判断结果;第二压缩单元,用于当所述第三判断结果为是时,对该段进行压缩。【文档编号】G06F17/30GK104216890SQ201310210161【公开日】2014年12月17日申请日期:2013年5月30日优先权日:2013年5月30日【发明者】袁同斌,李登彪,高伟,陈烨申请人:北京赛科世纪数码科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1