[发明专利]一种基于相似性的文件分类方法有效
申请号: | 201210537471.7 | 申请日: | 2012-12-12 |
公开(公告)号: | CN103049263A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 王芳;冯丹;陈俭喜;杜鑫;郑超 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 方放 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 相似性 文件 分类 方法 | ||
技术领域
本发明属于计算机存储系统领域,具体涉及一种基于相似性的文件分类方法,用于提高按相似性对文件进行分类时的处理速度,降低内存占用。
背景技术
图灵奖获得者Jim Gray提出了一个经验定律:网络环境下,每18个月产生的数据量等于有史以来数据量之和。国际数据公司(IDC)最新“数字宇宙”研究结果显示,全世界的信息量每两年以超过翻番的速度增长,2011年产生和复制1.8ZB的海量数据,其增长速度超过摩尔定律。大数据已经成为学术界与工业界讨论的热点话题。如何有效的存储这些数据已经成为目前存储系统面临的一大挑战。
分布式存储系统解决了海量数据的存储问题,重复数据删除技术则解决了节省存储空间和网络带宽的问题。对于像网盘这样的网络应用,由于其管理着海量的数据,而且文件之间有较高的相似性,利用相似性进行重复数据删除可以起到提高存储空间使用效率,提升系统输入输出吞吐量的效果。
目前业界所使用的线上重复数据删除系统多是采用了局部性原理来提高重删处理的吞吐率,缓解磁盘瓶颈。最新的研究成果显示,利用相似性可以在损失少量重复数据删除率的情况下,提升重复数据删除的速度,吞吐率,减少重复数据删除时占用的资源。所以,将这一新的技术加以研究,解决其在延迟,删除等方面的问题后,将显著提升存储系统的磁盘利用率,吞吐率,降低对网络的需求。
目前公开的主流相似数据检测技术,主要有三种,第一种是基于瓦(shingle)的检测技术,见:Broder AZ.Identifying and filtering near-duplicatedocuments.In:Giancarlo R,Sankoff D,eds.Proc.of the 11th Annual Symp.OnCombinatorial Pattern Matching.London:Springer-Verlag,2000.1-10;该方法实现简单,适用性广,在实际系统中多有使用,但计算量大,内存占用大;第二种是基于布隆过滤器(bloom filter)的检测技术,见:Jain N,Dahlin M,TewariR.Taper:Tiered approach for eliminating redundancy in replica synchronization.In:Proc.of the4th Usenix Conf.on File and Storage Technologies(FAST2005).Berkeley:USENIX Association,2005.281-294.这种方法比第一种方法在时间和空间开销有较大优势,但存在一定的错误匹配概率,计算量和内存占用仍然有进一步减小的空间;第三种是基于模式匹配的检测技术,见:Manber U.Finding similar files in a large file system.In:Proc.of the USENIX Winter1994Technical Conf.Berkeley:USENIX Association,1994.1-10.该方法则需要对整个文件集进行扫描,也没有解决计算量和内存占用较大的问题。
MD5哈希算法与SHA1哈希算法,都是计算机广泛使用的哈希算法,主流编程语言已有MD5哈希算法与SHA1哈希算法的实现。
发明内容
本发明提供一种基于相似性的文件分类方法,解决现有分类方法计算量和内存占用较大的问题。
本发明所提供的一种基于相似性的文件分类方法,包括下述步骤:
(1)分块步骤,包括下述子步骤:
(1.1)将文件字节流上的开始与结束位置作为两个分界点,将一个窗口的后沿置于文件字节流的开始位置上,利用哈希函数计算窗口内字节的哈希值,所述窗口长度L0为4字节~1024字节;所述哈希函数的散列空间不大于设定的块最大字节数P,P=128~8192;
(1.2)判断所述哈希值与预定值是否相同,是则进行子步骤(1.3),否则转子步骤(1.4),所述预定值从所述哈希函数的值域中任意选择一个;
(1.3)将窗口的前沿所在字节作为当前分界点,判断当前分界点与前一个分界点之间的字节数是否小于设定的块最小字节数,是则忽略当前分界点,执行子步骤(1.4),否则执行子步骤(1.5),所述块最小字节数为8~P;
(1.4)将所述窗口沿文件字节流滑动一个字节,判断窗口前沿与前一个分界点之间的字节数是否达到设定的块最大字节数P,是则把窗口前沿设定为当前分界点,执行子步骤(1.5),否则计算窗口内字节的哈希值,转子步骤(1.2);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210537471.7/2.html,转载请声明来源钻瓜专利网。