[发明专利]一种基于数据压缩和数据去冗协同的存储优化方法有效
申请号: | 201510508298.1 | 申请日: | 2015-08-18 |
公开(公告)号: | CN105022593B | 公开(公告)日: | 2017-09-26 |
发明(设计)人: | 夏耐;姜承祥 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/06 |
代理公司: | 江苏圣典律师事务所32237 | 代理人: | 胡建华 |
地址: | 210023 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种基于数据压缩和数据去冗协同的存储优化方法。本方法会在数据压缩机制起作用之前判断是否需要进行数据去冗余。给定一批需要压缩的数据块,本方法首先会基于采样来估算性能开销较高的数据去冗余机制的收益,并判断是否值得进行数据去冗余如果值得,就对全部给定数据块先进行去冗余,然后再压缩,否则就直接进行压缩。本发明通过协同原本独立的两套减少数据存储量的机制,能够最大化数据存储的效率。 | ||
搜索关键词: | 一种 基于 数据压缩 数据 协同 存储 优化 方法 | ||
【主权项】:
一种基于数据压缩和数据去冗协同的存储优化方法,其特征在于,包含以下步骤:步骤1,假设计算机需要回收释放存储介质中N个数据块的空间,候选的可用于释放的数据块集合DSet包含M个数据块,M>N,则此次处理期望释放出的数据存储比率S=N/M;设置采样比率阈值R,0%<R≤100%,数据去冗余执行百分比阈值P,0%<P≤100%;步骤2,使用随机发生器产生随机种子,填入伪随机算法产生一个数据块随机扫描序列Block1、Block2、…BlockM;步骤3,选择一个快速的去冗扫描的哈希算法H,对前M×R个数据块Block1、Block2、…BlockM×R进行扫描,计算每个数据块的哈希值H(Block1)、H(Block2)…H(BlockM×R);步骤4,将所有数据块哈希值,逐个插入到查找数据结构;在插入过程中,如果有两个数据块的哈希值相同,则进一步判断哈希函数是否为加密强度哈希算法,如果是,则将其中一个数据块作为冗余数据块处理,并跳转至步骤6;如果否,则继续步骤5;如果没有两个数据块的哈希值相同,则将该哈希值作为查找数据结构的一个键值插入到查找数据结构中,继续步骤6;步骤5,逐字节比对哈希值相同的数据块内容,如果数据块内容相同,那么将其中一个数据块作为冗余数据块处理;如果数据块内容不相同,则将该哈希值作为查找数据结构的一个键值插入到查找数据结构中;步骤6,统计步骤4和5中的所有冗余数据块的数量,计数为C;计算实际冗余度E=C/(M×R),如果P≤E,则扫描剩余的数据块序列BlockM×R+1、BlockM×R+2、…BlockM,计算每个数据块对应的哈希值,将所有数据块哈希值,插入到查找数据结构;在插入过程中,两个数据块的哈希值相同,则进一步判断是否哈希函数为加密强度哈希算法,如果是,则将其中一个数据块作为冗余数据块处理,如果不是,则进一步逐字节比对所对应的内存数据块内容;如果内存数据块内容相同,则将其中一个数据块作为冗余数据块处理;如果没有两个数据块的哈希值相同,或者逐字节比较对哈希值相同的数据块内容不一样,则将该哈希值作为查找数据结构的一个键值插入到结构中;并统计剩余冗余计数为C’,所有数据块扫描完成以后,得出的尚未释放的数据块集合,定义为数据块集合Dset’;如果P>E那么,令实际节省的数据存储空间比率Q=0,并跳转至步骤8;步骤7,计算出实际节省的数据存储空间比率Q,Q=(C+C')/M,如果S≤Q,则已经回收超过N个数据块,结束,否则,如果S>Q,则继续步骤8;步骤8,选择针对内存的快速压缩算法Z,逐个扫描并压缩数据块集合Dset’,针对每个数据块压缩以后的数据块BZi=Z(Blocki),其中i为数据块集合Dset’中任意一个合法的索引值即Blocki∈Dset’;释放数据块Blocki并将数据块BZi写入至存储设备,此过程持续直到释放空闲出的数据块数量大于N。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510508298.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种图形界面轮盘控件的实现方法及系统
- 下一篇:电子装置及其操作方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置