CN104572966A - 一种压缩文件的解压方法和装置 - Google Patents

一种压缩文件的解压方法和装置 Download PDF

Info

Publication number
CN104572966A
CN104572966A CN201410851026.7A CN201410851026A CN104572966A CN 104572966 A CN104572966 A CN 104572966A CN 201410851026 A CN201410851026 A CN 201410851026A CN 104572966 A CN104572966 A CN 104572966A
Authority
CN
China
Prior art keywords
file
data
compressed file
compressed
client
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
Application number
CN201410851026.7A
Other languages
English (en)
Inventor
任勇全
赵安安
陈磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410851026.7A priority Critical patent/CN104572966A/zh
Publication of CN104572966A publication Critical patent/CN104572966A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种压缩文件的解压方法和装置,所述方法包括:接收客户端针对压缩文件中的文件的下载请求;根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及当对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。本发明实施例有选择性地下载文件,避免了下载完整的压缩文件的同时,实现了实时的、流式的解压缩,避免了下载不需要的文件,无需等待下载完整个压缩文件才可以获得所需的文件,提高了操作的简便性,大大减少下载的时间和带宽的占用。

Description

一种压缩文件的解压方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种压缩文件的解压方法和一种压缩文件的解压装置。
背景技术
随着网络科技的发展,尤其是云科技,网络应用已经广泛进入人们的生活的各个方面。
人们习惯将文件存储到网络存储工具中,如云盘,其也是互联网云技术的产物,它通过互联网为企业和个人提供文件的储存、读取、下载等服务。
对于传统的实体磁盘来说,更方便,用户不需要把储存重要资料的实体磁盘带在身上。却一样可以通过互联网,轻松从网络存储工具中读取自己所存储的文件,因此,网络存储工具广泛普及。
如果用户在网络存储工具中存储的是压缩文件,而用户需要获取其中的至少部分文件,一般需要将整个文件下载到本地,然后进行解压缩,才可以将所需的文件取出,操作麻烦,且下载不需要的文件浪费了需要带宽资源、延长了下载时间,这个问题在压缩文件较大(如10G)而所需的文件较少(如2M)的情况下尤为突出。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种压缩文件的解压方法和相应的一种压缩文件的解压装置。
依据本发明的一个方面,提供了一种压缩文件的解压方法,包括:
接收客户端针对压缩文件中的文件的下载请求;
根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及
当对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
可选地,所述根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据的步骤进一步包括:
从所述下载请求中提取压缩文件的文件标识和压缩文件中的文件的文件信息;以及
向文件集群请求所述文件标识对应的压缩文件的至少部分数据。
可选地,所述从文件集群中请求所述压缩文件的至少部分数据的步骤进一步包括:
从所述下载请求中提取所述压缩文件的文件标识和压缩文件中的文件的文件信息;
向文件集群请求所述文件标识对应的压缩文件的文件内容信息;
从所述文件内容信息中查找所述文件信息所属文件的数据位置;以及
向文件集群请求在所述压缩文件中的数据位置的压缩数据。
可选地,所述当对所述压缩文件的至少部分数据进行解压缩操作时,将已解压缩的所述文件的数据发送至所述客户端的步骤进一步包括:
对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据;以及
将所述文件的当前已解压缩的至少部分数据发送至所述客户端,直至解压缩完成。
可选地,所述压缩文件包括一个或多个文件数据块,所述文件数据块具有数据块头;
所述对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据的步骤进一步包括:
检测所述压缩文件的文件类型;
检测所述数据块头是否与所述文件信息匹配;以及
若是,则采用所述文件类型对应的解压缩方式对所述数据块头所属的文件数据块进行解压缩操作,以获得所述文件的至少部分数据。
可选地,所述对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据的步骤进一步包括:
检测所述压缩文件的文件类型;以及
采用所述文件类型对应的解压缩方式对所述压缩文件中的数据位置的压缩数据进行解压缩操作,以获得所述文件的至少部分数据。
可选地,在所述当接收到客户端针对压缩文件中的文件的下载请求时,从文件集群中请求所述压缩文件的至少部分数据的步骤之前,所述方法还包括:
当接收到客户端的压缩文件的预览请求时,向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息。
可选地,所述接收客户端针对压缩文件中的文件的下载请求的步骤包括:
接收客户端基于文件信息、针对压缩文件中的文件的下载请求。
可选地,所述向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息的步骤进一步包括:
从所述预览请求中提取所述压缩文件的文件标识;
向文件集群请求所述文件标识对应的压缩文件的至少部分数据,以获得所述压缩文件的文件头;
从所述压缩文件的文件头中读取所述压缩文件中的文件信息;以及
将所述压缩文件中文件的文件信息返回所述客户端。
可选地,所述文件信息包括文件名、文件大小中的至少一个。
根据本发明的另一方面,提供了一种压缩文件的解压装置,包括:
请求接收模块,适于接收客户端针对压缩文件中的文件的下载请求;
数据请求模块,适于根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及
文件解压模块,适于在对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
可选地,所述数据请求模块还适于:
从所述下载请求中提取压缩文件的文件标识和压缩文件中的文件的文件信息;以及
向文件集群请求所述文件标识对应的压缩文件的至少部分数据。
可选地,所述数据请求模块还适于:
从所述下载请求中提取所述压缩文件的文件标识和压缩文件中的文件的文件信息;
向文件集群请求所述文件标识对应的压缩文件的文件内容信息;
从所述文件内容信息中查找所述文件信息所属文件的数据位置;以及
向文件集群请求在所述压缩文件中的数据位置的压缩数据。
可选地,所述文件解压模块还适于:
对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据;以及
将所述文件的当前已解压缩的至少部分数据发送至所述客户端,直至解压缩完成。
可选地,所述压缩文件包括一个或多个文件数据块,所述文件数据块具有数据块头;所述文件解压模块还适于:
检测所述压缩文件的文件类型;
检测所述数据块头是否与所述文件信息匹配;以及
若是,则采用所述所述文件类型对应的解压缩方式对所述数据块头所属的文件数据块进行解压缩操作,以获得所述文件的至少部分数据。
可选地,所述文件解压模块还适于:
检测所述压缩文件的文件类型;以及
采用所述所述文件类型对应的解压缩方式对所述压缩文件中的数据位置的压缩数据进行解压缩操作,以获得所述文件的至少部分数据。
可选地,还包括:
文件信息返回模块,适于在接收到客户端的压缩文件的预览请求时,向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息。
可选地,所述请求接收模块还适于:
接收客户端基于文件信息,针对压缩文件中的文件的下载请求。
可选地,所述文件信息返回模块还适于:
从所述预览请求中提取所述压缩文件的文件标识;
向文件集群请求所述文件标识对应的压缩文件的至少部分数据,以获得所述压缩文件的文件头;
从所述压缩文件的文件头中读取所述压缩文件中的文件信息;以及
将所述压缩文件中文件的文件信息返回所述客户端。
可选地,所述文件信息包括文件名、文件大小中的至少一个。
本发明实施例对压缩文件中的文件的下载请求,从文件集群中请求压缩文件的至少部分数据,在对压缩文件的至少部分数据进行解压缩操作的同时时,将已解压缩的文件的数据发送至客户端,有选择性地下载文件,避免了下载完整的压缩文件的同时,实现了实时的、流式的解压缩,避免了下载不需要的文件,无需等待下载完整个压缩文件才可以获得所需的文件,提高了操作的简便性,大大减少下载的时间和带宽的占用。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种压缩文件的解压方法实施例1的步骤流程示意图;
图2示出了根据本发明一个实施例的一种压缩文件的解压方法实施例2的步骤流程示意图;以及
图3示出了根据本发明一个实施例的一种压缩文件的解压装置实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种压缩文件的解压方法实施例1的步骤流程示意图,具体可以包括如下步骤:
步骤101,接收客户端针对压缩文件中的文件的下载请求;
在具体实现中,用户可以从任何一种电子设备访问服务器(如网络存储工具的服务器集群),例如手机、PDA(Personal Digital Assistant,个人数字助理)、膝上型计算机、电脑等等,本发明实施例对此不加以限制。
这些电子设备可以支持包括Android(安卓)、IOS、WindowsPhone或者windows等的操作系统,通常可以运行访问网络的客户端,该客户端可以为独立的应用程序,也可以为非独立的应用程序,如浏览器等,本发明实施例对此不加以限制。
通常,用户为了节省存储空间等需求、将一个或多个文件进行压缩,生成压缩文件,再上传到网络存储工具中。
简单而言,压缩文件可以指经过压缩操作的文件,压缩的原理一般是把文件的二进制代码压缩,把相邻的0、1代码减少,比如有000000,可以把它变成6个0的写法60,来减少该文件的空间。
根据压缩操作(如压缩算法)的不同,压缩文件可以包括RAR、ZIP、ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR、ISO等不同类型解压文件。
用户在需要压缩文件中的一个或多个文件时,可以在客户端中通过点击指定控件、点击压缩文件中的文件等方式触发压缩文件中的文件的下载请求。
下载请求可以是指下载压缩文件中某一个或多个文件的指示,下载请求中可以包括压缩文件的文件标识和压缩文件中的文件的文件信息。
其中,文件标识可以是能够代表一个唯一确定的压缩文件的信息,如Hash(哈希)值、MD5(Message Digest Algorithm,消息摘要算法第五版)值等等;文件信息可以是压缩文件中的文件的属性,例如,名称、文件大小等等。
在存储大数量的文件时,可以部署服务器集群以应用可能的大规模的客户端访问。
本发明实施例中,可以通过负载均衡(Load Balance)的方式将客户端下载请求分摊到服务器集群的服务器中,让负载均衡平均分担负载,避免出现某台服务器负载高导致宕机,而某台服务器闲置的情况。
步骤102,根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;
在实际应用中,文件集群可以为存储用户上传的文件(包括压缩文件)的集群设备。
所述文件集群中可以存储有所述压缩文件的一个或多个压缩数据块,每个压缩数据块与所述文件标识关联。
例如,可以将文件标识设置为Key(键),将一个或多个压缩数据设置为Value(值),Key(键)和每个Value(值)可以组成一个Key/Value(键值对),存储在文件集群中。
文件集群在接收到压缩文件的请求时,可以返回相应的压缩文件的数据。
具体而言,可以查找与该文件标识匹配的Key,将该Key关联的Value返回给服务器。
在本发明的一种可选实施例中,步骤101可以包括如下子步骤:
子步骤S11,从所述下载请求中提取压缩文件的文件标识和压缩文件中的文件的文件信息;以及
子步骤S12,向文件集群请求所述文件标识对应的压缩文件的至少部分数据。
在一种比较通用的方式中,可以直接向文件集群请求文件标识对应的压缩文件,在服务器本地提取文件信息对应的文件。
这种通用的方式可以应用于RAR等文件格式的压缩文件,这些压缩文件中没有设置文件内容信息,该文件内容信息记录有文件的数据位置(如起始位置和文件长度)。
这种通用的方式也可以应用于ZIP等文件格式的压缩文件,这些压缩文件中设置有文件内容信息。
需要说明的是,文件集群在接收到压缩文件的请求时,若所需文件不是位于压缩文件的末端,则文件集群可能返回包括所需文件在内的至少部分的压缩文件(服务器可以停止请求后续的压缩文件的数据),若所需文件位于压缩文件的末端,则文件集群可能返回包括所需文件在内的全部的压缩文件。
在本发明的一种可选实施例中,步骤101可以包括如下子步骤:
子步骤S21,从所述下载请求中提取所述压缩文件的文件标识和压缩文件中的文件的文件信息;
子步骤S22,向文件集群请求所述文件标识对应的压缩文件的文件内容信息;
子步骤S23,从所述文件内容信息中查找所述文件信息所属文件的数据位置;以及
子步骤S24,向文件集群请求在所述压缩文件中的数据位置的压缩数据。
对于ZIP等文件格式的压缩文件,这些压缩文件中设置有文件内容信息,可以直接请求所需的文件的压缩数据,以减少数据的传输量。
例如,ZIP的文件内容信息(又称目录结束标识)存在于整个压缩文件的结尾,用于标记压缩的目录数据的结束的结构,其结构说明可以如下:
其中,通过读取核心目录开始位置的磁盘编号和核心目录的大小可以获知查找文件信息所属文件的数据位置。
步骤103,当对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端;
本发明实施例中提供了实现了实时的、流式的在线解压缩,可以一边对压缩文件的至少部分数据进行解压缩操作,在尚未完全解压完成的同时,一边将已解压缩的文件的数据发送至客户端。
在本发明的一种可选实施例中,步骤103可以包括如下子步骤:
子步骤S31,对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据;
服务器可以对请求的压缩文件的至少部分数据进行解压缩操作,从中解压出所需的文件。
在本发明的一种可选实施例中,所述压缩文件可以包括一个或多个文件数据块,所述文件数据块可以具有数据块头;
在RAR等格式的压缩文件中,压缩文件可以由文件头(Main_Header)、一个或多个可变长度的文件数据块(File)组成,该文件数据块(File)可以关联一个压缩文件中的文件。
其中,每个文件数据块中可以具有数据块头(File_Header)和数据体(File_Body),在数据块头可以保存被压缩的这一文件的信息,比如文件名、文件压缩前大小、压缩后大小、压缩算法等等。
则在本发明实施例中,子步骤S31可以包括如下子步骤:
子步骤S311,检测所述压缩文件的文件类型;
在具体实现中,压缩文件一般会有文件头(Main_Header),在文件头(Main_Header)中通常会记录了压缩文件的类型,例如,RAR、ZIP等。
子步骤S312,检测所述数据块头是否与所述文件信息匹配;若是,则执行子步骤S313;
可以从文件数据块提取文件的信息(如文件名),以所需文件的文件信息(如文件名)进行对比,如果相同,则可以认为数据块头与文件信息匹配。如果不相同,则可以认为数据块头与文件信息不匹配。
需要说明的是,对于RAR等类型的压缩文件,服务器可以从头开始接收压缩数据,当识别一个文件数据块并且这个文件数据块不是所需的文件信息时,服务器以类似seek操作的方式,跳过这个文件数据块,读取下一个文件数据块,直至读取到所需的文件信息。
子步骤S313,采用所述所述文件类型对应的解压缩方式对所述数据块头所属的文件数据块进行解压缩操作,以获得所述文件的至少部分数据。
若数据块头与文件信息匹配,则可以认为数据块头所属的数据块为由所需文件的压缩而成的压缩数据,可以对其进行解压缩操作。
每种不同格式的压缩文件,一般会采取不同的压缩方式(如压缩算法),本发明实施例中,可以采用相对应的解压缩方式(如解压缩算法)进行解压。
在本发明的一种可选实施例中,子步骤S31可以包括如下子步骤:
子步骤S314,检测所述压缩文件的文件类型;
子步骤S315,采用所述所述文件类型对应的解压缩方式对所述压缩文件中的数据位置的压缩数据进行解压缩操作,以获得所述文件的至少部分数据。
对于ZIP等格式的文件,由于在先已经定位了所需的文件的数据位置,则可以直接对请求压缩文件中的数据位置的压缩数据进行解压缩操作。
需要说明的是,文件集群一般并不会主动发送数据,而是由服务器去请求压缩数据,每次请求一个压缩数据块(比如,压缩数据块为512K),当解压完需要的文件后,服务器可以停止请求压缩数据块,因此,文件集群也不再需要发送压缩数据。
子步骤S32,将所述文件的当前已解压缩的至少部分数据发送至所述客户端,直至解压缩完成。
当前若已解压缩文件的部分数据,则服务器可以将当前解压出的文件的部分数据返回给客户端,直至解压缩完成,将文件的所有数据发送至客户端。
在客户端中,可以存储所接收到的文件,也可以在线进行操作(如展示图片、加载文档、播放音频/视频等),本发明实施例对此不加以限制。
进一步而言,对于若文件为视频,服务器可以对当前已解压缩的文件的至少部分数据进行视频转码操作,以及,将当前视频转码之后的文件至少部分数据发送至所述客户端进行播放,直至解压缩完成,实现压缩文件的在线视频播放。
当压缩文件为视频数据,可以对该视频数据进行视频转码操作(VideoTranscoding),将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。
转码本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。
例如,目前大多数电影以MPEG-2格式存储在DVD光盘中,若用户为了保证电影的质量,直接对MPEG-2格式的电影进行压缩,并将压缩文件上传至网络存储工具。当前用户需要进行在线播放该压缩文件中的MPEG-2格式的电影,但是网络(特别是互联网)通常限制了视频传输的带宽,造成电影在线播放的卡顿现象。
本发明实施例中,可以对该电影在传输之前通过视频转码操作将视频数据转换成带宽效率更高的格式,如,FLV格式,以减少带宽的限制,加快电影的在线播放响应,减少卡顿现象,提高用户体验。
本发明实施例对压缩文件中的文件的下载请求,从文件集群中请求压缩文件的至少部分数据,在对压缩文件的至少部分数据进行解压缩操作的同时时,将已解压缩的文件的数据发送至客户端,有选择性地下载文件,避免了下载完整的压缩文件的同时,实现了实时的、流式的解压缩,避免了下载不需要的文件,无需等待下载完整个压缩文件才可以获得所需的文件,提高了操作的简便性,大大减少下载的时间和带宽的占用。
参照图2,示出了根据本发明一个实施例的一种压缩文件的解压方法实施例2的步骤流程示意图,具体可以包括如下步骤:
步骤201,当接收到客户端的压缩文件的预览请求时,向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息;
在具体实现中,用户可以在客户端中通过点击指定控件、点击压缩文件中等方式触发压缩文件中的预览请求。
下载请求可以是指预览某个压缩文件中的文件的指示,预览请求中可以包括压缩文件的文件标识。
在本发明的一种可选实施例中,步骤201可以包括如下子步骤:
子步骤S41,从所述预览请求中提取所述压缩文件的文件标识;
子步骤S42,向文件集群请求所述文件标识对应的压缩文件的至少部分数据,以获得所述压缩文件的文件头;
子步骤S43,从所述压缩文件的文件头中读取所述压缩文件中的文件信息;以及
子步骤S44,将所述压缩文件中文件的文件信息返回所述客户端。
RAR、ZIP等不同格式的压缩文件,一般会包括文件头(Main_Header),文件头(Main_Header)一般会包括压缩文件中的文件信息,该所述文件信息可以包括文件名、文件大小中的至少一个。
以ZIP格式的压缩文件为例,其文件头(Main_Header)的格式说明可以如下:
在本发明实施例中,服务器可以向文件集群请求压缩文件的至少部分数据,在请求的至少部分数据中检测到文件头后,可以停止向文件集群请求压缩文件。
步骤202,接收客户端基于文件信息,针对压缩文件中的文件的下载请求;
在本发明实施例中,用户可以通过客户端展示的文件信息发起针对压缩文件中的下载请求。
例如,客户端可以在UI(User Interface,用户界面)中展示文件信息,并在文件信息的附近提供一个下载控件,当用户点击该下载控件时,可以触发针对该文件信息对应文件的下载请求。
步骤203,从文件集群中请求所述压缩文件的至少部分数据;以及
步骤204,当对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了根据本发明一个实施例的一种压缩文件的解压装置实施例的结构示意图,具体可以包括如下模块:
请求接收模块301,适于接收客户端针对压缩文件中的文件的下载请求;
数据请求模块302,适于根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及
文件解压模块303,适于在对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
在本发明的一种可选实施例中,所述数据请求模块302还可以适于:
从所述下载请求中提取压缩文件的文件标识和压缩文件中的文件的文件信息;以及
向文件集群请求所述文件标识对应的压缩文件的至少部分数据。
在本发明的一种可选实施例中,所述数据请求模块302还可以适于:
从所述下载请求中提取所述压缩文件的文件标识和压缩文件中的文件的文件信息;
向文件集群请求所述文件标识对应的压缩文件的文件内容信息;
从所述文件内容信息中查找所述文件信息所属文件的数据位置;以及
向文件集群请求在所述压缩文件中的数据位置的压缩数据。
在本发明的一种可选实施例中,所述文件解压模块303还可以适于:
对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据;以及
将所述文件的当前已解压缩的至少部分数据发送至所述客户端,直至解压缩完成。
在本发明的一种可选实施例中,所述压缩文件可以包括一个或多个文件数据块,所述文件数据块可以具有数据块头;所述文件解压模块303还可以适于:
检测所述压缩文件的文件类型;
检测所述数据块头是否与所述文件信息匹配;以及
若是,则采用所述所述文件类型对应的解压缩方式对所述数据块头所属的文件数据块进行解压缩操作,以获得所述文件的至少部分数据。
在本发明的一种可选实施例中,所述文件解压模块303还可以适于:
检测所述压缩文件的文件类型;以及
采用所述所述文件类型对应的解压缩方式对所述压缩文件中的数据位置的压缩数据进行解压缩操作,以获得所述文件的至少部分数据。
在本发明的一种可选实施例中,所述装置还可以包括如下模块:
文件信息返回模块,适于在接收到客户端的压缩文件的预览请求时,向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息。
在本发明的一种可选实施例中,所述请求接收模块301还可以适于:
接收客户端基于文件信息,针对压缩文件中的文件的下载请求。
在本发明的一种可选实施例中,所述文件信息返回模块还可以适于:
从所述预览请求中提取所述压缩文件的文件标识;
向文件集群请求所述文件标识对应的压缩文件的至少部分数据,以获得所述压缩文件的文件头;
从所述压缩文件的文件头中读取所述压缩文件中的文件信息;以及
将所述压缩文件中文件的文件信息返回所述客户端。
在具体实现中,所述文件信息可以包括文件名、文件大小中的至少一个。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的压缩文件的解压设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种压缩文件的解压方法,包括:
接收客户端针对压缩文件中的文件的下载请求;
根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及
当对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
A2、如A1所述的方法,所述根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据的步骤进一步包括:
从所述下载请求中提取压缩文件的文件标识和压缩文件中的文件的文件信息;以及
向文件集群请求所述文件标识对应的压缩文件的至少部分数据。
A3、如A1所述的方法,所述从文件集群中请求所述压缩文件的至少部分数据的步骤进一步包括:
从所述下载请求中提取所述压缩文件的文件标识和压缩文件中的文件的文件信息;
向文件集群请求所述文件标识对应的压缩文件的文件内容信息;
从所述文件内容信息中查找所述文件信息所属文件的数据位置;以及
向文件集群请求在所述压缩文件中的数据位置的压缩数据。
A4、如A1或A2或A3所述的方法,所述当对所述压缩文件的至少部分数据进行解压缩操作时,将已解压缩的所述文件的数据发送至所述客户端的步骤进一步包括:
对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据;以及
将所述文件的当前已解压缩的至少部分数据发送至所述客户端,直至解压缩完成。
A5、如A4所述的方法,所述压缩文件包括一个或多个文件数据块,所述文件数据块具有数据块头;
所述对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据的步骤进一步包括:
检测所述压缩文件的文件类型;
检测所述数据块头是否与所述文件信息匹配;以及
若是,则采用所述文件类型对应的解压缩方式对所述数据块头所属的文件数据块进行解压缩操作,以获得所述文件的至少部分数据。
A6、如A4所述的方法,所述对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据的步骤进一步包括:
检测所述压缩文件的文件类型;以及
采用所述文件类型对应的解压缩方式对所述压缩文件中的数据位置的压缩数据进行解压缩操作,以获得所述文件的至少部分数据。
A7、如A1或A2或A3或A5或A6所述的方法,在所述当接收到客户端针对压缩文件中的文件的下载请求时,从文件集群中请求所述压缩文件的至少部分数据的步骤之前,所述方法还包括:
当接收到客户端的压缩文件的预览请求时,向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息。
A8、如A7所述的方法,所述接收客户端针对压缩文件中的文件的下载请求的步骤包括:
接收客户端基于文件信息、针对压缩文件中的文件的下载请求。
A9、如A7所述的方法,所述向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息的步骤进一步包括:
从所述预览请求中提取所述压缩文件的文件标识;
向文件集群请求所述文件标识对应的压缩文件的至少部分数据,以获得所述压缩文件的文件头;
从所述压缩文件的文件头中读取所述压缩文件中的文件信息;以及
将所述压缩文件中文件的文件信息返回所述客户端。
A10、如A7所述的方法,所述文件信息包括文件名、文件大小中的至少一个。
本发明实施例还公开了B11、一种压缩文件的解压装置,包括:
请求接收模块,适于接收客户端针对压缩文件中的文件的下载请求;
数据请求模块,适于根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及
文件解压模块,适于在对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
B12、如B11所述的装置,所述数据请求模块还适于:
从所述下载请求中提取压缩文件的文件标识和压缩文件中的文件的文件信息;以及
向文件集群请求所述文件标识对应的压缩文件的至少部分数据。
B13、如B11所述的装置,所述数据请求模块还适于:
从所述下载请求中提取所述压缩文件的文件标识和压缩文件中的文件的文件信息;
向文件集群请求所述文件标识对应的压缩文件的文件内容信息;
从所述文件内容信息中查找所述文件信息所属文件的数据位置;以及
向文件集群请求在所述压缩文件中的数据位置的压缩数据。
B14、如B11或B12或B13所述的装置,所述文件解压模块还适于:
对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据;以及
将所述文件的当前已解压缩的至少部分数据发送至所述客户端,直至解压缩完成。
B15、如B14所述的装置,所述压缩文件包括一个或多个文件数据块,所述文件数据块具有数据块头;所述文件解压模块还适于:
检测所述压缩文件的文件类型;
检测所述数据块头是否与所述文件信息匹配;以及
若是,则采用所述所述文件类型对应的解压缩方式对所述数据块头所属的文件数据块进行解压缩操作,以获得所述文件的至少部分数据。
B16、如B14所述的装置,所述文件解压模块还适于:
检测所述压缩文件的文件类型;以及
采用所述所述文件类型对应的解压缩方式对所述压缩文件中的数据位置的压缩数据进行解压缩操作,以获得所述文件的至少部分数据。
B17、如B11或B12或B13或B15或B16所述的装置,还包括:
文件信息返回模块,适于在接收到客户端的压缩文件的预览请求时,向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息。
B18、如B17所述的装置,所述请求接收模块还适于:
接收客户端基于文件信息,针对压缩文件中的文件的下载请求。
B19、如B17所述的装置,所述文件信息返回模块还适于:
从所述预览请求中提取所述压缩文件的文件标识;
向文件集群请求所述文件标识对应的压缩文件的至少部分数据,以获得所述压缩文件的文件头;
从所述压缩文件的文件头中读取所述压缩文件中的文件信息;以及
将所述压缩文件中文件的文件信息返回所述客户端。
B20、如B17所述的装置,所述文件信息包括文件名、文件大小中的至少一个。

Claims (10)

1.一种压缩文件的解压方法,包括:
接收客户端针对压缩文件中的文件的下载请求;
根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及
当对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
2.如权利要求1所述的方法,其特征在于,所述根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据的步骤进一步包括:
从所述下载请求中提取压缩文件的文件标识和压缩文件中的文件的文件信息;以及
向文件集群请求所述文件标识对应的压缩文件的至少部分数据。
3.如权利要求1所述的方法,其特征在于,所述从文件集群中请求所述压缩文件的至少部分数据的步骤进一步包括:
从所述下载请求中提取所述压缩文件的文件标识和压缩文件中的文件的文件信息;
向文件集群请求所述文件标识对应的压缩文件的文件内容信息;
从所述文件内容信息中查找所述文件信息所属文件的数据位置;以及
向文件集群请求在所述压缩文件中的数据位置的压缩数据。
4.如权利要求1或2或3所述的方法,其特征在于,所述当对所述压缩文件的至少部分数据进行解压缩操作时,将已解压缩的所述文件的数据发送至所述客户端的步骤进一步包括:
对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据;以及
将所述文件的当前已解压缩的至少部分数据发送至所述客户端,直至解压缩完成。
5.如权利要求4所述的方法,其特征在于,所述压缩文件包括一个或多个文件数据块,所述文件数据块具有数据块头;
所述对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据的步骤进一步包括:
检测所述压缩文件的文件类型;
检测所述数据块头是否与所述文件信息匹配;以及
若是,则采用所述文件类型对应的解压缩方式对所述数据块头所属的文件数据块进行解压缩操作,以获得所述文件的至少部分数据。
6.如权利要求4所述的方法,其特征在于,所述对所述压缩文件的至少部分数据进行解压缩操作,以获得所述文件的至少部分数据的步骤进一步包括:
检测所述压缩文件的文件类型;以及
采用所述文件类型对应的解压缩方式对所述压缩文件中的数据位置的压缩数据进行解压缩操作,以获得所述文件的至少部分数据。
7.如权利要求1或2或3或5或6所述的方法,其特征在于,在所述当接收到客户端针对压缩文件中的文件的下载请求时,从文件集群中请求所述压缩文件的至少部分数据的步骤之前,所述方法还包括:
当接收到客户端的压缩文件的预览请求时,向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息。
8.如权利要求7所述的方法,其特征在于,所述接收客户端针对压缩文件中的文件的下载请求的步骤包括:
接收客户端基于文件信息、针对压缩文件中的文件的下载请求。
9.如权利要求7所述的方法,其特征在于,所述向所述客户端返回所述预览请求对应的压缩文件中的文件的文件信息的步骤进一步包括:
从所述预览请求中提取所述压缩文件的文件标识;
向文件集群请求所述文件标识对应的压缩文件的至少部分数据,以获得所述压缩文件的文件头;
从所述压缩文件的文件头中读取所述压缩文件中的文件信息;以及
将所述压缩文件中文件的文件信息返回所述客户端。
10.一种压缩文件的解压装置,包括:
请求接收模块,适于接收客户端针对压缩文件中的文件的下载请求;
数据请求模块,适于根据所述下载请求从文件集群中请求所述压缩文件的至少部分数据;以及
文件解压模块,适于在对所述压缩文件的至少部分数据进行解压缩操作时,将所述文件的已解压缩的数据发送至所述客户端。
CN201410851026.7A 2014-12-30 2014-12-30 一种压缩文件的解压方法和装置 Pending CN104572966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410851026.7A CN104572966A (zh) 2014-12-30 2014-12-30 一种压缩文件的解压方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410851026.7A CN104572966A (zh) 2014-12-30 2014-12-30 一种压缩文件的解压方法和装置

Publications (1)

Publication Number Publication Date
CN104572966A true CN104572966A (zh) 2015-04-29

Family

ID=53089028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410851026.7A Pending CN104572966A (zh) 2014-12-30 2014-12-30 一种压缩文件的解压方法和装置

Country Status (1)

Country Link
CN (1) CN104572966A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578206A (zh) * 2015-12-15 2016-05-11 无锡天脉聚源传媒科技有限公司 一种多媒体文件转码方法及装置
CN105975311A (zh) * 2016-05-09 2016-09-28 腾讯科技(深圳)有限公司 一种应用启动方法及装置
CN107145569A (zh) * 2017-05-05 2017-09-08 广州万达文化旅游城投资有限公司 文档管理方法及装置
WO2017206897A1 (zh) * 2016-05-31 2017-12-07 广东欧珀移动通信有限公司 识别文件的方法及相关设备
CN107515704A (zh) * 2017-08-04 2017-12-26 珠海格力电器股份有限公司 一种预览压缩文件的方法及装置
CN107545048A (zh) * 2017-08-18 2018-01-05 北京奇安信科技有限公司 加密压缩文件的处理方法及装置
CN109325006A (zh) * 2018-08-23 2019-02-12 郑州云海信息技术有限公司 一种压缩存储的方法和装置、解压下载的方法和装置
CN109408471A (zh) * 2018-10-12 2019-03-01 厦门市美亚柏科信息股份有限公司 一种基于匹配树的压缩包解压方法、装置及存储介质
CN111061693A (zh) * 2019-12-19 2020-04-24 深圳市迅雷网络技术有限公司 一种下载时解压分卷压缩文件的方法、装置及介质
CN114116234A (zh) * 2022-01-24 2022-03-01 山东捷瑞数字科技股份有限公司 一种基于浏览器的三维场景模型解压缩加载方法
CN115865905A (zh) * 2023-02-21 2023-03-28 深圳依时货拉拉科技有限公司 压缩包下载的方法、装置、计算机设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1979475A (zh) * 2005-12-07 2007-06-13 华为技术有限公司 一种压缩文件处理方法
CN102682013A (zh) * 2011-03-14 2012-09-19 盛乐信息技术(上海)有限公司 在网络存储装置中操作压缩文件的方法
CN102999626A (zh) * 2012-12-06 2013-03-27 北京奇虎科技有限公司 一种数据压缩/解压缩装置及其方法、系统
US20130191352A1 (en) * 2007-08-07 2013-07-25 International Business Machines Corporation Dynamic partial uncompression of a database table

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1979475A (zh) * 2005-12-07 2007-06-13 华为技术有限公司 一种压缩文件处理方法
US20130191352A1 (en) * 2007-08-07 2013-07-25 International Business Machines Corporation Dynamic partial uncompression of a database table
CN102682013A (zh) * 2011-03-14 2012-09-19 盛乐信息技术(上海)有限公司 在网络存储装置中操作压缩文件的方法
CN102999626A (zh) * 2012-12-06 2013-03-27 北京奇虎科技有限公司 一种数据压缩/解压缩装置及其方法、系统

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578206A (zh) * 2015-12-15 2016-05-11 无锡天脉聚源传媒科技有限公司 一种多媒体文件转码方法及装置
CN105975311A (zh) * 2016-05-09 2016-09-28 腾讯科技(深圳)有限公司 一种应用启动方法及装置
CN105975311B (zh) * 2016-05-09 2021-01-29 腾讯科技(深圳)有限公司 一种应用启动方法及装置
US10452376B2 (en) 2016-05-31 2019-10-22 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for identifying file and mobile terminal
WO2017206897A1 (zh) * 2016-05-31 2017-12-07 广东欧珀移动通信有限公司 识别文件的方法及相关设备
US10599413B2 (en) 2016-05-31 2020-03-24 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and device for identifying file
CN107145569B (zh) * 2017-05-05 2020-10-09 广州万达文化旅游城投资有限公司 文档管理方法及装置
CN107145569A (zh) * 2017-05-05 2017-09-08 广州万达文化旅游城投资有限公司 文档管理方法及装置
CN107515704A (zh) * 2017-08-04 2017-12-26 珠海格力电器股份有限公司 一种预览压缩文件的方法及装置
CN107545048A (zh) * 2017-08-18 2018-01-05 北京奇安信科技有限公司 加密压缩文件的处理方法及装置
CN107545048B (zh) * 2017-08-18 2020-04-07 奇安信科技集团股份有限公司 加密压缩文件的处理方法及装置
CN109325006A (zh) * 2018-08-23 2019-02-12 郑州云海信息技术有限公司 一种压缩存储的方法和装置、解压下载的方法和装置
CN109408471A (zh) * 2018-10-12 2019-03-01 厦门市美亚柏科信息股份有限公司 一种基于匹配树的压缩包解压方法、装置及存储介质
CN109408471B (zh) * 2018-10-12 2021-05-04 厦门市美亚柏科信息股份有限公司 一种基于匹配树的压缩包解压方法、装置及存储介质
CN111061693A (zh) * 2019-12-19 2020-04-24 深圳市迅雷网络技术有限公司 一种下载时解压分卷压缩文件的方法、装置及介质
CN111061693B (zh) * 2019-12-19 2024-02-27 深圳市迅雷网络技术有限公司 一种下载时解压分卷压缩文件的方法、装置及介质
CN114116234A (zh) * 2022-01-24 2022-03-01 山东捷瑞数字科技股份有限公司 一种基于浏览器的三维场景模型解压缩加载方法
CN115865905A (zh) * 2023-02-21 2023-03-28 深圳依时货拉拉科技有限公司 压缩包下载的方法、装置、计算机设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN104572966A (zh) 一种压缩文件的解压方法和装置
US11126595B2 (en) Network coded storage with multi-resolution codes
US20150006475A1 (en) Data deduplication in a file system
CN101616181A (zh) 一种上传和下载字幕文件的方法、系统和设备
US9356985B2 (en) Streaming video to cellular phones
WO2013159703A1 (en) Offline download method, multimedia file download method and system thereof
CN104572964A (zh) 一种压缩文件的解压方法和装置
US11233838B2 (en) System and method of web streaming media content
CN102438004A (zh) 获取媒体文件的元数据信息的方法、系统及多媒体播放器
CN109325006A (zh) 一种压缩存储的方法和装置、解压下载的方法和装置
CN114676135A (zh) 数据存储方法、可读介质和电子设备
US20160226941A1 (en) System and method for streaming music on mobile devices
CN104639985A (zh) 多媒体播放控制方法及系统
US8582664B2 (en) Method and device for creating a video sequence representative of a digital video sequence and associated methods and devices for transmitting and receiving video data
US11178413B1 (en) Dynamically transitioning a digital video file between encoding states
US11622164B2 (en) System and method for streaming video/s
US8850504B2 (en) Method and system for comparing media assets
CN106357816B (zh) 一种云端存储复合文档的方法及系统
US20180189143A1 (en) Simultaneous compression of multiple stored videos
CN108874891B (zh) 一种便于家庭云盘文件阅览的方法
WO2012062527A2 (en) Autonomous intelligent content items
CN111447490A (zh) 流媒体文件处理方法及装置
US20190258726A1 (en) File and data migration to storage system
CN112804312B (zh) 文件上传方法、设备以及计算机可读介质
US20230300409A1 (en) System, method, and computer program for online data transfer

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20150429