[发明专利]文件的压缩、解压缩方法及设备有效
申请号: | 201811353224.5 | 申请日: | 2018-11-14 |
公开(公告)号: | CN109582653B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 梁兆豪;陈毅舜 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F16/174 | 分类号: | G06F16/174 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 孙静;刘芳 |
地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 压缩 解压缩 方法 设备 | ||
本发明实施例提供一种文件的压缩、解压缩方法及设备。该文件的压缩方法包括:根据不固定长度的分块方式对源文件进行分块,得到多个原始分块。根据多个原始分块,得到各原始分块对应的压缩分块。对多个压缩分块进行存储,根据各压缩分块的偏移量以及各压缩分块对应的原始分块的偏移量,得到压缩文件。文件的解压缩方法包括:在收到读取压缩文件的读取指令后,获取压缩文件中的各压缩分块的偏移量以及各压缩分块对应的原始分块的偏移量,根据目标数据在源文件中的偏移量、各压缩分块的偏移量以及对应的原始分块的偏移量以及目标数据的长度,从压缩文件中获取目标数据对应的目标压缩分块。本发明实施例提高了数据访问效率,减少系统开销和存储空间。
技术领域
本发明涉及计算机领域,尤其涉及一种文件的压缩、解压缩方法及设备。
背景技术
随着互联网的迅速发展,大数据文件的存储也逐渐成为一个值得研究的问题,因为大数据文件占用内存较大,因此常采用将大数据文件压缩的方式来进行存储。
现有技术中对大数据文件(源文件)进行压缩存储时,通常将源文件划分为固定大小的原始分块,进一步对固定大小的原始分块进行压缩,得到压缩分块,然后按照原始分块在源文件中的顺序将所有的压缩分块拼接为待存储的文件,再根据该待存储的文件以及压缩后文件的索引得到压缩后文件。同时,为了实现数据读取,还需要另外建立并存储一套源文件索引。其中,源文件的索引用于指示目标数据在原始分块中的位置,压缩后文件索引用于指示目标数据所属的压缩分块在压缩后文件中的位置。
然而,现有的数据文件压缩方式需要建立两套压缩系统,浪费了系统开销和存储空间。
发明内容
本发明实施例提供一种文件的压缩、解压缩方法及设备,以实现提高数据访问效率,减少系统开销和存储空间。
第一方面,本发明实施例提供一种文件的压缩方法,包括:
根据不固定长度的分块方式对源文件进行分块,得到多个原始分块;
根据所述多个原始分块,得到各所述原始分块对应的压缩分块;
对多个所述压缩分块进行存储,根据各所述压缩分块的偏移量以及各所述压缩分块对应的原始分块的偏移量,得到压缩文件。
在一种可能的设计中,所述压缩文件包括数据区以及尾部,其中,所述数据区包括多个压缩分块,所述尾部包括各所述压缩分块的偏移量以及各所述压缩分块对应的原始分块的偏移量。
在一种可能的设计中,所述根据不固定长度的分块方式对源文件进行分块,得到多个原始分块,包括:
根据所述源文件中各数据元的长度对所述源文件进行分块,得到多个原始分块,其中,所述原始分块中包含的数据为一个或多个完整的数据元。
在一种可能的设计中,所述根据所述多个原始分块,得到各所述原始分块对应的压缩分块,包括:
针对每一原始分块,对所述原始分块进行压缩处理,得到压缩数据;
判断所述对所述原始分块进行压缩处理的过程中是否存在额外数据;若是,则获取所述额外数据;其中,所述额外数据至少包括纠错码信息、加解密信息或解压信息中的至少一种;
根据所述压缩数据和所述额外数据,得到所述压缩分块。
在一种可能的设计中,所述根据所述压缩数据和所述额外数据,得到所述压缩分块之前,所述方法还包括:
根据所述原始分块的大小、所述压缩数据的大小、所述压缩数据以及所述额外数据在内的参数,通过预设算法得到用于校验所述压缩分块完整性的校验码;
所述根据所述压缩分块数据和所述额外数据,得到所述压缩分块,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811353224.5/2.html,转载请声明来源钻瓜专利网。