CN103078709A - 数据冗余识别方法 - Google Patents
数据冗余识别方法 Download PDFInfo
- Publication number
- CN103078709A CN103078709A CN201310002355XA CN201310002355A CN103078709A CN 103078709 A CN103078709 A CN 103078709A CN 201310002355X A CN201310002355X A CN 201310002355XA CN 201310002355 A CN201310002355 A CN 201310002355A CN 103078709 A CN103078709 A CN 103078709A
- Authority
- CN
- China
- Prior art keywords
- window
- data
- fingerprint value
- recognition methods
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Collating Specific Patterns (AREA)
Abstract
一种数据冗余识别方法,包括:在待计算数据内容的字节序列中确定窗口长度;确定并行计算的窗口数及跳转间隔;根据已算得的窗口指纹值并行计算各窗口的指纹值;标记窗口指纹值符合预定的数据分块边界条件的窗口位置为数据分块边界;计算数据分块的散列值,并标记数据分块的散列值与已存储的数据分块散列值相等的为冗余数据块。该数据冗余识别方法通过并行窗口同时计算多个窗口的指纹值并与预定的分块条件和冗余条件进行比对以确定数据分块边界和冗余数据块,识别速率高、可适应高速大容量存储、高带宽数据传输的要求。
Description
技术领域
本发明涉及一种通信中的数据压缩方法,具体地,本发明涉及一种网络压缩中用于网络冗余删除的数据冗余识别方法。
背景技术
网络冗余删除技术作为一种新型的网络压缩技术受到学术界和工业界的广泛关注,其主要功能是识别网络中重复传输的数据,极大地缩减网络传输数据量,提高网络带宽的利用率,从而提高应用性能和节省运营成本。
网络冗余删除技术需要对传输的数据进行划分,找出相同的部分,并用指纹(或签名)取代相同数据的传输来实现数据的压缩。目前主要有两种数据块划分方式,固定长度划分和可变长度划分。固定长度划分是以固定长度的数据内容划分数据,由于不能智能地根据数据自身内容的变化来调整数据分块的边界,如对编辑的重复数据处理低效,存在一定的局限性。可变长度划分主要采用滑动窗口技术,基于数据的内容来确定数据分块的边界,其原理是:从数据起始端开始,将固定大小相互重叠的活动窗口中的数据序列看成组成数据的各个部分,在窗口的每个位置,该窗口中数据序列的拉宾(Rabin)指纹被计算出来,当指纹满足某个条件时,如当它的值模某个指定的整除数为0时,则把此时滑动窗口右边界位置作为数据分块的边界,不断地重复这个过程,直到将传输的所有数据划分成块。基于内容可变长度分块可以将更新/编辑对数据划分的影响控制在更新/编辑位置附件的几个数据分块内,并保持其他数据分块长度不变。可变长度划分对两个相似的数据内容之间可以检测出更多的冗余。
可变长度划分所采用窗口指纹的计算主要采用由美国哈佛大学教授拉宾(Rabin)提出的方法。Rabin指纹计算具有高效性且Rabin指纹函数具有随机性,对任意数据呈现均匀分布,因而Rabin指纹函数在指纹计算中得到广泛应用。然而在高带宽网络传输和存储环境下,Rabin指纹函数的计算速度越来越难以满足高速存储和高带宽网络传输中的冗余数据删除的处理要求。
发明内容
有鉴于此,有必要提供一种数据冗余识别方法,可以提高冗余识别的速度。
一种数据冗余识别方法,包括:
在待计算数据内容的字节序列中确定窗口长度;
确定并行计算的窗口数及跳转间隔;
根据已算得的窗口指纹值并行计算各窗口的指纹值;
标记窗口指纹值符合预定的数据分块边界条件的窗口位置为数据分块边界;
计算数据分块的散列值,并标记数据分块的散列值与已存储的数据分块散列值相等的为冗余数据块。
可选地,所述窗口指纹值由拉宾指纹函数计算。
可选地,所述窗口指纹值的计算方式为:
RF(α1、α2、α3……αβ)=(α1pβ+α2pβ-1+…+αβ-1p+αβ)mod M;
其中α1、α2、α3……αβ为待计算数据内容中的字节序列,RF(α1、α2、α3……αβ)表示窗口长度为β的字节序列的指纹值,p和M为可选的常数。
可选地,所述跳转间隔为所述并行计算的窗口数的整数倍。
可选地,所述跳转间隔不是所述并行计算的窗口数的整数倍。
可选地,所述跳转间隔中重叠计算的窗口指纹值用于校验。
可选地,所述并行计算的窗口位于同一跳转间隔中。
可选地,所述并行计算的窗口位于不同跳转间隔中。
可选地,所述数据冗余识别方法进一步包括:以散列值与引用信息替代所述标记为冗余数据块的数据进行所述数据块的存储。
可选地,所述根据已算得的窗口指纹值并行计算各窗口的指纹值由下式计算:
RF(αi+1、αi+2、αi+3……αi+β)=
(RF(αi、αi+1、αi+2……αi+β-1)-αi×pβ)×p+αi+βmod M;
其中αi+1、αi+2、αi+3……αi+β为待计算数据内容中的字节序列,RF(αi、αi+1、αi+2……αi+β-1)表示窗口长度为β的字节序列的指纹值,p和M为可选的常数。
上述数据冗余识别方法通过并行窗口同时计算多个窗口的指纹值并与预定的数据分块边界条件进行比对以确定数据分块的边界;其处理速率高、可适应高速大容量存储、高带宽数据传输的要求。
附图说明
图1是一种拉宾函数计算窗口的示意图;
图2是本发明数据冗余识别方法的一种实施方式的流程图。
具体实施方式
如图1所示,示例地,本发明数据冗余识别方法的一种实施方式系基于Rabin指纹函数来计算窗口的指纹值。图1中,α1、α2、α3……αβ、αβ+1、αβ+2……为待检测的数据内容中的字节序列。针对一个长度为β的字节序列的计算窗口,其Rabin指纹值计算式为:
RF(α1、α2、α3……αβ)=(α1pβ+α2pβ-1+…+αβ-1p+αβ)mod M……(1)
其中,RF(α1、α2、α3……αβ)表示窗口长度为β的字节序列的指纹值,p和M均为可选的常数。
如图2所示,本发明的冗余识别方法的一种实施方式包括以下步骤。
步骤202,在待计算数据内容的字节序列中确定窗口长度。具体地,对于式(1)而言,确定其中的窗口长度β。
步骤204,确定并行计算的窗口数及跳转间隔。具体地,根据Rabin指纹算法,可得下式:
RF(αi+1、αi+2、αi+3……αi+β)=(RF(αi、αi+1、αi+2……αi+β-1)-αi×pβ)×p+αi+βmod M……(2)
则依该式(2),可同时计算几个窗口的指纹值,以加速窗口指纹值的计算速度,从而提升冗余识别与删除的速率。
可选地,跳转间隔可为并行计算的窗口数的整数倍,以便在并行计算的窗口指纹值计算完毕后跳转至下一跳转间隔的窗口进行计算。示例地,若并行计算的窗口数为3,跳转间隔亦为3,则当3个并行计算的窗口指纹值计算完毕后,可跳转至下一跳转间隔计算后续3个窗口的指纹值。
可选地,跳转间隔可不为并行计算窗口数的整数倍,以保存部分重叠计算的窗口以作校验。示例地,若并行计算的窗口数为5,跳转间隔为7,则以αi起首的当前5个并行窗口的指纹值计算完毕后,跳至αi+5起始的窗口,并同时并行计算以αi+5、αi+6、αi+7、αi+8、αi+9为起首的5个窗口的指纹值。该等5个窗口的指纹值计算完毕后,跳转至下一跳转间隔,同时并行计算以αi+7、αi+8、αi+9等5个为起首的窗口的指纹值。如此,则每个跳转间隔包括了αi+7、αi+8、αi+9等若干个重叠计算的窗口,以作校验。该等重叠窗口可由用户自行选择,若无需重叠校验,则跳转间隔设为并行窗口数的整数倍即可。
步骤206,根据已算得的窗口指纹值并行计算各窗口的指纹值。具体地,由式(2)可以得到,下一窗口的指纹值可以简单地由当前窗口的指纹值计算而得,而无需再应用Rabin原函数式(1)来计算窗口指纹值,可以节省计算资源,减轻计算负担。
步骤208,将窗口指纹值与预定的数据分块条件比较。若未符合预定的数据分块条件,则执行步骤218。
步骤210,若步骤208的比较结果显示窗口指纹值符合预定的数据分块条件,则将当前滑动窗口的右边界所在位置标记为数据分块的边界。
步骤212,计算数据分块的散列值,并与已存储的数据分块散列值比较是否相等。
步骤214,若比较结果为数据分块的散列值与已存储的数据分块散列值相等;则标记该数据分块为冗余数据块,可通过仅传输或存储散列值与引用信息的方式替代传输或存储该冗余数据分块,从而节省大量的网络带宽或存储空间。
步骤216,若步骤212的比较结果为数据分块的散列值与已存储的数据分块散列值不相等,则该数据分块不是冗余数据块,存储该数据分块的散列值,不标记该数据分块为冗余数据块,并滑动至下一计算窗口。
步骤218,判断是否已到达待计算数据内容的末端,若未到达数据内容末端,则继续执行步骤206进行并行窗口指纹值的计算与数据分块的划分。
上述并行计算的窗口可位于同一跳转间隔中,亦可并行于不同跳转间隔中,例如,对于并行窗口数为3,跳转间隔为β的计算方式,可同时并行计算同一跳转间隔中αi、αi+1、αi+2三个字节为首的窗口的指纹值,亦可并行计算不同跳转间隔中相对应窗口,如αi、αi+β、αi+2β三个字节为首的窗口的指纹值。
本发明的冗余识别方法通过并行窗口同时计算多个窗口的指纹值并与预定的分块条件和冗余条件进行比对以确定数据分块边界和冗余数据块,识别速率高、可适应大容量、高带宽数据存储的要求。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据冗余识别方法,包括:
在待计算数据内容的字节序列中确定窗口长度;
确定并行计算的窗口数及跳转间隔;
根据已算得的窗口指纹值并行计算各窗口的指纹值;
标记窗口指纹值符合预定的数据分块边界条件的窗口位置为数据分块边界;
计算数据分块的散列值,并标记数据分块的散列值与已存储的数据分块散列值相等的为冗余数据块。
2.如权利要求1所述的数据冗余识别方法,其特征在于:所述窗口指纹值由拉宾指纹函数计算。
3.如权利要求1所述的数据冗余识别方法,其特征在于:所述窗口指纹值的计算方式为:
RF(α1、α2、α3……αβ)=(α1pβ+α2pβ-1+…+αβ-1p+αβ)mod M;
其中α1、α2、α3……αβ为待计算数据内容中的字节序列,RF(α1、α2、α3……αβ)表示窗口长度为β的字节序列的指纹值,p和M为可选的常数。
4.如权利要求1所述的数据冗余识别方法,其特征在于:所述跳转间隔为所述并行计算的窗口数的整数倍。
5.如权利要求1所述的数据冗余识别方法,其特征在于:所述跳转间隔不是所述并行计算的窗口数的整数倍。
6.如权利要求5所述的数据冗余识别方法,其特征在于:所述跳转间隔中重叠计算的窗口指纹值用于校验。
7.如权利要求1所述的数据冗余识别方法,其特征在于:所述并行计算的窗口位于同一跳转间隔中。
8.如权利要求1所述的数据冗余识别方法,其特征在于:所述并行计算的窗口位于不同跳转间隔中。
9.如权利要求1所述的数据冗余识别方法,进一步包括:以散列值与引用信息替代所述标记为冗余数据块的数据进行所述数据块的存储。
10.如权利要求1所述的数据冗余识别方法,其特征在于:所述根据已算得的窗口指纹值并行计算各窗口的指纹值由下式计算:
RF(αi+1、αi+2、αi+3……αi+β)=
(RF(αi、αi+1、αi+2……αi+β-1)-αi×pβ)×p+αi+βmod M;
其中αi+1、αi+2、αi+3……αi+β为待计算数据内容中的字节序列,RF(αi、αi+1、αi+2……αi+β-1)表示窗口长度为β的字节序列的指纹值,p和M为可选的常数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310002355.XA CN103078709B (zh) | 2013-01-05 | 2013-01-05 | 数据冗余识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310002355.XA CN103078709B (zh) | 2013-01-05 | 2013-01-05 | 数据冗余识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103078709A true CN103078709A (zh) | 2013-05-01 |
CN103078709B CN103078709B (zh) | 2016-04-13 |
Family
ID=48155124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310002355.XA Active CN103078709B (zh) | 2013-01-05 | 2013-01-05 | 数据冗余识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103078709B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279531A (zh) * | 2013-05-31 | 2013-09-04 | 北京瑞翔恒宇科技有限公司 | 一种分布式文件系统中基于内容的文件分块方法 |
CN104753626A (zh) * | 2013-12-25 | 2015-07-01 | 华为技术有限公司 | 一种数据压缩方法、设备及系统 |
CN105844210A (zh) * | 2015-01-29 | 2016-08-10 | Hgst荷兰有限公司 | 硬件有效的指纹识别 |
CN106485932A (zh) * | 2016-12-28 | 2017-03-08 | 芜湖乐锐思信息咨询有限公司 | 高效路径管理系统 |
CN106485925A (zh) * | 2016-12-28 | 2017-03-08 | 芜湖乐锐思信息咨询有限公司 | 基于数据简约处理技术的交通信息系统 |
CN106649791A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 集约型信息管理系统 |
CN106657088A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 基于安全防护的高效信息系统 |
CN106650268A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 高效率的个人医学信息管理系统 |
CN106657089A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 基于数据去冗余的在线协作系统 |
CN106650269A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 基于大数据挖掘及数据冗余处理的医疗信息系统 |
CN106685958A (zh) * | 2016-12-28 | 2017-05-17 | 芜湖乐锐思信息咨询有限公司 | 多形式数据处理高效用户信息管理系统 |
CN106781482A (zh) * | 2016-12-28 | 2017-05-31 | 芜湖乐锐思信息咨询有限公司 | 新型智能交通数据处理系统 |
CN106778006A (zh) * | 2016-12-28 | 2017-05-31 | 芜湖乐锐思信息咨询有限公司 | 基于大数据的医疗信息管理系统 |
CN106790141A (zh) * | 2016-12-28 | 2017-05-31 | 芜湖乐锐思信息咨询有限公司 | 基于云计算的新型道路交通资源管理信息系统 |
CN107239226A (zh) * | 2016-03-29 | 2017-10-10 | 联想(北京)有限公司 | 一种数据去重方法及终端、服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1997011A (zh) * | 2006-07-26 | 2007-07-11 | 白杰 | 数据分割方法和数据分割装置 |
CN101788976A (zh) * | 2010-02-10 | 2010-07-28 | 北京播思软件技术有限公司 | 一种基于内容的文件分割方法 |
CN102214210A (zh) * | 2011-05-16 | 2011-10-12 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法、装置和系统 |
CN102467571A (zh) * | 2010-11-17 | 2012-05-23 | 英业达股份有限公司 | 重复数据删除的数据区块切分方法与新增方法 |
CN102479245A (zh) * | 2010-11-30 | 2012-05-30 | 英业达集团(天津)电子技术有限公司 | 数据区块的切分方法 |
-
2013
- 2013-01-05 CN CN201310002355.XA patent/CN103078709B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1997011A (zh) * | 2006-07-26 | 2007-07-11 | 白杰 | 数据分割方法和数据分割装置 |
CN101788976A (zh) * | 2010-02-10 | 2010-07-28 | 北京播思软件技术有限公司 | 一种基于内容的文件分割方法 |
CN102467571A (zh) * | 2010-11-17 | 2012-05-23 | 英业达股份有限公司 | 重复数据删除的数据区块切分方法与新增方法 |
CN102479245A (zh) * | 2010-11-30 | 2012-05-30 | 英业达集团(天津)电子技术有限公司 | 数据区块的切分方法 |
CN102214210A (zh) * | 2011-05-16 | 2011-10-12 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法、装置和系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279531A (zh) * | 2013-05-31 | 2013-09-04 | 北京瑞翔恒宇科技有限公司 | 一种分布式文件系统中基于内容的文件分块方法 |
CN103279531B (zh) * | 2013-05-31 | 2016-06-08 | 北京瑞翔恒宇科技有限公司 | 一种分布式文件系统中基于内容的文件分块方法 |
CN104753626A (zh) * | 2013-12-25 | 2015-07-01 | 华为技术有限公司 | 一种数据压缩方法、设备及系统 |
CN105844210A (zh) * | 2015-01-29 | 2016-08-10 | Hgst荷兰有限公司 | 硬件有效的指纹识别 |
CN105844210B (zh) * | 2015-01-29 | 2020-04-28 | 西部数据技术公司 | 硬件有效的指纹识别 |
CN107239226A (zh) * | 2016-03-29 | 2017-10-10 | 联想(北京)有限公司 | 一种数据去重方法及终端、服务器 |
CN106650268A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 高效率的个人医学信息管理系统 |
CN106657088A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 基于安全防护的高效信息系统 |
CN106649791A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 集约型信息管理系统 |
CN106657089A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 基于数据去冗余的在线协作系统 |
CN106650269A (zh) * | 2016-12-28 | 2017-05-10 | 芜湖乐锐思信息咨询有限公司 | 基于大数据挖掘及数据冗余处理的医疗信息系统 |
CN106685958A (zh) * | 2016-12-28 | 2017-05-17 | 芜湖乐锐思信息咨询有限公司 | 多形式数据处理高效用户信息管理系统 |
CN106781482A (zh) * | 2016-12-28 | 2017-05-31 | 芜湖乐锐思信息咨询有限公司 | 新型智能交通数据处理系统 |
CN106778006A (zh) * | 2016-12-28 | 2017-05-31 | 芜湖乐锐思信息咨询有限公司 | 基于大数据的医疗信息管理系统 |
CN106790141A (zh) * | 2016-12-28 | 2017-05-31 | 芜湖乐锐思信息咨询有限公司 | 基于云计算的新型道路交通资源管理信息系统 |
CN106485925A (zh) * | 2016-12-28 | 2017-03-08 | 芜湖乐锐思信息咨询有限公司 | 基于数据简约处理技术的交通信息系统 |
CN106485932A (zh) * | 2016-12-28 | 2017-03-08 | 芜湖乐锐思信息咨询有限公司 | 高效路径管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103078709B (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103078709A (zh) | 数据冗余识别方法 | |
CN103888317B (zh) | 一种协议无关的网络冗余流量消除方法 | |
US20170195699A1 (en) | Image Transmission Method and Apparatus | |
CN104407879B (zh) | 一种电网时序大数据并行加载方法 | |
US10198454B2 (en) | Quality score compression for improving downstream genotyping accuracy | |
CN105653484A (zh) | 一种数据分块压缩多通道传输方法 | |
CN103346902B (zh) | 数据采集调度的方法及系统 | |
CN104199942B (zh) | 一种Hadoop平台时序数据增量计算方法及系统 | |
CN106066818B (zh) | 一种提高重复数据删除备份系统恢复性能的数据布局方法 | |
CN102467571A (zh) | 重复数据删除的数据区块切分方法与新增方法 | |
CN106202213A (zh) | 一种fpga二进制文件压缩、解压方法及压缩、解压装置 | |
CN101968796A (zh) | 一种双向并发执行的文件级可变长数据分块方法 | |
CN103701469A (zh) | 一种大规模图数据的压缩存储方法 | |
CN104317676A (zh) | 一种数据备份容灾方法 | |
CN104104621A (zh) | 一种基于非线性降维的虚拟网络资源动态自适应调节方法 | |
CN101777075A (zh) | 并行音频指纹检索方法 | |
CN111555984B (zh) | 用于数据传输的方法及装置、智能家居设备、存储介质 | |
EP3926453A1 (en) | Partitioning method and apparatus therefor | |
CN104753626A (zh) | 一种数据压缩方法、设备及系统 | |
CN104346347A (zh) | 数据存储方法、装置、服务器及系统 | |
CN103064935B (zh) | 一种多媒体数据并行处理系统及方法 | |
EP2884453A1 (en) | A computer implemented method, a system and computer program product for partitioning a graph representative of a communication network | |
CN103226858A (zh) | 蓝牙配对信息的处理方法及装置 | |
CN104679905A (zh) | 一种基于云存储的高速存储系统 | |
JP2015141550A (ja) | 工事スケジュール作成システム及び工事スケジュール作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |