CN109325006A - 一种压缩存储的方法和装置、解压下载的方法和装置 - Google Patents
一种压缩存储的方法和装置、解压下载的方法和装置 Download PDFInfo
- Publication number
- CN109325006A CN109325006A CN201810966700.4A CN201810966700A CN109325006A CN 109325006 A CN109325006 A CN 109325006A CN 201810966700 A CN201810966700 A CN 201810966700A CN 109325006 A CN109325006 A CN 109325006A
- Authority
- CN
- China
- Prior art keywords
- file
- barrel
- compression
- metamessage
- algorithm
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种压缩存储的方法和装置、解压下载的方法和装置。该方法包括:获取目标存储数据,目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;读取第一桶的元信息和第二桶的元信息;第一桶为压缩桶,第二桶为非压缩桶;利用压缩算法对第一文件进行压缩;将压缩后的第一文件存储在第一桶内;将第二文件存储在第二桶内。这样,按照待存储数据中文件的压缩比的不同,针对性的对文件进行压缩存储到具有压缩功能的桶中或者直接存储到不具有压缩功能的桶中,提升存储资源利用率的同时,避免压缩低压缩比文件带来的压缩性能较低的问题,同时便于用户控制存储资源的存储方式,提升了用户体验。
Description
技术领域
本发明涉及分布式存储的技术领域,特别是涉及一种压缩存储的方法和装置、解压下载的方法和装置。
背景技术
目前,随着云计算和物联网的发展,数以百万计的设备每时每刻都在创建、收集和发送海量的数据,例如:数据量级已经从拍字节PB跃升到了泽字节ZB级别。面对海量的数据,为了能最大程度发挥这些非结构化数据的价值,用户需要对这些非结构化数据进行充分的分析和总结,这就需要先对这些非结构化数据进行存储。
因此,用户可以采用新型的网络存储架构——对象存储的方式对海量的非结构化数据进行分布式存储。该对象存储采用了“对象”数据组织,克服了网络附属存储(NetworkAttached Storage,简称:NAS)与存储区域网络(Storage Area Network,简称:SAN)的不足,既发挥了“块”接口的快速性,又具备了“文件”接口的便于共享性,是一种高可靠性、跨平台以及安全的高性能数据共享存储体系结构。
考虑到存储资源建设的成本,在保证数据安全性的基础上,用户迫切的需求尽可能的缩减存储空间。但是,目前缩减存储空间一般采用数据压缩的方法实现,即,通过分布式存储集群服务端对需要存储的全部数据进行整体的压缩,或者,客户端将数据压缩后上传到分布式存储集群服务端。这样,对数据整体进行压缩,并未考虑到数据差异可能导致的压缩效果不佳的问题,尤其对包括图片、视频等低压缩比文件的数据压缩后,对存储空间的占用无明显缩减,导致压缩效率较低。
发明内容
为了解决上述问题,本发明实施例提出了一种压缩存储的方法和装置、解压下载的方法和装置,即,在分布式对象存储系统内以用户创建的桶为粒度,实现数据的桶级压缩,具体可以创建具有压缩功能的桶和不具有压缩功能的桶,依据数据中包括的各文件的压缩比不同,将不同的文件上传到不同的桶中进行压缩后存储或直接存储,避免了对低压缩比的文件进行压缩导致压缩性能降低的问题,同时,便于用户有效的控制存储资源以提高存储资源的利用率,提升了用户体验。
第一方面,提供了一种压缩存储的方法,包括:
获取目标存储数据,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
读取第一桶的元信息和第二桶的元信息;所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法;
利用所述压缩算法对所述第一文件进行压缩;
将压缩后的第一文件存储在所述第一桶内;并且,将所述第二文件存储在所述第二桶内。
可选地,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
可选地,所述压缩算法包括zlib压缩算法、snappy压缩算法或zstd压缩算法中的至少一种。
可选地,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
第二方面,还提供了一种解压下载的方法,包括:
响应于对目标存储数据的下载请求,确定存储所述目标存储数据的第一桶和第二桶,其中,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
获取所述第一桶的元信息和所述第二桶的元信息;所述第一桶的元信息中包括解压算法,所述第二桶的元信息中不包括解压算法;
利用所述解压算法对所述第一桶中存储的压缩后的第一文件进行解压,获得所述第一文件;
将所述第一文件和从所述第二桶中直接获得的所述第二文件作为所述目标存储数据,发送给用户端。
可选地,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
可选地,所述解压算法包括zlib解压算法、snappy解压算法或zstd解压算法中的至少一种。
可选地,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
第三方面,还提供了一种压缩存储的装置,包括:
获取单元,用于获取目标存储数据,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
读取单元,用于读取第一桶的元信息和第二桶的元信息;所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法;
压缩单元,用于利用所述压缩算法对所述第一文件进行压缩;
存储单元,用于将压缩后的第一文件存储在所述第一桶内;并且,将所述第二文件存储在所述第二桶内。
可选地,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
可选地,所述压缩算法包括zlib压缩算法、snappy压缩算法或zstd压缩算法中的至少一种。
可选地,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
第四方面,还提供了一种解压下载的装置,包括:
确定单元,用于响应于对目标存储数据的下载请求,确定存储所述目标存储数据的第一桶和第二桶,其中,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
获取单元,用于获取所述第一桶的元信息和所述第二桶的元信息;所述第一桶的元信息中包括解压算法,所述第二桶的元信息中不包括解压算法;
解压单元,用于利用所述解压算法对所述第一桶中存储的压缩后的第一文件进行解压,获得所述第一文件;
发送单元,用于将所述第一文件和从所述第二桶中直接获得的所述第二文件作为所述目标存储数据,发送给用户端。
可选地,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
可选地,所述解压算法包括zlib解压算法、snappy解压算法或zstd解压算法中的至少一种。
可选地,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
在本发明实施例中,在将待存储的目标存储数据进行存储时,可以预先将该目标存储数据按照压缩比不同,划分为压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;接着,读取第一桶的元信息和第二桶的元信息,其中,所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法;那么,需要预先利用所述压缩算法对所述第一文件进行压缩,才可以将压缩后的第一文件存储在所述第一桶内,并且,将所述第二文件存储在所述第二桶内。同理,在解压下载时,也需要对对应的桶的元信息进行读取和解析,对元信息中包括解压算法的第一桶中存储的信息,需要先利用该解压算法进行解压后再下载;对元信息中不包括解压算法的第二桶中存储的信息,可以直接下载。如此,利用本发明实施例提出的方法进行存储和下载,按照待存储数据中文件的压缩比的不同,针对性的对文件进行压缩存储到具有压缩功能的桶中或者直接存储到不具有压缩功能的桶中,即,区别于全局压缩,提供了桶级别的数据压缩功能,提升存储资源利用率的同时,避免压缩低压缩比文件带来压缩性能较低的问题,同时便于用户控制存储资源的存储方式,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种压缩存储的方法的流程示意图;
图2为本发明实施例提供的创建桶的一示例的结构示意图;
图3为本发明实施例提供的压缩存储的一示例的方法流程图;
图4为本发明实施例提供的压缩存储的一示例的结构示意图;
图5为本发明实施例提供的一种解压下载的方法的流程示意图;
图6为本发明实施例提供的解压下载的一示例的结构示意图;
图7为本发明实施例提供的一种压缩存储的装置的结构示意图;
图8为本发明实施例提供的一种解压下载的装置的结构示意图。
具体实施方式
如果某个数据量较大的待存储数据需要被存储在分布式对象存储系统中,其中,该待存储数据可以包括多种类型的文件,为了节约该分布式对象存储系统的存储空间,可以先对该待存储数据进行整体的压缩处理,然后将压缩后所得的数据存储到该分布式对象存储系统中。
发明人经过研究发现,对于不同类型的文件,其压缩比往往存在很大的区别,压缩比是指压缩前的原文件大小和压缩后的文件大小的比值,对于文本文件,例如txt类型的文件、doc类型的文件等,压缩比相对较高;但是,对于视频类型的文件、图片类型的文件等,压缩比相对较低。那么,采用上述的压缩存储方法,不考虑待存储数据中包括文件的压缩比而对该待存储数据进行统一的压缩,而对图片、视频等低压缩比的文件压缩后存储并不会明显减少存储空间,而且由于压缩的数据量较大且包括压缩比较低的部分,导致存储该待存储数据的整体效率降低。
基于此,在本发明实施例中,在将待存储的目标存储数据进行存储时,可以预先将该目标存储数据按照压缩比不同,划分为压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;接着,读取第一桶的元信息和第二桶的元信息,其中,所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法;那么,需要预先利用所述压缩算法对所述第一文件进行压缩,才可以将压缩后的第一文件存储在所述第一桶内,并且,将所述第二文件存储在所述第二桶内。
同理,在解压下载时,也需要对对应的桶的元信息进行读取和解析,对元信息中包括解压算法的第一桶中存储的信息,需要先利用该解压算法进行解压后再下载;对元信息中不包括解压算法的第二桶中存储的信息,可以直接下载。
这样,利用本发明实施例提出的方法进行存储和下载,按照待存储数据中文件的压缩比的不同,针对性的对文件进行压缩存储到具有压缩功能的桶中或者直接存储到不具有压缩功能的桶中,即,区别于全局压缩,提供了桶级别的数据压缩功能,提升存储资源利用率的同时,避免压缩低压缩比文件带来压缩性能较低的问题,同时便于用户控制存储资源的存储方式,提升了用户体验。
下面结合附图,通过实施例来详细说明本发明实施例中一种压缩存储的方法和装置、解压下载的方法和装置的具体实现方式。
参见图1,示出了本发明实施例提供的一种压缩存储的方法。该方法例如可以包括:
步骤101,获取目标存储数据,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件。
可以理解的是,该目标存储数据是指待存储的数据,具体可以包括多个文件,各文件可以按照其压缩比的大小记作第一文件和第二文件。其中,文件的压缩比是指压缩前的文件大小和压缩后的文件大小的比值,利用公式表示为:文件的压缩比=压缩前的文件大小/压缩后的文件大小,那么,一旦待压缩的文件确定,压缩前的文件大小是固定不变的,压缩后的文件越小,表示该文件的压缩比越大,即说明该文件的压缩性能越好;反之,压缩后的文件越大,标识该文件的压缩比越小,即说明该文件的压缩性能越差。需要说明的是,该压缩后的文件大小必然小于压缩前的文件大小,即,该文件的压缩比恒大于1。
作为一个示例,可以根据实际需要设置预设阈值,该预设阈值用于将目标存储数据中的各文件划分为第一文件和第二文件,是需要压缩后存储的文件所允许的最小压缩比,只有文件的压缩比大于该预设阈值时,才被记作第一文件,即需要压缩后存储的文件;当文件的压缩比不大于该预设阈值时,该文件被记作第二文件,即无需压缩可以直接存储的文件。
具体实现时,第一文件可以是txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个,上述类型的文件的压缩比较大,即,压缩后的文件相比于原文件,所需占用的存储空间有较大的缩减;第二文件可以是jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个,上述类型的文件的压缩比较小,即,压缩后的文件相比于原文件,所需占用的存储空间并没有发生很大程度的缩减。
需要说明的是,在目标存储数据中,可以只有一个第一文件,也可以具有多个第一文件;同理,在该目标存储数据中,可以只有一个第二文件,也可以具有多个第二文件。
步骤102,读取第一桶的元信息和第二桶的元信息;所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法。
需要说明的是,在进行图1对应的压缩存储方法对待存储数据进行存储之前,还需要在分布式对象存储系统中创建第一桶和第二桶,并且为创建的第一桶指定该桶对应的压缩算法,而无需为创建的第二桶指定压缩算法,即,按照功能划分,第一桶为压缩桶,第二桶为非压缩桶。
其中,第一桶和第二桶均是指一类数据存储桶,第一桶可以包括一个压缩桶,也可以包括多个压缩桶;同理,第二桶可以包括一个非压缩桶,也可以包括多个非压缩桶。当该第一桶包括多个压缩桶时,作为一个示例,可以为多个第一桶分别指定不同的压缩算法,这样,每个第一桶均具有不同的压缩功能;作为另一个示例,可以为多个第一桶指定相同的压缩算法,这样,每个第一桶均具有相同的压缩功能。
需要说明的是,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
具体实现时,在分布式对象存储系统中创建第一桶和第二桶的过程如图2所示,具体可以包括:
步骤201,创建用户对应的第一桶和第二桶;
步骤202,指定该第一桶的压缩算法为zlib压缩算法,不指定第二桶的压缩算法(或者,指定该第二桶的压缩算法为null);
步骤203,设置第一桶和第二桶的属性值,并将设置好的属性值对应保存为其对应的桶的元信息。
其中,属性值可以包括桶的名称、拥有者(即,用户)的标识、压缩算法等属性的值,还可以包括其他属性值。其中,第一桶的元信息中包括的压缩算法包括zlib压缩算法、snappy压缩算法或zstd压缩算法中的至少一种。
举例说明,图3为按照图2提供的方法为用户user1创建一个第一桶和一个第二桶的结果示意图,具体过程可以包括:在分布式对象存储系统中为用户user1创建第一桶bucket1和第二桶bucket2;为bucket1指定其压缩算法为zlib压缩算法,为bucket2不指定压缩算法;设置bucket1的属性值:桶名称为bucket1,桶拥有者为user1,压缩算法为zlib压缩算法,等;并将至少包括上述设置好的属性值保存在bucket1的元信息中;设置bucket2的属性值:桶名称为bucket2,桶拥有者为user1,压缩算法为null,等;并将至少包括上述设置好的属性值保存在bucket2的元信息中。
按照本发明实施例所提供的方法创建好第一桶和第二桶之后,当有目标存储数据需要存储在该分布式对象存储系统中时,按照步骤102所述,可以读取该分布式对象存储系统中第一桶和第二桶的元信息。
可以理解的是,在读取第一桶的元信息后,可以从该第一桶的元信息中获取到该第一桶对应的压缩算法;而在读取第二桶的元信息后,可以从该第二桶的元信息中获知该第二桶不对应任何压缩算法,为非压缩桶。
例如,以图3为基础,通过步骤102,可以读取到bucket1的元信息,并从中获取到该bucket1的压缩算法为zlib压缩算法;也可以读取到bucket2的元信息,并从中获知该bucket2的压缩算法为null,即,无压缩算法。
步骤103,利用所述压缩算法对所述第一文件进行压缩。
具体实现时,通过读取第一桶的元信息,并从该元信息中获取该第一桶对应的压缩算法,再利用该压缩算法对待存入该第一桶中的文件——第一文件进行压缩,得到压缩后的第一文件。
需要说明的是,由于目标存储数据中的第一文件的压缩比大于预设阈值,说明该第一文件例如是txt类型的文件、doc类型的文件或ppt类型的文件,压缩后的文件相比于原文件,所需占用的存储空间有较大的缩减,就提高资源占用率而言,压缩的价值较高,那么,可以确定将该第一文件存储于第一桶中。同理,第二文件例如可以是jpg类型的文件、mp3类型的文件或mp4类型的文件,压缩比较小,压缩后的文件相比于原文件,所需占用的存储空间未有明显的缩减,就提高资源占用率而言,压缩的价值不高,那么,可以确定将该第二文件存储于第二桶中。
例如,假设从bucket1的元信息中获取到的压缩算法为zlib压缩算法,那么,可以将第一文件按照zlib压缩算法进行压缩,得到压缩后的第一文件。
步骤104,将压缩后的第一文件存储在所述第一桶内;并且,将所述第二文件存储在所述第二桶内。
对于压缩后的第一文件,可以将其存储于分布式对象存储系统的集群存储池中的第一桶内,对于第二文件,可以直接将其存储于该分布式对象存储系统的集群存储池中的第二桶内。
举例说明,对于图3对应的实例所创建的第一桶和第二桶,可以将user1需要上传的目标存储数据按照图4所示的流程存储到分布式对象存储系统的集群存储池中,其中,目标存储数据可以包括:三个第一文件:txt类型的文件、doc类型的文件、ppt类型的文件,以及三个第二文件:jpg类型的文件、mp3类型的文件或mp4类型的文件。具体的存储过程可以包括:从user1中获取第一文件和第二文件,并从第一桶中的元信息中获取zlib压缩算法;利用zlib压缩算法分别压缩三个第一文件,得到压缩后的txt文件、压缩后的doc文件和压缩后的ppt文件;接着,将压缩后的txt文件、压缩后的doc文件和压缩后的ppt文件保存到bucket1中,将三个第二文件(即,jpg文件、mp3文件和mp4文件)保存到bucket2中。如此,实现将目标存储数据按照本发明实施例提供的方法存储到该分布式对象存储系统的集群存储池中。
这样,利用本发明实施例提出的方法进行数据存储,按照待存储数据中文件的压缩比的不同,针对性的对文件进行压缩存储到具有压缩功能的桶中或者直接存储到不具有压缩功能的桶中,即,区别于全局压缩,提供了桶级别的数据压缩功能,提升存储资源利用率的同时,避免压缩低压缩比文件带来压缩性能较低的问题,同时便于用户控制存储资源的存储方式,提升了用户体验。
相应的,如图5所示,本发明实施例还提供了一种解压下载的方法,该方法可以将按照图1对应的实施例存储的数据对应的下载下来,供用户进一步使用该数据。具体实现时,该解压下载方法例如可以包括:
步骤501,响应于对目标存储数据的下载请求,确定存储所述目标存储数据的第一桶和第二桶,其中,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
步骤502,获取所述第一桶的元信息和所述第二桶的元信息;所述第一桶的元信息中包括解压算法,所述第二桶的元信息中不包括解压算法;
步骤503,利用所述解压算法对所述第一桶中存储的压缩后的第一文件进行解压,获得所述第一文件;
步骤504,将所述第一文件和从所述第二桶中直接获得的所述第二文件作为所述目标存储数据,发送给用户端。
可选地,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
可选地,所述解压算法包括zlib解压算法、snappy解压算法或zstd解压算法中的至少一种。
可选地,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
需要说明的是,为了能够有效的将压缩存储的第一文件解压出来供用户进一步使用,该第一桶的元信息中的解压算法和图1所示的实施例中该第一桶的元信息中的压缩算法为对应的算法,例如,如果在数据存储时,该第一桶中指定的压缩算法为zlib压缩算法,那么,该第一桶的元信息中指定的解压算法必须也是与之对应的zlib解压算法。
图5所示的实施例的具体描述可以参见图1实施例中的相关描述,这里不再赘述。但是,为了让该解压下载方法更加清楚,下面对该实施例进行举例说明。
举例说明,如图6所示,假设用户user1需要下载包括三个第一文件和三个第二文件的目标存储数据,那么,该user1可以通过用户终端向该分布式对象存储系统发送下载请求;该分布式对象存储系统通过解析该下载请求,获得需要下载的目标存储数据;对于经过图4存储后的bucket1,先获取该bucket1中的元信息,从而从该元信息中获得zlib解压算法,然后使用该zlib解压算法对三个压缩后的第一文件(即,压缩后的txt文件、压缩后的doc文件和压缩后的ppt文件)进行解压缩,得到第一文件;对于经过图4存储后的bucket2,可以直接从bucket2中获取三个第二文件(即,jpg文件、mp3文件和mp4文件);最后,将第一文件和第二文件下载到user1设备上,例如user1的用户终端(例如手机)上。如此,实现将目标存储数据按照本发明实施例提供的方法从该分布式对象存储系统的集群存储池中下载到用户端。
这样,利用本发明实施例提出的方法进行数据的解压下载,通过对对应的桶的元信息进行读取和解析,对元信息中包括解压算法的第一桶中存储的信息,需要先利用该解压算法进行解压后再下载;对元信息中不包括解压算法的第二桶中存储的信息,可以直接下载。如此,按照待存储数据中文件的压缩比的不同,针对性的从具有压缩功能的桶中解压下载第一文件或者直接从不具有压缩功能的桶中下载第二文件,即,区别于全局压缩,提供了桶级别的数据压缩功能,提升存储资源利用率的同时,避免压缩低压缩比文件带来压缩性能较低的问题,同时便于用户控制存储资源的存储方式,提升了用户体验。
此外,本发明实施例还提供了一种压缩存储的装置,参见图7,该装置具体可以包括:
获取单元701,用于获取目标存储数据,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
读取单元702,用于读取第一桶的元信息和第二桶的元信息;所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法;
压缩单元703,用于利用所述压缩算法对所述第一文件进行压缩;
存储单元704,用于将压缩后的第一文件存储在所述第一桶内;并且,将所述第二文件存储在所述第二桶内。
可选地,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
可选地,所述压缩算法包括zlib压缩算法、snappy压缩算法或zstd压缩算法中的至少一种。
可选地,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
上述描述为一种压缩存储的装置的相关描述,其中,具体实现方式以及达到的效果,可以参见图1所示的一种压缩存储的方法实施例的描述,这里不再赘述。
相应的,本发明实施例还提供了一种解压下载的装置,参见图8,该装置具体可以包括:
确定单元801,用于响应于对目标存储数据的下载请求,确定存储所述目标存储数据的第一桶和第二桶,其中,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
获取单元802,用于获取所述第一桶的元信息和所述第二桶的元信息;所述第一桶的元信息中包括解压算法,所述第二桶的元信息中不包括解压算法;
解压单元803,用于利用所述解压算法对所述第一桶中存储的压缩后的第一文件进行解压,获得所述第一文件;
发送单元804,用于将所述第一文件和从所述第二桶中直接获得的所述第二文件作为所述目标存储数据,发送给用户端。
可选地,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
可选地,所述解压算法包括zlib解压算法、snappy解压算法或zstd解压算法中的至少一种。
可选地,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
上述描述为一种解压下载的装置的相关描述,其中,具体实现方式以及达到的效果,可以参见图5所示的一种解压下载的方法实施例的描述,这里不再赘述。
本发明实施例中提到的“第一文件”、“第一桶”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法和装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种压缩存储的方法,其特征在于,包括:
获取目标存储数据,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
读取第一桶的元信息和第二桶的元信息;所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法;
利用所述压缩算法对所述第一文件进行压缩;
将压缩后的第一文件存储在所述第一桶内;并且,将所述第二文件存储在所述第二桶内。
2.根据权利要求1所述的方法,其特征在于,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
3.根据权利要求1所述的方法,其特征在于,所述压缩算法包括zlib压缩算法、snappy压缩算法或zstd压缩算法中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
5.一种解压下载的方法,其特征在于,包括:
响应于对目标存储数据的下载请求,确定存储所述目标存储数据的第一桶和第二桶,其中,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
获取所述第一桶的元信息和所述第二桶的元信息;所述第一桶的元信息中包括解压算法,所述第二桶的元信息中不包括解压算法;
利用所述解压算法对所述第一桶中存储的压缩后的第一文件进行解压,获得所述第一文件;
将所述第一文件和从所述第二桶中直接获得的所述第二文件作为所述目标存储数据,发送给用户端。
6.根据权利要求5所述的方法,其特征在于,所述第一桶和所述第二桶均存在于分布式对象存储系统的集群存储池中。
7.根据权利要求5所述的方法,其特征在于,所述解压算法包括zlib解压算法、snappy解压算法或zstd解压算法中的至少一种。
8.根据权利要求5所述的方法,其特征在于,所述第一文件为txt类型的文件、doc类型的文件或ppt类型的文件中的至少一个;
所述第二文件为jpg类型的文件、mp3类型的文件或mp4类型的文件中的至少一个。
9.一种压缩存储的装置,其特征在于,包括:
获取单元,用于获取目标存储数据,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
读取单元,用于读取第一桶的元信息和第二桶的元信息;所述第一桶的元信息中包括压缩算法,所述第二桶的元信息中不包括压缩算法;
压缩单元,用于利用所述压缩算法对所述第一文件进行压缩;
存储单元,用于将压缩后的第一文件存储在所述第一桶内;并且,将所述第二文件存储在所述第二桶内。
10.一种解压下载的装置,其特征在于,包括:
确定单元,用于响应于对目标存储数据的下载请求,确定存储所述目标存储数据的第一桶和第二桶,其中,所述目标存储数据包括压缩比大于预设阈值的第一文件和压缩比不大于预设阈值的第二文件;
获取单元,用于获取所述第一桶的元信息和所述第二桶的元信息;所述第一桶的元信息中包括解压算法,所述第二桶的元信息中不包括解压算法;
解压单元,用于利用所述解压算法对所述第一桶中存储的压缩后的第一文件进行解压,获得所述第一文件;
发送单元,用于将所述第一文件和从所述第二桶中直接获得的所述第二文件作为所述目标存储数据,发送给用户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810966700.4A CN109325006A (zh) | 2018-08-23 | 2018-08-23 | 一种压缩存储的方法和装置、解压下载的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810966700.4A CN109325006A (zh) | 2018-08-23 | 2018-08-23 | 一种压缩存储的方法和装置、解压下载的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109325006A true CN109325006A (zh) | 2019-02-12 |
Family
ID=65263299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810966700.4A Pending CN109325006A (zh) | 2018-08-23 | 2018-08-23 | 一种压缩存储的方法和装置、解压下载的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109325006A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111683046A (zh) * | 2020-04-29 | 2020-09-18 | 平安国际智慧城市科技股份有限公司 | 文件压缩以及获取的方法、装置、设备及存储介质 |
CN112306975A (zh) * | 2020-11-06 | 2021-02-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种文件存储方法、装置、设备及计算机可读存储介质 |
CN112306974A (zh) * | 2019-07-30 | 2021-02-02 | 深信服科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113259424A (zh) * | 2021-04-29 | 2021-08-13 | 西安点告网络科技有限公司 | 一种跨区域数据传输方法及系统 |
WO2022062537A1 (zh) * | 2020-09-27 | 2022-03-31 | 苏州浪潮智能科技有限公司 | 数据压缩方法、装置及计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584875A (zh) * | 2004-06-01 | 2005-02-23 | 北京九州计算机网络有限公司 | 批量计算机文件的遍历性压缩和解压缩方法 |
CN102761540A (zh) * | 2012-05-30 | 2012-10-31 | 北京奇虎科技有限公司 | 数据压缩方法、装置、系统以及服务器 |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
CN103218224A (zh) * | 2013-03-29 | 2013-07-24 | 东莞宇龙通信科技有限公司 | 一种提高存储空间利用率的方法和终端 |
CN104572966A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 一种压缩文件的解压方法和装置 |
CN104954497A (zh) * | 2015-07-03 | 2015-09-30 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统中数据传输方法和系统 |
CN105243638A (zh) * | 2015-09-25 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种上传图像的方法和装置 |
US20170177602A1 (en) * | 2015-12-16 | 2017-06-22 | International Business Machines Corporation | Compressed data layout with variable group size |
US10027547B1 (en) * | 2014-03-28 | 2018-07-17 | EMC IP Holding Company LLC | Autonomic self-optimization of protection storage |
-
2018
- 2018-08-23 CN CN201810966700.4A patent/CN109325006A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584875A (zh) * | 2004-06-01 | 2005-02-23 | 北京九州计算机网络有限公司 | 批量计算机文件的遍历性压缩和解压缩方法 |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
CN102761540A (zh) * | 2012-05-30 | 2012-10-31 | 北京奇虎科技有限公司 | 数据压缩方法、装置、系统以及服务器 |
CN103218224A (zh) * | 2013-03-29 | 2013-07-24 | 东莞宇龙通信科技有限公司 | 一种提高存储空间利用率的方法和终端 |
US10027547B1 (en) * | 2014-03-28 | 2018-07-17 | EMC IP Holding Company LLC | Autonomic self-optimization of protection storage |
CN104572966A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 一种压缩文件的解压方法和装置 |
CN104954497A (zh) * | 2015-07-03 | 2015-09-30 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统中数据传输方法和系统 |
CN105243638A (zh) * | 2015-09-25 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种上传图像的方法和装置 |
US20170177602A1 (en) * | 2015-12-16 | 2017-06-22 | International Business Machines Corporation | Compressed data layout with variable group size |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306974A (zh) * | 2019-07-30 | 2021-02-02 | 深信服科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111683046A (zh) * | 2020-04-29 | 2020-09-18 | 平安国际智慧城市科技股份有限公司 | 文件压缩以及获取的方法、装置、设备及存储介质 |
CN111683046B (zh) * | 2020-04-29 | 2022-11-08 | 深圳赛安特技术服务有限公司 | 文件压缩以及获取的方法、装置、设备及存储介质 |
WO2022062537A1 (zh) * | 2020-09-27 | 2022-03-31 | 苏州浪潮智能科技有限公司 | 数据压缩方法、装置及计算机可读存储介质 |
CN112306975A (zh) * | 2020-11-06 | 2021-02-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种文件存储方法、装置、设备及计算机可读存储介质 |
CN113259424A (zh) * | 2021-04-29 | 2021-08-13 | 西安点告网络科技有限公司 | 一种跨区域数据传输方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325006A (zh) | 一种压缩存储的方法和装置、解压下载的方法和装置 | |
KR101758167B1 (ko) | 미디어 콘텐츠의 적응 스트리밍을 위한 품질 정보의 사용 | |
US8621099B2 (en) | Systems and methods for formatting media content for distribution | |
CN110535869B (zh) | 一种基于压缩算法的数据传输方法、终端设备及存储介质 | |
CN104572966A (zh) | 一种压缩文件的解压方法和装置 | |
CN102135892A (zh) | 应用程序运行方法、装置及系统 | |
CN104199951B (zh) | 网页处理方法及装置 | |
US9922041B2 (en) | Storing data files in a file system | |
JP2023501054A (ja) | 圧縮データの部分的ダウンロード | |
CN112114849B (zh) | 一种资源更新方法和装置 | |
CN104244028A (zh) | 一种基于码流自适应技术的内容分发方法、装置及系统 | |
CN106933853A (zh) | 一种文件上传处理方法及装置 | |
CN106156037A (zh) | 数据处理方法、装置及系统 | |
CN103368951B (zh) | 文件下载方法及系统 | |
CN102624910B (zh) | 处理用户选取的网页内容的方法、装置及系统 | |
CN111159265B (zh) | 一种etl数据迁移方法和系统 | |
US20110202509A1 (en) | Efficient extraction and compression of data | |
CN101667139A (zh) | 基于集合类型对象的服务程序调用方法、装置及系统 | |
CN104572964A (zh) | 一种压缩文件的解压方法和装置 | |
CN105069009A (zh) | 一种上传、下载文件夹的方法及装置 | |
CN104092754A (zh) | 文件存储系统和文件存储方法 | |
Shan et al. | Enhancing the performance of university’s website for mobile devices based on responsive web design approach | |
CN109962972A (zh) | 一种离线包重组方法及系统 | |
CN106844763B (zh) | 一种对互联网媒体文件进行修改式展现的方法及其装置 | |
CN110287388B (zh) | 数据可视化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190212 |
|
RJ01 | Rejection of invention patent application after publication |