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数据块和元数据保存到后端磁盘。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。