一种软件打包的方法及系统技术方案

技术编号:13388172 阅读:72 留言:0更新日期:2016-07-22 09:01
本发明专利技术涉及一种软件打包的方法及系统。该方法包括:获取待打包的多个程序的程序信息;根据所述程序信息判断各个程序支持的硬件类型信息和版本信息是否一致;如果各个程序支持的硬件类型信息和版本信息一致,则将所述多个程序进行打包。本发明专利技术提供的软件打包的方法及系统,通过检测待打包的各个程序的支持的硬件类型和版本是否一致,对待打包的各个程序进行匹配检测,提高了软件打包中程序匹配的效率和准确性。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种软件打包的方法及系统
技术介绍
软件中包含了多个程序,每个程序具有各自的功能,但是各个程序之间通常还要相互依赖,所以通常是将各个程序放到一起(即打包)提供给用户。每个程序支持多种硬件类型,比如i386,x86_64,arm,mips,同时程序通常也会分为release版本和debug版本,release版本去掉了程序中的调试信息以便减少程序大小,debug版本保留大量的调试信息以便方便定位。软件发布的时候,会根据用户的需要发布指定的版本,比如发送给用户A的是i386的产品,发送给用户B的是arm产品的版本。但是按照上述的划分,同一套源代码可以生成4种类型、2种版本的程序,这样就会有8种组合,如果考虑到发送给用户的软件通常是多个程序的组合的话,比如软件中包括3个程序,那么实际上就会24种组合。现有的软件打包的方法中需要人工确定程序支持的硬件类型和版本的一致性,效率低,容易出现错误。
技术实现思路
本专利技术所要解决的技术问题是:现有的软件打包的方法中程序匹配检测效率低、准确性差的问题。为解决上述技术问题,本专利技术一方面提出了一种软件打包的方法,该方法包括:获取待打包的多个程序的程序信息;根据所述程序信息判断各个程序支持的硬件类型信息和版本信息是否一致;如果各个程序支持的硬件类型信息和版本信息一致,则将所述多个程序进行打包。可选地,所述获取待打包的多个程序的程序信息,包括:通过file命令获取待打包的多个程序支持的硬件类型信息和版本信息。可选地,所述将所述多个程序进行打包,包括:将软件头部信息写入软件文件,将所述多个程序内容写入所述软件头部信息之后。可选地,所述软件头部信息包括程序个数、软件头部校验和、各个程序的程序名、各个程序的大小和各个程序的校验值。可选地,还包括:获取软件头部信息;其中,所述软件头部校验和为软件头部各个字节内容之和。本专利技术另一方面提出了一种软件打包的系统,该系统包括:程序信息获取单元,用于获取待打包的多个程序的程序信息;程序信息判断单元,用于根据所述程序信息判断各个程序支持的硬件类型信息和版本信息是否一致;软件打包单元,用于当各个程序支持的硬件类型信息和版本信息一致时,将所述多个程序进行打包。可选地,所述程序信息获取单元,具体用于通过file命令获取待打包的多个程序支持的硬件类型信息和版本信息。可选地,所述软件打包单元,具体用于当各个程序支持的硬件类型信息和版本信息一致时,将软件头部信息写入软件文件,将所述多个程序内容写入所述软件头部信息之后。可选地,所述软件头部信息包括程序个数、软件头部校验和、各个程序的程序名、各个程序的大小和各个程序的校验值。可选地,该系统还包括软件头部信息获取单元,用于获取软件头部信息;其中,所述软件头部校验和为软件头部各个字节内容之和。本专利技术提供的软件打包的方法及系统,通过检测待打包的各个程序的支持的硬件类型和版本是否一致,对待打包的各个程序进行匹配检测,提高了软件打包中程序匹配的效率和准确性。附图说明通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中:图1示出了本专利技术一个实施例的软件打包的方法的示意图;图2示出了本专利技术一个实施例的软件打包的系统的结构示意图。具体实施方式下面将结合附图对本专利技术的实施例进行详细描述。图1是本专利技术一个实施例的软件打包的方法的示意图。如图1所示,该软件打包的方法包括:S11:获取待打包的多个程序的程序信息;S12:根据所述程序信息判断各个程序支持的硬件类型信息和版本信息是否一致;S13:如果各个程序支持的硬件类型信息和版本信息一致,则将所述多个程序进行打包。本实施例的软件打包的方法,通过检测待打包的各个程序的支持的硬件类型和版本是否一致,对待打包的各个程序进行匹配检测,提高了软件打包中程序匹配的效率和准确性。进一步地,前述步骤S11中还包括下述的图中未示出的子步骤S11a:通过file命令获取待打包的多个程序支持的硬件类型信息和版本信息。举例来说,file命令获取各个程序的信息。file命令会返回硬件类型,比如:(1)ELF64-bitLSBexecutable,x86_64表明硬件是x86_64(2)ELF32-bitLSBexecutable,Intel80386表明硬件是i386(3)ELF32-bitLSBexecutable,ARM表明硬件是ARM(4)ELF64-bitLSBexecutable,MIPS表明硬件是mips需要说明的是,32-bit表明是32位程序,64-bit表明是64位程序。同时file命令还会返回如下信息:(1)stripped。表明程序中已经没有符号表等调试信息,那么可以认为是release版本(2)notstripped。表明程序中包含了符号表等调试信息,那么可以认为是debug版本前述步骤S13中将所述多个程序进行打包还包括下述的图中未示出的子步骤S13a:将软件头部信息写入软件文件,将所述多个程序内容写入所述软件头部信息之后。换句话说,软件内容包括软件头部信息和多个程序内容两部分。进一步地,所述软件头部信息包括程序个数、软件头部校验和、各个程序的程序名、各个程序的大小和各个程序的校验值。在实际应用中,打包后的软件内容如表1所示。其中,表中第1行为软件头部信息,软件头部信息之后包括多个程序内容。软件头部信息包括魔术字、软件版本号程序个数、软件头部校验和、各个程序的程序名、各个程序的大小和各个程序的校验值。表1打包后的软件内容需要说明的是,魔术字是公司名称和产品类型的组合,用来表明软件的基本用途,这部分内容是不固定的,需要根据产品情况来调整。由于软件是整体提供的,需要一个软件版本号,软件版本号也不是固定的。软件头部校验和用来校验软件头部的正确性。在一种可选的实施方式中,该方法还包括:获取软件头部信息;其中,所述软件头部校验和为软件头部各个字节内容之和。具体来说,由于软件头部的信息不是很多,因此只需要一种简单的方法进行校验即可,本实施例采取的方法是对软件头部的信息按照字节为单位进行相加,并将结果记录在头部中的校验和字段。<本文档来自技高网...

【技术保护点】
一种软件打包的方法,其特征在于,包括:获取待打包的多个程序的程序信息;根据所述程序信息判断各个程序支持的硬件类型信息和版本信息是否一致;如果各个程序支持的硬件类型信息和版本信息一致,则将所述多个程序进行打包。

【技术特征摘要】
1.一种软件打包的方法,其特征在于,包括:
获取待打包的多个程序的程序信息;
根据所述程序信息判断各个程序支持的硬件类型信息和版本信
息是否一致;
如果各个程序支持的硬件类型信息和版本信息一致,则将所述多
个程序进行打包。
2.根据权利要求1所述的软件打包的方法,其特征在于,所述获
取待打包的多个程序的程序信息,包括:
通过file命令获取待打包的多个程序的支持的硬件类型信息和版
本信息。
3.根据权利要求1所述的软件打包的方法,其特征在于,所述将
所述多个程序进行打包,包括:
将软件头部信息写入软件文件,将所述多个程序内容写入所述软
件头部信息之后。
4.根据权利要求3所述的软件打包的方法,其特征在于,所述软
件头部信息包括程序个数、软件头部校验和、各个程序的程序名、各
个程序的大小和各个程序的校验值。
5.根据权利要求4所述的软件打包的方法,其特征在于,还包括:
获取软件头部信息;
其中,所述软件头部校验和为软件头部各个字节内容之和。
6.一种软件打包的系统,其特征在于,包括:

【专利技术属性】
技术研发人员:李鹏
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1