一种在线数据压缩在存储中的集成方法及系统技术方案

技术编号:15694924 阅读:169 留言:0更新日期:2017-06-24 10:15
本发明专利技术提供一种在线数据压缩在存储中的集成方法及系统,将IO数据写入上层缓存中;压缩模块根据预设的压缩量将上层缓存中多个IO数据进行组合压缩,形成组合压缩IO数据块;压缩模块针对组合压缩IO数据块中的每个IO数据对应生成一元数据,元数据用于记录压缩前后的每个IO数据处于磁盘中的位置;压缩模块将组合压缩IO数据块以及与该组合压缩IO数据块内部IO数据相对应的元数据下发给下层缓存;下层缓存保存组合压缩IO数据块和元数据;下层缓存将保存的组合压缩IO数据块和元数据保存到后端磁盘。数据经过压缩后才会下发到后端磁盘,这样利用较少的磁盘空间存储较大的数据,提高磁盘的空间利用率和整个存储系统的性能。

Integrated method and system for on-line data compression in storage

The present invention provides a method and system for integrated online compression of data in storage, IO data is written to the upper cache; according to the compression module combines multiple IO data compression in the upper cache compression preset to form a combination of the IO data block, compression; compression module combined IO data compression for each data block in IO the corresponding metadata, metadata records for each IO data compression in the position before and after the disk; compression module combined compression IO data blocks and the combined compression metadata IO data block internal IO data corresponding to the lower level cache; lower cache combination compressed IO data blocks and metadata; compressed storage combination of IO data blocks and the meta data to back-end disk cache layer. The data is compressed before being sent back to the backend disk, thus storing larger data with less disk space, increasing disk space utilization, and performance of the entire storage system.

【技术实现步骤摘要】
一种在线数据压缩在存储中的集成方法及系统
本专利技术涉及数据存储领域,尤其涉及一种在线数据压缩在存储中的集成方法及系统。
技术介绍
当今社会数据量暴增,这个对整个IT的结构造成了严重的冲击,尤其是磁盘容量的需求越来越大,这无疑增加了企业的成本。为了降低数据的存储量,通常采用将数据压缩后进行储存,而传统的压缩一般是非实时压缩,传统压缩首先是将数据存储到后端磁盘,然后在存储系统空闲的时候,从后端磁盘将数据读取出来进行压缩,压缩完毕后将压缩的IO存储到磁盘,这样数据压缩无法预估数据的压缩率,需要再次从磁盘读取出来进行压缩,压缩数据是非实时生效的。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提供一种在线数据压缩在存储中的集成方法,方法包括:将IO数据写入上层缓存中;压缩模块根据预设的压缩量将上层缓存中多个IO数据进行组合压缩,形成组合压缩IO数据块;压缩模块针对组合压缩IO数据块中的每个IO数据对应生成一元数据,元数据用于记录压缩前后的每个IO数据处于磁盘中的位置;压缩模块将组合压缩IO数据块以及与该组合压缩IO数据块内部IO数据相对应的元数据下发给下层缓存;下层缓存保存组合压缩IO数据块和元数据;下层缓存将保存的组合压缩IO数据块和元数据保存到后端磁盘。优选地,主机接口层接收读IO数据请求,并在上层缓存中读取IO数据;若在上层缓存中读取到所述IO数据,则将IO数据返回给主机接口层。优选地,若在上层缓存中未读取到所述IO数据,则将IO数据读请求发送至压缩模块,在压缩模块中读取IO数据;若在压缩模块中读取到所述IO数据,则将IO数据返回给上层缓存,继而返回至主机接口层。优选地,若在压缩模块中未读取到所述IO数据,则将IO数据读请求发送至下层缓存,在下层缓存读取所述IO数据的元数据,根据元数据信息查找到对应的组合压缩IO数据块内的IO数据;若在下层缓存中读取到所述IO数据,则将IO数据所在的组合压缩IO数据块返回至压缩模块,压缩模块对所述组合压缩IO数据块进行解压,恢复IO数据;将IO数据返回给上层缓存,继而返回至主机接口层。优选地,若在下层缓存中未读取到所述IO数据,则在后端磁盘读取所述IO数据的元数据,根据元数据信息查找到对应的组合压缩IO数据块内的IO数据;若在后端磁盘中读取到所述IO数据,则将IO数据所在的组合压缩IO数据块返回至压缩模块,压缩模块对所述组合压缩IO数据块进行解压,恢复IO数据;将IO数据返回给上层缓存,继而返回至主机接口层。优选地,预设的压缩量的获取方式包括:在上层缓存随机抽取N个IO数据块,N为非零的自然数,对抽取的IO数据块进行组合压缩,组合压缩后计算出N个IO数据块的平均MD5值,将该值作为预设的压缩量。一种在线数据压缩在存储中的集成系统,包括:上层缓存模块,压缩模块,下层缓存模块,后端磁盘;上层缓存模块用于供IO数据写入;压缩模块用于根据预设的压缩量将上层缓存模块中多个IO数据进行组合压缩,形成组合压缩IO数据块;压缩模块针对组合压缩IO数据块中的每个IO数据对应生成一元数据,元数据用于记录压缩前后的每个IO数据处于磁盘中的位置;压缩模块将组合压缩IO数据块以及与该组合压缩IO数据块内部IO数据相对应的元数据下发给下层缓存模块;下层缓存模块用于保存组合压缩IO数据块和元数据,并将保存的组合压缩IO数据块和元数据保存到后端磁盘。优选地,还包括:上层缓存IO数据处理模块,压缩模块IO数据处理模块,下层缓存IO数据处理模块;上层缓存IO数据处理模块用于根据主机接口层接收读IO数据请求,上层缓存IO数据处理模块在上层缓存模块中读取IO数据,若在上层缓存中读取到所述IO数据,则将IO数据返回给主机接口层;压缩模块IO数据处理模块用于若在上层缓存模块中未读取到所述IO数据,上层缓存IO数据处理模块将IO数据读请求发送至压缩模块,压缩模块IO数据处理模块在压缩模块中读取IO数据;若在压缩模块中读取到所述IO数据,则将IO数据返回给上层缓存,继而返回至主机接口层;下层缓存IO数据处理模块用于若在压缩模块中未读取到所述IO数据,则将IO数据读请求发送至下层缓存模块,下层缓存IO数据处理模块在下层缓存模块读取所述IO数据的元数据,根据元数据信息查找到对应的组合压缩IO数据块内的IO数据;若在下层缓存模块中读取到所述IO数据,则将IO数据所在的组合压缩IO数据块返回至压缩模块,压缩模块对所述组合压缩IO数据块进行解压,恢复IO数据;将IO数据返回给上层缓存模块,继而返回至主机接口层。优选地,还包括:后端磁盘数据处理模块;后端磁盘数据处理模块用于若在下层缓存模块中未读取到所述IO数据,则在后端磁盘读取所述IO数据的元数据,根据元数据信息查找到对应的组合压缩IO数据块内的IO数据;若在后端磁盘中读取到所述IO数据,则将IO数据所在的组合压缩IO数据块返回至压缩模块,压缩模块对所述组合压缩IO数据块进行解压,恢复IO数据;将IO数据返回给上层缓存模块,继而返回至主机接口层。优选地,还包括:预设的压缩量设置模块;预设的压缩量设置模块用于在上层缓存模块随机抽取N个IO数据块,N为非零的自然数,对抽取的IO数据块进行组合压缩,组合压缩后计算出N个IO数据块的平均MD5值,将该值作为预设的压缩量。从以上技术方案可以看出,本专利技术具有以下优点:在线数据压缩在存储中的集成方法涉及了压缩模块,存储从前端接收IO数据进行压缩,压缩后下发到缓存,然后由缓存刷写到后端磁盘。与传统的压缩相比,在线数据压缩可以预估数据的压缩率,因为IO数据在下发磁盘之前已经完成压缩;在线压缩还节约了磁盘空间,不需要再次从磁盘读取出来进行压缩;压缩数据是实时生效的,并且对IO数据的性能不产生影响。附图说明为了更清楚地说明本专利技术的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为在线数据压缩在存储中的集成方法的整体流程图;图2为IO数据的读取方式流程图;图3为IO数据的另一读取方式流程图;图4为IO数据的另一读取方式流程图;图5为在线数据压缩在存储中的集成系统整体示意图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本专利技术保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。本实施例提供一种在线数据压缩在存储中的集成方法,如图1所示,方法包括:S1:将IO数据写入上层缓存中;S2:压缩模块根据预设的压缩量将上层缓存中多个IO数据进行组合压缩,形成组合压缩IO数据块;S3:压缩模块针对组合压缩IO数据块中的每个IO数据对应生成一元数据,元数据用于记录压缩前后的每个IO数据处于磁盘中的位置;S4:压缩模块将组合压缩IO数据块以及与该组合压缩IO数据块内部IO数据相对应的元数据下发给下层缓存;S5:下层缓存保存组合压缩IO数据块和元数据;S6:下层缓存将保存的组合压缩IO数据块和本文档来自技高网...
一种在线数据压缩在存储中的集成方法及系统

【技术保护点】
一种在线数据压缩在存储中的集成方法,其特征在于,方法包括:将IO数据写入上层缓存中;压缩模块根据预设的压缩量将上层缓存中多个IO数据进行组合压缩,形成组合压缩IO数据块;压缩模块针对组合压缩IO数据块中的每个IO数据对应生成一元数据,元数据用于记录压缩前后的每个IO数据处于磁盘中的位置;压缩模块将组合压缩IO数据块以及与该组合压缩IO数据块内部IO数据相对应的元数据下发给下层缓存;下层缓存保存组合压缩IO数据块和元数据;下层缓存将保存的组合压缩IO数据块和元数据保存到后端磁盘。

【技术特征摘要】
1.一种在线数据压缩在存储中的集成方法,其特征在于,方法包括:将IO数据写入上层缓存中;压缩模块根据预设的压缩量将上层缓存中多个IO数据进行组合压缩,形成组合压缩IO数据块;压缩模块针对组合压缩IO数据块中的每个IO数据对应生成一元数据,元数据用于记录压缩前后的每个IO数据处于磁盘中的位置;压缩模块将组合压缩IO数据块以及与该组合压缩IO数据块内部IO数据相对应的元数据下发给下层缓存;下层缓存保存组合压缩IO数据块和元数据;下层缓存将保存的组合压缩IO数据块和元数据保存到后端磁盘。2.根据权利要求1所述的在线数据压缩在存储中的集成方法,其特征在于,主机接口层接收读IO数据请求,并在上层缓存中读取IO数据;若在上层缓存中读取到所述IO数据,则将IO数据返回给主机接口层。3.根据权利要求2所述的在线数据压缩在存储中的集成方法,其特征在于,若在上层缓存中未读取到所述IO数据,则将IO数据读请求发送至压缩模块,在压缩模块中读取IO数据;若在压缩模块中读取到所述IO数据,则将IO数据返回给上层缓存,继而返回至主机接口层。4.根据权利要求3所述的在线数据压缩在存储中的集成方法,其特征在于,若在压缩模块中未读取到所述IO数据,则将IO数据读请求发送至下层缓存,在下层缓存读取所述IO数据的元数据,根据元数据信息查找到对应的组合压缩IO数据块内的IO数据;若在下层缓存中读取到所述IO数据,则将IO数据所在的组合压缩IO数据块返回至压缩模块,压缩模块对所述组合压缩IO数据块进行解压,恢复IO数据;将IO数据返回给上层缓存,继而返回至主机接口层。5.根据权利要求4所述的在线数据压缩在存储中的集成方法,其特征在于,若在下层缓存中未读取到所述IO数据,则在后端磁盘读取所述IO数据的元数据,根据元数据信息查找到对应的组合压缩IO数据块内的IO数据;若在后端磁盘中读取到所述IO数据,则将IO数据所在的组合压缩IO数据块返回至压缩模块,压缩模块对所述组合压缩IO数据块进行解压,恢复IO数据;将IO数据返回给上层缓存,继而返回至主机接口层。6.根据权利要求1所述的在线数据压缩在存储中的集成方法,其特征在于,预设的压缩量的获取方式包括:在上层缓存随机抽取N个IO数据块,N为非零的自然数,对抽取的IO数据块进行组合压缩,组合压缩后计算出N个IO数据块的平均MD5值,将该值作为预设的压缩量。7.一种在线数据压缩在存储中的集成系统,其特征在于,包括:上层缓存模块,压缩模块,下层缓存模块,后端磁盘;上层缓存模块用于供IO数据写入;压缩模块用于根据预...

【专利技术属性】
技术研发人员:赵鹏
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1