基于iSCSI的重复数据删除方法技术

技术编号:6522546 阅读:738 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种基于iSCSI的重复数据删除方法,属于计算机信息存储技术领域,适用于基于iSCSI协议的IP网络远程镜像系统。本发明专利技术通过对iSCSI写数据块进行删重,解决了在不改变原有IP网络远程镜像系统结构的前提下实现带宽精简和同步时间缩短的问题。本发明专利技术的重复数据删除包括两个阶段:第一阶段采用粗粒度的相似数据块检测技术,结合了变长分块CDC算法和bloom?filter算法在全盘范围进行相似块查找,使得重复数据删除更为灵活和精确;第二阶段采用改进的细粒度的相同数据块检测技术,结合了固定长度分块和滑动窗口方法,使得对块而不是文件进行删重,实现了删重对用户的透明性。

【技术实现步骤摘要】

本专利技术属于计算机信息存储
,具体涉及一种,适用于基于iSCSI协议的IP网络远程镜像系统。
技术介绍
IP网络远程镜像系统在灾备系统中得到了广泛的应用。该系统基于iSCSI协议, 通过IP网络把SCSI数据和命令传给灾备中心,以实现本地镜像和远程镜像的一致性。该系统不需要搭建专用网络,大大的减少了灾备系统搭建的成本,也使得系统具有良好的可扩展性,只要能接入到IP网络的地方就可以使用该服务。随着数字信息的爆炸式增长,灾备系统中所存储的数据规模越来越大。研究发现, 应用系统所保存的数据中高达60%是冗余的,而且随着时间的推移越来越多。如果不进行处理,这些冗余数据在存储到网络的过程中将占据大量的网络带宽。这对本就已经十分紧张的网络带宽资源来说无疑是非常致命的。同时海量数据传输所带来的难以忍受的时延, 也严重影响了用户体验。因此,为了减轻IP网络的承载负担,减少备份带宽需求,加快备份速度,节省备份时间,可以先通过对要备份的数据进行重复数据删除再传给灾备中心,再在灾备中心将数据恢复过来。为了不改变现有的IP网络远程镜像系统的结构,保护已有投资,要求在保证传输透明性的前提下实现重复数据删除,即只能通过对截获的iSCSI数据包进行重复数据删除而不是对一个完整的文件。而已有的一些重复数据删除方案,比如rsync,LBFS, TAPER等, 都是针对文件进行删重的,并不适用于这类情况。因此,需要设计一个,使之可以针对iSCSI数据块来进行删重,并在远程镜像实现数据重构。常用的重复数据删除技术主要分为以下两大类(1)相同数据检测技术相同数据主要包括相同文件及相同数据块两个层次。相同文件(WFD =WholeFile Detection)主要通过hash技术进行挖掘;细粒度的相同数据块主要通过固定分块检测技术(FSP fixed-sized Partition)、可变分块检测技术(CDC Content-defined Chunking)及滑动块技术(SlidingBlock)进行重复数据的查找与删除。(2)相似数据检测技术利用数据自身的相似性特点,通过shingle技术、bloom filter技术和模式匹配技术能够挖掘出相同数据检测技术不能识别的重复数据,使存储空间和网络带宽的占用大幅缩减。由于相同数据检测技术和相似数据检测技术对重复数据查找和匹配的精度不同, 对删重效果与增加系统额外开销的影响也不同,因此有效地综合这两种技术的特性,可以尽可能多地消除重复数据,使系统中实际存储的数据或通过网络传送的数据以几何级别递减,大幅削减传输成本。先由粗粒度的相似文件检测找到与要删重的数据最相似的数据,再对该最相似数据采用细粒度的相同数据检测算法进行删重。不同的算法有各自的特点和应用环境,可以根据应用的需要灵活进行选择。对于相同文件检测,定长分块算法实现比较简单,便于定位,但对于有些情况,比如文件插入操4作,就不能很好的找到重复数据;变长分块则相反,实现比较复杂,不好定位,但能比较好的处理插入操作,使得只有插入位置附近的块受到影响,但对文件间小的随机改变检测效果不理想;滑动块技术结合了固定块大小检测技术和可变块大小检测技术的优点,块大小固定,管理简单。大的簇,CDC的重复数据检测性能较好,而滑动块技术对细粒度匹配更适用。相似块检测的shingle算法需要先提取文件的特征集,再求两个文件的相似度,但计算开销和存储开销比较大;而bloom filter算法用集合来表征文件特征,计算和存储开销比 shingle小很多,但要求比较的对象必须构造相同长度的filter值,而对于文件大小差异较大的文件组则不方便选取合适的filter长度进行比较,太小了则误判率会很高,太大了则开销会很大。总之,在满足传输透明性的前提下,如何有效的结合这两种技术来实现基于iSCSI 的重复数据删除,以及它们分别应该采用什么算法,是本专利技术需要解决的关键问题。
技术实现思路
本专利技术提出了一种,适用于基于iSCSI协议的IP 网络远程镜像系统。该方法的应用可以在不改变原系统的结构的前提下,针对iSCSI数据包里的写数据块进行重复数据删除,再在远程接收方重构数据,极大的减少了传输所需带宽和传输时延。该方法的具体步骤为A.截获通过iSCSI目标器截获发送端的iSCSI写数据包,并过滤掉小数据块不对其进行删重处理;B.相似块检测对写数据块进行全盘范围的相似块检测,找到与之最相似的旧数据块;C.重复数据删除针对要写的新数据块和找到的最相似的旧数据块进行重复数据删除,生成差异数据块;D.传输将差异数据块通过iSCSI包封装并用iSCSI启动器上传到IP存储网络;E.重构接收端通过iSCSI目标器接收并解析传来的iSCSI包,根据删重后的数据块和已有的旧数据块重构新数据块并存入磁盘。所述的重复数据删除方法,其特征在于所述相似块检测步骤,包括以下子步骤A.用CDC算法对要写的新数据块进行变长分块;B.对子步骤A中的每一个子块计算等长的bloom filter序列,对所有的序列进行或运算,得到整个新块的bloom filter序列;C.对本地磁盘上的bloom filter表进行顺序扫描,统计每一条记录的bloom filter序列与新数据块的bloom filter序列之间相同“ 1”位的比例,寻找比例最大并大于一定阈值的记录,若记录存在,则该记录相对应的旧数据块则为与新数据块最相似的数据块,执行子步骤D ;否则则认为该新数据块不存在或存在少量的重复数据,不需要进行重复数据删除,转步骤E ;D.将最相似数据块的位置信息,包括偏移量和长度,传给重复数据删除模块;E.更新bloom filter表,将新数据块的bloom filter序列加到表中,删除无效的记录,相似块检测结束。所述bloom filter表,记录的是旧数据块的bloom filter序列,由4个表项组成A.标志位1字节,标志着该记录是否为有效记录,有效为0x00,无效为OxfT ;B.偏移量8字节,该记录对应的旧数据块在磁盘的偏移量;C.块长度4字节,该记录对应的旧数据块的长度;D. bloom filter序列固定长度m/8字节,该记录对应的旧数据块的bloom filter序列值。bloom filter序列的长度m/8字节,是由最大子块数η和给定的误判率ρ决定的;最大子块数η,是由最大写数据块的长度和CDC算法的平均块长度的比值决定的;假定k为jfl计算bloom filter所需的hash函数个数,则丨= ^ln2时可以使ρ最小,bloom filter序列的长度则为wkT^l!;比特。所述无效记录指的是当新数据块覆盖或者部分覆盖旧数据块的时候,旧数据块的记录就变成无效记录,删除方法是修改标志位为Oxff。所述新记录的添加以空间回收利用为原则,优先覆盖无效记录,若无无效记录,则添加在表尾。所述的重复数据删除方法,其特征在于所述重复数据删除步骤,包括以下子步骤Α.对新数据块进行定长分块,长度为512字节;B.计算所有子块的签名,签名值包括强弱校验和;C.查找本地磁盘的签名表,根据步骤B给出的偏移量和长度找到最相似数据块的签名;D.根据新数据块和旧数据块的签名,生成差异数据块,传给传输模块;Ε本文档来自技高网
...

【技术保护点】
1.一种基于iSCSI的重复数据删除方法,通过对要备份到IP存储网络中的数据块进行重复数据删除,以达到在不改变原系统的情况下减少传输所需带宽的目的,具体步骤为:A.截获:通过iSCSI目标器截获发送端的iSCSI数据包,并过滤掉小数据块不对其进行删重处理;B.相似块检测:对写数据块进行全盘范围的相似块检测,找到与之最相似的旧数据块;C.重复数据删除:针对要写的新数据块和找到的最相似的旧数据块进行重复数据删除,生成差异数据块;D.传输:将差异数据块通过iSCSI包封装并用iSCSI启动器上传到IP存储网络;E.重构:接收端通过iSCSI目标器接收并解析传来的iSCSI包,根据删重后的数据块和已有的旧数据块重构新数据块并存入磁盘。

【技术特征摘要】
1.一种基于iscsi的重复数据删除方法,通过对要备份到IP存储网络中的数据块进行重复数据删除,以达到在不改变原系统的情况下减少传输所需带宽的目的,具体步骤为A.截获通过iSCSI目标器截获发送端的iSCSI数据包,并过滤掉小数据块不对其进行删重处理;B.相似块检测对写数据块进行全盘范围的相似块检测,找到与之最相似的旧数据块;C.重复数据删除针对要写的新数据块和找到的最相似的旧数据块进行重复数据删除,生成差异数据块;D.传输将差异数据块通过iSCSI包封装并用iSCSI启动器上传到IP存储网络;E.重构接收端通过iSCSI目标器接收并解析传来的iSCSI包,根据删重后的数据块和已有的旧数据块重构新数据块并存入磁盘。2.如权利要求1所述的重复数据删除方法,其特征在于 所述相似块检测步骤,包括以下子步骤A.用CDC算法对要写的新数据块进行变长分块;B.对子步骤A中的每一个子块计算等长的bloomfilter序列,对所有的序列进行或运算,得到整个新块的bloom filter序列;C.对本地磁盘上的bloomfilter表进行顺序扫描,统计每一条记录的bloom filter 序列与新数据块的bloom filter序列之间相同“1”位的比例,寻找比例最大并大于一定阈值的记录,若记录存在,则该记录相对应的旧数据块则为与新数据块最相似的数据块,执行子步骤D ;否则则认为该新数据块不存在或存在少量的重复数据,不需要进行重复数据删除,转步骤E ;D.将最相似数据块的位置信息,包括偏移量和长度,传给重复数据删除模块;E.更新bloomfilter表,将新数据块的bloom filter序列加到表中,删除无效的记录,相似块检测结束。3.如权利要求2所述的重复数据删除方法,其特征在于所述bloom filter表,记录的是旧数据块的bloom filter序列,由4个表项组成A.标志位1字节,标志着该记录是否为有效记录,有效为0x00,无效为OxfT;B.偏移量8字节,该记录对应的旧数据块在磁盘的偏移量;C.块长度4字节,该记录对应的旧数据块的长度;D.bloom filter序列固定长度m/8字节,该记录对应的旧数据块的bloom f...

【专利技术属性】
技术研发人员:肖达谭乐娟姚文斌王枞陈钊韩司
申请(专利权)人:北京邮电大学
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1