[发明专利]一种快速差量压缩方法有效
| 申请号: | 201510927001.5 | 申请日: | 2015-12-14 |
| 公开(公告)号: | CN105515586B | 公开(公告)日: | 2019-04-12 |
| 发明(设计)人: | 夏文;冯丹;李春光;江泓 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | H03M7/30 | 分类号: | H03M7/30 |
| 代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 快速 压缩 方法 | ||
1.一种快速差量压缩方法,包括以下步骤:
(1)对差量压缩中的基准块B进行基于内容的快速切分,以得到多个单词,从而构成单词库;
(2)对与基准块B相似的数据块A进行基于内容的快速切分,并且对快速切分期间检测到的重复单词进行放大,以得到重复单词和非重复单词;
其中,步骤(2)包括如下子步骤:
(2-1)初始化快速滑动哈希值g=1,设置数据块A的当前滑动位置j=1;
(2-2)计算数据块A在当前位置j处的快速滑动哈希值g,g=(g<<1)+Aj,其中Aj表示数据块A在当前滑动位置j处的字节内容;
(2-3)判断步骤(2-2)计算得到的快速滑动哈希值g是否满足最低p个位都为0,是则进入步骤(2-4),否则转入步骤(2-7);
(2-4)标记位置j为一个单词W的结束,并利用指纹算法对该单词W计算指纹h;
(2-5)根据指纹h查找基准块B的单词库,通过指纹索引检测W是否为重复单词,若是则进入步骤(2-6);否则标记单词W为非重复单词,设置g=1,进入步骤(2-7);
(2-6)标记单词W为重复单词,并继续比对单词W和W在基准块B中的重复单词V后续的字节内容是否相同,一旦遇到一个不相同的字节,就停止比对,最终得到后续相同的字节数k,设置单词W的长度增加k,设置j=j+k,g=1,并返回步骤(2-2);
(2-7)设置j=j+1,并重复执行步骤(2-2)和(2-3),直到处理完数据块A的最后一个字节为止;
(3)对步骤(2)中得到的重复单词和非重复单词按切分顺序依次进行编码和储存,并分别使用两种不同的数据格式来记录重复单词和非重复单词,以得到差量数据块△B,A;
(4)在需要对差量数据块△B,A进行解码操作时,依次从△B,A中获取两种数据格式的记录,从而依次获得数据块A的所有单词,将这些单词顺序写入输出流,以恢复出完整的数据块A。
2.根据权利要求1所述的快速差量压缩方法,其特征在于,步骤(1)包括如下子步骤:
(1-1)初始化快速滑动哈希值f=1,设置基准块B的当前滑动位置i=1;
(1-2)计算基准块B在当前滑动位置i处的快速滑动哈希值f,f=(f<<1)+Bi,其中Bi表示基准块B在当前滑动位置i处的字节内容;
(1-3)判断步骤(1-2)计算得到的快速滑动哈希值f是否满足最低p个位都为0,是则进入步骤(1-4),否则进入步骤(1-5);
(1-4)标记位置i为一个单词的结束,并利用指纹算法对该单词计算指纹,以建立该单词的指纹索引,设置f=1,进入步骤(1-5);
(1-5)设置i=i+1,并重复执行步骤(1-2)和(1-3),直到处理完数据块B的最后一个字节为止。
3.根据权利要求1所述的快速差量压缩方法,其特征在于,步骤(3)具体为,使用‘0’数据格式记录重复单词在基准块B中的位置和长度信息,使用‘1’数据格式记录非重复单词的长度信息和字节内容,以得到数据块A对于基准块B的差量数据块△B,A。
4.根据权利要求1所述的快速差量压缩方法,其特征在于,步骤(4)具体为,对于‘0’数据格式的记录,根据位置和长度信息,从基准块B中获取重复单词;对于‘1’数据格式的记录,直接从该记录中取出非重复单词。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510927001.5/1.html,转载请声明来源钻瓜专利网。





