文件处理方法、装置及服务端设备制造方法及图纸

技术编号:13295849 阅读:101 留言:0更新日期:2016-07-09 13:56
本发明专利技术是关于一种文件处理方法、装置及服务端设备。其中,所述方法包括:提取第一应用安装包中的压缩数据,其中,所述压缩数据包含有两个以上的压缩项;分别对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对应的解压数据;将各所述压缩项对应的所述解压数据进行合并,得到合并数据;对所述合并数据进行压缩处理,生成新的压缩数据。本发明专利技术实施例提供的技术方案可为用户节省应用下载流量,缩短下载等待时间,提升了用户的使用体验。

【技术实现步骤摘要】

本专利技术涉及一种计算机领域,特别是涉及一种文件处理方法、装置及服务端设备
技术介绍
随着科技的发展,现有服务端设备,如智能手机,平板电脑等,的应用越来越广泛。目前,安卓(Android)平台手机的全球市场份额已经达到78.1%。Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于服务端设备,如智能手机和平板电脑。为了迎合用户的使用需求,安卓应用市场上出现了多种多样的应用软件供用户下载并安装使用。APK是AndroidPackage的缩写,即Android安装包。现有技术中,通常采用zip的压缩方式,将每个要安装到安卓(Android)平台的应用安装程序包里的每一个文件分别进行zip压缩,然后打包为一个文件,生成后缀名为APK的安装包,其中包含了应用软件的二进制代码、资源、配置文件等。用户下载apk文件到安卓系统中后,执行该APK即可安装应用了。zip文件格式是一种数据压缩和归档格式。一个zip文件包含一个或多个已被压缩或未被压缩文件。zip采用分别压缩文件的方式,允许不必读取另外的数据而检索独立的文件,zip压缩最常用的是deflate算法。现有技术的AndroidAPK的压缩方法,对包里的每一个文件分别进行zip压缩,造成压缩比率不高,安装包比较大,致使下载速度慢,进而使得下载服务提供方和最终用户的带宽费用都比较高。
技术实现思路
鉴于上述问题,提出了本专利技术以便于提供一种克服上述问题或者至少部分地解决上述问题的文件处理方法、装置及服务端设备。依据本专利技术的第一个方面,提供了一种文件处理方法,包括:提取第一应用安装包中的压缩数据,其中,所述压缩数据包含有两个以上的压缩项;分别对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对应的解压数据;将各所述压缩项对应的所述解压数据进行合并,得到合并数据;对所述合并数据进行压缩处理,生成新的压缩数据。依据本专利技术的第二个方面,提供了一种文件处理装置,包括:提取模块,用于提取第一应用安装包中的压缩数据,其中,所述压缩数据包含有两个以上的压缩项;解压模块,用于分别对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对应的解压数据;合并模块,用于将各所述压缩项对应的所述解压数据进行合并,得到合并数据;压缩模块,用于对所述合并数据进行压缩处理,生成新的压缩数据。依据本专利技术的第三个方面,提供了一种服务端设备,包括文件处理装置;其中,所述文件处理装置,包括:提取模块,用于提取第一应用安装包中的压缩数据,其中,所述压缩数据包含有两个以上的压缩项;解压模块,用于分别对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对应的解压数据;合并模块,用于将各所述压缩项对应的所述解压数据进行合并,得到合并数据;压缩模块,用于对所述合并数据进行压缩处理,生成新的压缩数据。借由上述技术方案,本专利技术实施例提供的技术方案至少具有下列优点:本专利技术实施例提供的技术方案通过将多个压缩项分别进行解压缩处理,再对解压出的所有解压数据进行合并处理,以对合并处理后得到的合并数据进行整体压缩,可有效的提高文件的压缩率。经实际测试,采用本专利技术实施例提供的技术方案,文件的大小比采用现有技术提供的压缩算法平均能减少20%~30%左右。由此可知,本专利技术实施例提供的技术方案,可为用户节省应用下载流量,缩短下载等待时间,提升了用户的使用体验。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,并可依照说明书的内容予以实施,以下以本专利技术的较佳实施例并配合附图详细说明如后。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例一提供的文件处理方法的一种实现的流程示意图;图2示出了本专利技术实施例一提供的文件处理方法的另一种实现的流程示意图;图3示出了本专利技术实施例二提供的一种文件处理装置的结构示意图;图4示出了本专利技术实施例三提供的一种服务端设备的实现结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术实施例一提供的一种文件处理方法的流程示意图。本实施例提供的所述方法的执行主体可以是文件处理装置。该装置可具体为服务端设备,如云端设备。本实施例提供的所述方法可适用于新安装软件安装包的压缩或者是版本差异过大的升级安装包的压缩处理。采用本实施例提供的所述方法对新安装软件安装包或升级安装包进行压缩处理后,可有效的降低安装包的大小,进而为用户节省了下载安装包所需的流量,缩短下载等待时间。具体的,本实施例提供的所述方法包括:步骤101、提取第一应用安装包中的压缩数据。其中,所述的压缩数据包含有两个以上的压缩项(zipentry)。在安卓应用平台中,所述第一应用安装包就是一个APK文件,APK文件其实是zip格式,但后缀名被修改为apk。一个zip文件包含一个或多个已被压缩或未被压缩文件。zip采用分别压缩文件的方式,即压缩包中包含有多个压缩项(zipentry)。第一应用安装包中的压缩数据包含的压缩项,目前常用的有两种格式:一种是不压缩格式,一种是deflate压缩格式;这些压缩项在服务端为nz格式,nz格式的数据是需要解压缩的。deflate压缩是使用了哈夫曼编码(HuffmanCoding)的一种无损数据压缩算法。步骤102、分别对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对应的解压数据。具体的,可采用现有通用的解压缩算法分别对各压缩项进行解压缩处理。在实际应用中,还可能出现这样一种情况,如有些压缩项的压缩参数并不能获得(即推导不出),或者,有些压缩项为加密的压缩项;这些压缩项可不用对其进行解压缩处理,直接保持不变即可。步骤103、将各所述压缩项对应的所述解压数据进行合并,得到合并数据。这里需要说明的是:通过上述步骤本文档来自技高网...

【技术保护点】
一种文件处理方法,其特征在于,包括:提取第一应用安装包中的压缩数据,其中,所述压缩数据包含有两个以上的压缩项;分别对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对应的解压数据;将各所述压缩项对应的所述解压数据进行合并,得到合并数据;对所述合并数据进行压缩处理,生成新的压缩数据。

【技术特征摘要】
1.一种文件处理方法,其特征在于,包括:
提取第一应用安装包中的压缩数据,其中,所述压缩数据包含有两个
以上的压缩项;
分别对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对
应的解压数据;
将各所述压缩项对应的所述解压数据进行合并,得到合并数据;
对所述合并数据进行压缩处理,生成新的压缩数据。
2.根据权利要求1所述的方法,其特征在于,所述将各所述压缩项对
应的解压数据进行合并,得到合并数据,包括:
识别各所述压缩项对应的解压数据的内容格式;
将所述内容格式相同的解压数据合并为一个待压缩单元;
其中,所述合并数据包含有至少一个所述待压缩单元。
3.根据权利要求2所述的方法,其特征在于,所述对所述合并数据进
行压缩处理,生成新的压缩数据,包括:
根据所述待压缩单元所包含的解压数据的内容格式,选取对应的压缩
算法;
根据选取的所述压缩算法,对所述待压缩单元进行压缩处理,生成所
述待压缩单元对应的压缩数据;
其中,所述新的压缩数据包括有所述合并数据中包含的所有所述待压
缩单元对应的压缩数据。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述分别
对两个以上的所述压缩项进行解压缩处理,得到各所述压缩项对应的解压
数据之后,还包括:
判断所述解压数据中是否还包含有压缩文件;
若有,则对所述压缩文件进行解压缩处理,得到所述压缩文件的解压
数据。
5.根据权利要求1~3中任一项所述的方法,其特征在于,还包括:
提取所述第一应用安装包中的元数据信息;
将所述元数据信息和所述新的压缩数据重新...

【专利技术属性】
技术研发人员:孔庆龙
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1