一种基于相似性的文件分类方法

文档序号:6577173阅读:335来源:国知局
专利名称:一种基于相似性的文件分类方法
技术领域
本发明属于计算机存储系统领域,具体涉及一种基于相似性的文件分类方法,用于提高按相似性对文件进行分类时的处理速度,降低内存占用。
背景技术
图灵奖获得者Jim Gray提出了一个经验定律网络环境下,每18个月产生的数据量等于有史以来数据量之和。国际数据公司(IDC)最新“数字宇宙”研究结果显示,全世界的信息量每两年以超过翻番的速度增长,2011年产生和复制1. 8ZB的海量数据,其增长速度超过摩尔定律。大数据已经成为学术界与工业界讨论的热点话题。如何有效的存储这些数据已经成为目前存储系统面临的一大挑战。分布式存储系统解决了海量数据的存储问题,重复数据删除技术则解决了节省存储空间和网络带宽的问题。对于像网盘这样的网络应用,由于其管理着海量的数据,而且文件之间有较高的相似性,利用相似性进行重复数据删除可以起到提高存储空间使用效率,提升系统输入输出吞吐量的效果。目前业界所使用的线上重复数据删除系统多是采用了局部性原理来提高重删处理的吞吐率,缓解磁盘瓶颈。最新的研究成果显示,利用相似性可以在损失少量重复数据删除率的情况下,提升重复数据删除的速度,吞吐率,减少重复数据删除时占用的资源。所以,将这一新的技术加以研究,解决其在延迟,删除等方面的问题后,将显著提升存储系统的磁盘利用率,吞吐率,降低对网络的需求。目前公开的主流相似数据检测技术,主要有三种,第一种是基于瓦(shingle)的检测技术,见Broder AZ.1dentifying and filtering near-duplicatedocuments.1n Giancarlo R,Sankoff D,eds. Proc. of the Ilth Annual Symp. OnCombinatorial PatternMatching. London :Springer-Verlag,2000. 1-10 ;该方法实现简单,适用性广,在实际系统中多有使用,但计算量大,内存占用大;第二种是基于布隆过滤器(bloom filter)的检测技术,见Jain N,Dahlin M,TewariR. Taper Tiered approach for eliminatingredundancy in replica synchronization.1n Proc. of the4th Usenix Conf. on Fileand Storage Technologies(FAST2005). Berkeley USENIX Association,2005. 281-294.这种方法比第一种方法在时间和空间开销有较大优势,但存在一定的错误匹配概率,计算量和内存占用仍然有进一步减小的空间;第三种是基于模式匹配的检测技术,见Manber U. Finding similar files in a large file system.1n Proc. of the USENIXWinter 1994Technical Conf. Berkeley USENIX Association,1994. 1-10.该方法则需要对整个文件集进行扫描,也没有解决计算量和内存占用较大的问题。MD5哈希算法与SHAl哈希算法,都是计算机广泛使用的哈希算法,主流编程语言已有MD5哈希算法与SHAl哈希算法的实现
发明内容
本发明提供一种基于相似性的文件分类方法,解决现有分类方法计算量和内存占用较大的问题。本发明所提供的一种基于相似性的文件分类方法,包括下述步骤(I)分块步骤,包括下述子步骤(1.1)将文件字节流上的开始与结束位置作为两个分界点,将一个窗口的后沿置于文件字节流的开始位置上,利用哈希函数计算窗口内字节的哈希值,所述窗口长度LO为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);(1.5)将当前分界点与前一个分界点之间的字节作为一个块,记为当前块,将窗口后沿置于文件字节流上当前分界点的下一个字节处,执行步骤(2);(2)计算校验和步骤计算检验和s,并将其保存在临时校验和结果集中,s = a+2%,其中,a、b为中间参数
权利要求
1.一种基于相似性的文件分类方法,包括下述步骤 (1)分块步骤,包括下述子步骤(1.1)将文件字节流上的开始与结束位置作为两个分界点,将一个窗口的后沿置于文件字节流的开始位置上,利用哈希函数计算窗口内字节的哈希值,所述窗口长度LO为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); (1. 5)将当前分界点与前一个分界点之间的字节作为一个块,记为当前块,将窗口后沿置于文件字节流上当前分界点的下一个字节处,执行步骤(2); (2)计算校验和步骤 计算检验和s,并将其保存在临时校验和结果集中, s = a+216b, 其中,a、b为中间参数
2.如权利要求1所述的基于相似性的文件分类方法,其特征在于 所述分块步骤中,所述哈希函数为
3.如权利要求1所述的基于相似性的文件分类方法,其特征在于 所述分类步骤中,计算指纹值采用MD5哈希算法或者SHAl哈希算法。
全文摘要
一种基于相似性的文件分类方法,属于计算机存储系统领域,解决现有分类方法计算量和内存占用较大的问题。本发明包括分块步骤、计算校验和步骤、统计步骤和分类步骤。本发明对文件数据的处理不需要随机读写,只需要从头到尾的进行一次处理,就可以完成分块,计算校验和,统计,排序以及最终确定分类所有步骤;可以高效的获取文件间的关联信息,将在二进制数据层面上相似的文件划归为一类,对文件给出所属类别的唯一标识,在判定两个文件是否相似时,只需要判断它们所属类别的标识是否相同即可,处理速度快,占用内存少,可以通过运行参数调整判定精度;适用于各类需要获取数据相似性的应用,特别面向存储、数据去重的相关应用。
文档编号G06F17/30GK103049263SQ20121053747
公开日2013年4月17日 申请日期2012年12月12日 优先权日2012年12月12日
发明者王芳, 冯丹, 陈俭喜, 杜鑫, 郑超 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1